首页
社区
课程
招聘
[原创]用CRC编解码矩阵的概念任意制造CRC碰撞
发表于: 2009-7-21 02:11 51704

[原创]用CRC编解码矩阵的概念任意制造CRC碰撞

2009-7-21 02:11
51704
收藏
免费 7
支持
分享
最新回复 (81)
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
51
欢迎继续拍砖,菜农不怕这些,俺的特长就是不怕拍~~~

21IC 人物志
cxjr 发表于 2005-5-19 11:21:00  阅读全文(2826) | 回复(0) | 引用通告(5) | 编辑
[LEFT]《21IC 人物志》
此贴曾经发表在21ICBBS
*********************************************
1. hotpower 篇
*********************************************
在21ICBBS上,匠人能记住的英文或拼音字母组成的ID不多.hotpower便是其中记得最牢的一个.所以不妨先拿hotpower开涮.

说实话,匠人一直不明白"hotpower"这个单词的含义.只好把它拆开来理解成"热电源",或理解成"炎手可热的权力".  :-)

用"炎手可热"来形容hotpower似乎不太恰当,但如果用这个成语来形容他老人家的帖子,则再恰当也不过了.以至于有一段时间,匠人上网唯一能干的事情就是搜索hotpower的帖子,然后先给它加上裤子,再慢慢阅读内容.

hotpower最大的兴趣大概就是灌水了,这一爱好对于一个17岁的光头少年来说非常正常,但对于一个不惑的老头来说则有点令人不可思义.要知道,灌水并不难,难的是把坛子灌翻;把一个坛子灌翻也不难,难的是把所有坛子都灌翻;偶然把所有坛子都灌翻也不难,难的是长年累月把所有大大小小的坛子都灌得水漫金山,那才是很难很难的啊!而更难得的是,hotpower灌了这么多水,居然还能保持其帖子的含金量.那可是最难最难的啊!

不知道hotpower是否信宗教,但他喜欢把所有的斑竹都称为教主.以至于斑竹们见了他就绕着走,免得被他"教主"长"教主"短叫得让人以为是***残余分子. :-)

hotpower有个优点,就是不太生气记仇(这也是匠人先拿他开涮的理由之一).有时被网友们拍了砖,他顶着一头的砖头渣子却一点事也没有,照样谈笑风生.好像那砖头拍在别人头上似的.更绝的是有一回被所长抓做典型批斗.吊在墙头三天三夜.一帮兄弟都愤愤不平的要为他讨回公道.他自己倒和所长侃得热火朝天了.这种气度,实在是值得白沙兄好好学习.

*********************************************
2. 雁舞白沙 篇
*********************************************
匠人对白沙的好感,最初是源自对"白沙牌"香烟的好感.所以对这个ID有股天然的亲切感.呵呵!
白沙是个热心人.他不但把自己的程序无私奉献.还把别人的程序也无私转贴.可惜他时运不济,正赶上那几天刀客心情不好.以为他作弊,一刀下去把帖子喀嚓了.亏得匠人眼疾手快,拿网又给捞回来.就这样,熟悉了.不过匠人却为此开罪于自家老大了,呵呵.
白沙兄的签名比较有个性:一排整齐的篱笆围着一栋小巧精致的房子,远看像养鸡场,近看像鸡舍.小鸡养大后,白沙兄的签名就变成了4只烧鸡.烧鸡吃完后.白沙兄的签名又恢复为鸡舍了. :-)
白沙兄大概有过一段坎坷的人生道路.所以有一段时间对女性的态度比较偏激.但现在总算重新回到了人生轨迹.匠人在此深表祝福!

*********************************************
3. 柔月 篇
*********************************************

柔月是谁?

如果你不知道21IC.COM,那不稀奇;但如果你知道21IC.COM却不知道柔月是谁,那可就是----稀奇稀奇真稀奇了!
长久以来,匠人一直怀疑,柔月是否真有其人.而众网友则更对柔月的PP(注1)感兴趣.毕竟谁也不希望自己讨好了半天的对象是个恐龙.而柔月的PP非常漂亮.虽然那不是她的本相,但还是把众人看得直流口水.
柔月的E文功底奇好.她生气时就要用E文骂人,常骂得那些E文不好的色狼们一愣一愣的.不过好在她并不经常生气.其实,柔月还是蛮好相处的.她和谁都能聊得上.你只要对她说"老师是人类灵魂的工程师,我最喜欢老师了!",立马把她哄得眉开眼笑,说不定还会有片刻的冲动想嫁给你呢.因为她就是个准老师!

柔月的偶像不是蔡国庆,也不是蔡明,而是北大的老校长蔡元培.如果你打算向柔月套近呼,一定要先将老校长的生平典故记住再上.千万别把无知当有趣,说什么"蔡元培是谁?他又不认识我,我干吗要认识他?"之类.----嘿嘿,因为匠人那时就是这么说的.
柔月是大众情人,是属于大家的.如果谁稍微和她亲近一些,立马会被其他光棍们乱砖劈死.不过偌大一个21IC网站里居然只有一位大众情人,这可实在是件令人沮丧的事情.可见电子工程师里的男女比例失衡,已经到了一个非常恐怖的程度.

(注1:PP是指照片,不是指屁屁,勿要理解错误,呵呵!)
*********************************************
4. highway 篇
*********************************************
highway是位旗手.他扛的旗帜上写着四个大字----"抵制日货".他的出名源于他的执着.因为他要么不发言,发言必反日.highway可以给你一千个反日的理由.
----反日需要理由吗?
----不需要吗?
----需要吗?
----不需要吗?
  
highway有一批人数众多的支持者.当他们聚在一起时,显得声势非常浩大.另一批同样众多的人则充当了他的反对者.

这符合民主社会规律.即任何事物都应该有反对它的理由.有日货,就有人选择反日;有人反日,就有人选择反反日.从而取得生态平衡.
据说highway的对手是CCCP.现在CCCP走了.没有了对手的highway显得有些落寞.无聊时只好随便抓个ID过来,当作CCCP批一顿过过隐.可惜那些替罪羊都没有CCCP的实力.往往招架不住,只好把自己的马甲换了偷偷再来.于是highway又养成一个习惯,就是专抓马甲.
*********************************************
5. CCCP 篇
*********************************************
CCCP是一个传说......
CCCP是被争议最多的一个ID.有人将他奉为敢想感说的英雄;也有人认为他是个满嘴脏话的家伙.

记得在一部电影里,周星驰把海里的鱼都骂得翻了肚皮,这种骂功堪称一绝,但和CCCP的骂功相比,则是"小圬"见"大圬".那时常见CCCP骂人.而且每次都不重样!

但CCCP突然就消失了.如果不是他留下的那些经典骂贴的话,好像从来没有过这个人一样......有人传说他被国安抓了,当然这只是谣传而已

CCCP走了.却仍然被他的"朋友"和"敌人"记挂在心.以至于每过一段时间就会出现一个冒牌的"C3P"之类的ID,然后被众人乱刀砍死.

在产业论坛,如果你要捧一个人,或想损一个人,都可以把他比作CCCP.
*********************************************
6. 王奉瑾 篇
*********************************************

在21IC上,姓王的网友太多了,但是,如果有人跟你提到"老王",那铁定不是指别人,而是指"王奉瑾"。就像相声界提到"牛哥"那铁定是指"牛群",或演艺界提到"波霸"那铁定是指"叶子楣"一样。老王得以独占此姓,自有其称王称霸的理由。
老王是21IC的一棵常青树,那可是骨灰级人物啊。想当年匠人刚入此坛见人就作揖还动不动就被斑竹们踢到新手园地的时候。老王已经名满江湖了。那时候老王好像蛮喜欢转贴些电源方面的文章,并因此赚了好多条裤子。由于年代久远,那些裤子究竟是他以权谋私自己缝制的,还是其它斑竹官官相护贿赂的,这就无从考证了。
老王是个性情随和的大侠,不象其他高手那么喜欢玩性格,即使被旁人调侃几句也不会大动肝火,哼哼几声也就罢了。他要是看到哪里有网友在掐架,一般都会星夜赶去拉架,两边哄哄拍拍立马平息纠纷。可见这位和事佬的人缘不错,当然,你也可以认为他有点圆滑世故或老奸巨猾。:—)
老王比较热衷于筹划武林大会。早几年大概搞过几次。今年本想再次召开南方武林盟会。此事筹备得声势浩大,差点没有惊动国家安全局。据说还请了柔月姑娘担当主持司仪,许多网友为了一睹羊城第一美女的芳容,纷纷省衣节食地筹路费和门票费。然而好事多磨,后来听说赞助商釜底抽薪取消了赞助,此事遂胎死腹中矣。
(注:由于匠人已经写了匠人自传,故原先由"sasinop"网友所写的第6篇(就是吹捧匠人的那篇)就显得重复了.现将老王篇替换上来.凭老王的吨位,大概不会有人不服吧......在此向sasinop道个歉先.)

*********************************************
7. 电子小虫 篇
*********************************************

电子小虫是个悲情人物.这可能和他的ID有关系.因为在弱肉强食的动物世界里,"小虫"是渺小的;而"电子"则更加渺小----即使在微观的粒子世界里.所以"电子小虫"这个ID总让人联想起芦柴棒、祥林嫂、阿Q、或郑智化歌里的那些社会底层挣扎的小人物们。

高昂的上海房价是小虫心中永远最大的痛。。。。。。这种痛体现在了他的帖子里。

小虫一直在努力地唱衰上海的房价,唱衰上海的经济,唱衰上海。他把上海描述成一个没有人情,没有希望的城市,希望吓跑其它打工者和投资者,好让他能买得起房子。但他自己却无法离开这座令人浮躁的城市。那些住着大房子的人们常用这一点来攻击他:“你不喜欢上海为什么不离开?”,就好象地主的儿子问“穷人没饭吃为何不吃肉?”一样。由此可见中国的社会已经分化到了一个多么“结棍”(注1)的程度了。

小虫成为一个符号,映射着中国千千万万的异乡打工者,他的帖子往往引发许多无房者的共鸣。但遗憾的是房价还是在升,一点崩盘的迹象都没有出现。每次看到小虫的帖子,就想起郑智化的歌:“给我一个小小的家,小小的家,能挡风遮雨的地方,不需要太大。。。”

(注1:“结棍”:沪语,厉害的意思。)

*********************************************
8. 刀客 篇
*********************************************
如果你只看他的照片,你会以为他是个醉猫;但如果你真以为他是个醉猫,你就错了。。。

真正的侠者都是深藏不露的。
他从不轻易发言。。。他如果要发言,就用他的大砍刀来发言。。。。

大砍刀,长三尺三寸,重三百斤,它奇妙之处在于一刀砍去,可以将那些口水贴、烂贴、广告贴、骂架贴,通统喀嚓。程序匠人当年为天下武器排座次,大砍刀便是第三位。

当你以为他不在时,他已经来了;当你觉察到他来了时,他已经走了。十步杀一人,千里不留行,事了拂衣去,深藏功与名......

他是谁?

--他就是“砍弹片鸡”坛 掌门人刀客。
*********************************************
9. 万寿路 篇
*********************************************
匠人出个上联请大伙来对下联。上联是“替罪羊”,下联是什么?

--“万兽鹿”?晕!你怎么会想到这个ID? 简直就是。。。简直就是和匠人想到一块去了。^_^

据说,如果你要整治谁,就把他放在铁板上,然后在铁板下生火。在21ICBBS,也有这么一块铁板。这块铁板的正式名称就叫“产业论坛斑竹宝座”。坐在这块铁板上的不是别人,就是本篇的主角儿--万寿路先生。
之所以说那个宝座是块灼人的铁板。盖因为产业论坛乃是非之地。各种观点在那里碰撞,而这些观点中,难免会有些出格的内容。出格的内容应该删除,这是斑竹的职责所在。当网友们发现自己的帖子被喀嚓了,难免大惊,大惊继而大怒,大怒继而大叫,大叫继而大骂。而这大骂的对象就是铁板上端坐的万寿路先生。在21ICBBS多数板块里,都人浮于事地设有多位斑竹,唯独产业论坛只有一人顶缸。这么看来,用“万兽鹿”对“替罪羊”倒是非常贴切的了。

万斑竹有个绝技,就是扫贴。据说有一次刀客和他比赛删贴。一个小时下来,刀客才删了2篇帖子,再看回收站里,已经被万斑竹踢出来的帖子堆得尸横遍野了。刀客问他是如何做到的。只见万斑竹神秘笑道:“你用砍刀,而我用的是扫帚,你说,谁速度快?”刀客遂甘拜下风。
扫贴太多,难免惹下“仇家”。于是万斑竹养成了昼伏夜行的习惯,每天太阳不下山,坚决不上网。这几年下来为21IC值了不少夜班,却没领到一分钱夜班费。

什么?你就是老万的仇家?那你就在凌晨1点上网去堵他吧,保管你一堵一个准。--可千万别说是匠人告的密哦!

*********************************************
10. 碧水长天 篇
*********************************************
长江后浪推前浪,前浪倒在沙滩上;世上新人换旧人,旧人进了回收站。21ICBBS老一代东邪西毒们纷纷隐退江湖,留出空间让新一代青年才俊们闪亮登场。

几乎一夜之间,论坛里便窜出了个红人。谁呀?本版新任斑竹碧水长天呗。

说他红,一点不为过。要知道匠人当初可是在灌了多少水后,软磨硬泡又打躬又作揖的,才在老斑竹平凡老师退休后顶替进来,混了个三副的闲职。而长天兄仅凭一篇帖子就博取了21IC的信任,立马委以重任,将个正处级中层干部的位置分派给了他。把匠人活活羞煞。按说吧,这光当上斑竹也不算能耐,但人家把这店铺收拾收拾粉饰一新,笑迎八方海纳百川,客流量直线上升。将原本一个门可罗雀的门面搞得红红火火,抢了产业论坛不少老主顾生意,气得老万吹胡子瞪眼睛。这可就是能耐了。

不但如此,长天兄还本着立足本版,放眼全坛的精神,到别的版面友情客串。在PIC版面大放光华。弄得人家斑竹无以回报,想以身相许吧可惜又是同性。只好拿出珍藏多年的江湖中人人眼红的武功秘笈相送。长天兄得此宝书后,武功更是再上一层黄鹤楼,红得发了紫,紫得发了黑,黑得发了亮。
按说象这么个意气风发年轻有为的江湖新秀,多少可以持才自傲了吧。嘿,长天兄还就是玩起了谦虚。见了谁都是客客气气的,“大侠”长“前辈”短的叫唤,叫得人家无地自容。最近更是放言在21IC拜了位师傅,俨然一副心甘情愿要认贼作父的样子。拜就拜吧,他又不说是谁。这下可炸了窝。众人纷纷打听:“谁这么误人子弟不负责任地收徒弟?”,害得21IC上人人自危,那些有两把刷子或没两把刷子的主纷纷诅咒发誓地辨白,说自己最近没有收过徒弟。

这么一闹,居然又闹成了社区热点。你说他红不红?
*********************************************
11. 忘情天书 篇
*********************************************
天书是个苦命的孩子。记得他刚来时,见人就控诉他那不良老板的万恶罪行。众人都为之捐一把同情之泪,并为其出了不少馊主意。后来他换了个老板解脱,这事才算不了了之。

天书是个勤奋的孩子。有一段时间,论坛里盛行出个人专集,他看到匠人把自己的《大话篇》装订成册到处派发,羡慕得不行,立马回家闭门造车地写了十多集《天书文集》,然后象贴老军医广告似的贴得产业论坛小区里到处都是。匠人闻讯后忙屁颠屁颠地跑到那个小区去拜读。你还别说,那文集不但贴得象老军医广告,居然连内容也象极了老军医广告。因为里面充斥了一些对跟肾有关的毛病的介绍。

天书是个顽皮的孩子。那次匠人正背着自家老大偷偷打捞白沙兄的帖子残骸,他狐假虎威地喊了声“刀客来了”,吓的匠人丢盔弃甲兼屁滚尿流。。。。因为他太顽皮了,好像有一次还被21IC关了禁闭,多亏众人求情,才得以提前释放。

可能正是由于天书的苦命、勤奋和顽皮,所以他深得各大门派的掌门人和长老们的喜爱,纷纷向其传道授业解惑,并亲切地称其为“小田鼠”。把他那些未得宠的同辈们妒忌得两眼喷火,纷纷造谣说他是“×××的最爱”。这样的传言各位最好不要传到他耳朵里,毕竟在现存的中国社会里,××恋还是个敏感的话题。他要是知道是匠人泄了他的底,说不定有会出个什么《天书续集》,把所有跟肾有关的毛病都安在匠人身上了。那匠人可消受不了。嘿嘿。。。。

*********************************************
12. 张明峰 篇
*********************************************
张明峰--这可不是一个普通的ID。因为他用了自己的真名,这在BBS上是非常少见的。因为只有一个敢对自己所有言行都负责的人才敢用自己的真名上网。不信你随便去逮个ID问他:“嘿,伙计,告诉我你的尊姓大名家庭地址邮编电话银行帐号吧?”--保管让人家以为你是公安局卧底来抓坏蛋,吓得立马拔网线走人。

所以,当匠人想写他的传记时,不由地慎之又慎。如果是件普通马甲,拿来涮涮没关系,但真实姓名受之父母,咱总不能随便调侃吧?再说了,他的那些忠实客户也不会答应呀。

为了更好地刻画这个人物,匠人还特意去搜索了他以往帖子,以期能挖掘些有关他的轶闻趣事以嗜读者。这一锄头挖下去还真发现了个奇迹。。。。。。

话说这网上,有一种帖,匠人称之为“口水贴”。这口水贴,比那一般的灌水贴还下一等。因为其只有标题没有内容,而且连标题也是废话,言而无物,形同口水,故得此名。

但匠人却发现,张工上网若干载,从未吐过一口口水(堪称上海文明市民标兵)。他的所有帖子都是在回答或讨论网友们的各种各样千奇百怪五花八门的技术问题。别说没有口水贴,连灌水贴都没有呢,你说是否奇迹?如此一个敬业的人,不愧是21IC所有斑竹的榜样啊!也难怪当他卸任时,有那么多网友自发地哭着喊着跪着拦着威胁着不让他走,场面浩大得让人想起了十里长街送总理!那个让人感动啊。。。咳,要是匠人哪天被21IC炒了鱿鱼,哪怕有一个人愿意为我自焚请命,我就是死也瞑目了。。。

不过,不幸中的万幸,张工临走时为21IC物色了一名和他同样热情的接班人。从此,PIC菜鸟和老鸟们终于可以紧密团结在以新斑竹为核心的PIC论坛周围,高举。。。(就此打住!嘿嘿,咱还是别触了张工的霉头。要侃咱还是下回另找个马甲来侃吧。)

*********************************************
13. 平凡 篇
*********************************************
当周老师穿上粉尘扑扑的教袍走上讲台时,他也许只是一位平凡的老师;但是当他换上那件平凡的马甲登陆网络时,他就不再是一个平凡的网民了。。。。。。
在这个高手如云,泛滥得多如驴毛的网络时代,一块转头拍下去兴许都能拍到七八位大侠。他的不平凡不在于他的武功有多高强,而在于他的无私渡人的美德,或者说是在于他的那本在网上广泛流传的《平凡的单片机》。其受菜鸟欢迎之深,恐怕只有明末清初的那些黄色手抄本可以比肩。

要说那本书吧,其内容倒也稀松平常,并没有记载什么绝世武功(如果你是高手,我劝你就不要看了,免得看了犯困)。但那却是一本非常适合新手入门的单片机教材,循序渐进,浅显的理论与简单的实践相结合且相得益彰。最关键的是,它是免费的午餐,许多网站都有下载。
网龄稍长的网友一定记得,平凡老师曾是侃单片机版的二当家。可惜他老人家现在已经闭关修炼多年,不问世事了。偶然登陆BBS,也只是昙花一现。害得各位久仰其名的菜鸟们牵肠挂肚朝思暮想。不过听说平凡最近出了本加强版的《平凡的单片机》,正在书店热卖,各位不妨去书店找找。他那本书名是——我就不告诉你,让你急!
——什么?你真想知道,那我也不能告诉你,免得让人以为匠人是“托”,嘿嘿!

*********************************************
14. zenyin 篇
*********************************************
zenyin是位高手,同时也是位神秘的人物,或者说,他(她?)是一个谜。

他的第一个谜是关于他的眼睛,匠人怀疑他的眼睛具有显微镜的功能,他能看到别人看不到的细节。比如说吧,当你看到一个汉字时,他看到的却是一组笔画而已。由于拥有这项特异功能,所以他常把自己装扮成一个拆字先生。

他的第二个谜是关于他的性别,虽然他声称自己是雄性,但网上关于他性别的猜测从来都没有中止过。

他的第三个谜是关于他的去向,曾经有一段时间,他在坛子里非常活跃。但突然间就蒸发了。许多人坏疑他还在坛子里,甚至有人猜测hotpower就是他的马甲。这事情在没有得到zenyin或hotpower承认(或否认)之前,当然是无法考证的。唯一能够确认的是,hotpower是在zenyin消失前后才来的。

*********************************************
附记1. 匠人自传 篇
*********************************************
匠人虽说比较厚颜,但也不敢自称“人物”,与那各路牛鬼蛇神并列于封神榜上。再说前面有那好心的网友已经写了一篇匠人志,把匠人吹的天花乱坠。匠人实在不敢再为自己作锦绣文章了。故此篇权当作者自传,放于附记里吧。。。

记得曾经有位网友问匠人:“你最熟悉的语言是C还是ASM?”。匠人答曰“都不是,匠人最熟悉的语言应该是母语——汉语。”网友闻言后撅倒。。。。。。
匠人十几岁时开始写科幻小说(至今还敝帚自珍地保留了半部十多万字的手稿呢);后来匠人发现写小说太累,就改行写诗(还拿过几次稿费呢,就是太少了些,每次领了钱请小友撮一顿阳春面还得倒贴若干);匠人发现写诗老是亏本,遂又改行写程序,从此一发不可收拾至今。要说这写程序吧,和写其它东东倒也有些共通之处,无非也就是先立意规划,后付诸文字,再加以润色修改而已。

人生最大的幸事有两件。其一,是可以做自己喜欢做的事情;其二,是做自己喜欢的事情还能赚到足够养活自己的money。匠人得此两件,不亦乐乎,除了焚香感谢上苍好生之德,倒也别无它求了。

如果你的芯是一座作坊,我愿做那不知疲倦的程序匠。。。就此收笔,免得有自吹之嫌。。。。。。

*********************************************
附记2.    程序匠人  篇(作者:sasinop)
*********************************************
程序匠人   
何许人氏? 不详
身高七尺,才高八斗,学府无车,躬身于21IC ,在此一亩又三分的地,勤于著书立传,而不求闻达,独立于旷世.
与时具进,牢记THREE代表的伟大思想,高举'打P'的伟大旗帜!被21IC委员会授于新时代的 '打P' 突击手.
做为一个写程序的泥瓦匠,在'打P'领域成绩斐然,令21IC公民不能望其颈背.大旗挥挥,众P友欣然之

纯属娱乐
*********************************************
附记3.    程序匠人  篇(作者:xieyuanbin)
*********************************************
看起来匠人是个上海人,抑或在上海工作?的确非凡.

打工的中,有徒弟,师傅,匠人,还有工程师,大师,匠人自称为匠人,看起来很是自谦.

偶老家是做茶壶的基地,茶壶做得差的,1-2块钱一把,粗陶毛坯,这种人,可以叫徒弟,也可以叫工人.茶壶做得好的,精雕细刻,卖起来几万几十万一把,这种人,叫作大师;想必,匠人那把锤子,一定是用来精雕细刻的.

每家装修的时候,都必定要请匠人来做工,偶家装修的时候就请过,后来偶把这些匠人分为两种,一种是什么都要主人作主,主人怎么说,匠人怎么做,能凑合的地方尽量凑合,这里差一点没关系,那边少一点也没关系,事后也许能够想些补救的措施,也许就这样算了,人也好讲话,工钱也"公道",主人乐得清闲,但东西做出来问题多多,烦恼多多.另一种匠人告诉主人应该怎么作,不应该怎么做,有的事绝对不做,对材料的要求也极挑剔,工期也长,主人不胜其烦,不过后来算算,挑剔的匠人省的材料钱比多付给他的工钱要多很多.
看匠人斧凿的痕迹,匠人那把锤子,应该是主人不好摆布的.

匠人的自画像,也许就像他本人,是生了根的.

*********************************************
14.     waterchow 篇(作者:溺水的鸭子)
*********************************************
一个普通的英文ID,waterchow——英文名+本姓周(chow),一个普通的昵称:“水水”。

Waterchow有一个普通的幸福的三口之家。Waterchow是一个普通的男人,他爱自己的家,爱自己的妻子(chow嫂也算同行,并在21ic有ID),爱自己的儿子。Waterchow在论坛发了不少自己家人的照片,人总是愿意展示自己觉得快乐的一面。Waterchow和家人一起很开心,张张照片中洋溢着发自内心的幸福感。Waterchow以自己儿子为骄傲,因为小水水天真顽皮又爱笑,而且比他长得帅。

就像大多数电子工程师一样默默过着自己的小日子,没有太多的渲染,如同一幅简简单单的水墨山水画。每天在论坛和网友讨论讨论技术,灌点水水,很平淡的论坛作风。平平淡淡,才是真。

*********************************************
15.    十步杀一人  篇(作者:雁舞白沙)
*********************************************

不知道大家是否知道这个“十步杀一人”?
他,来这里可是很久以前的事情了。如果说是21IC里面的高手,我相信大家还是不知道。可是在一段的实际工作中,我们的配合可以说是我一生中最好的合作伙伴!
我来讲讲这位大虾的风度
1)谈话幽默
2)工作负责
3)人老心不老(大家不要误会,我说的是性格比面像要小)
先说幽默:此人谈话之中夹杂着武功的招式,经常开口就是“敢问兄台,少林十八掌如何修炼,是否需要乾坤九九八十一式的协助?”
偶只能回答“兄台,少林十八掌,需要去掉一个NOP,九九八十一式,还是中断的好”
再谈工作:记得有年,外面下着大雪,办公室因为以外没有暖气,只见大虾,静坐其位,气沉丹田,口吐仙气,手出鹰爪,在键盘上默默的耕耘!问其何故,其曰“阴阳不和,需要调教”
所谓人老心不老:过年大概40了吧?不是很清楚。但总是和单位的小兄弟,磨掌擦拳!不时的来点武功招式!哦,对了,武功招式,其实就是一个人说一句话,最后的一句肯定是HS的!引的大家哈哈大笑!
以上是对十步杀一人的个人评价。如果十步杀一人看到,不对的地方还望见凉!(至于降龙十八腿,我看还是免了!改天见面咱们再切磋!)
[/LEFT]
2009-7-25 02:30
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
52
味道出来了.  来个猛一点的.
你上面的明文=3C4DE0E9B2B1E075671281DEF4E6BC3D
算出来的CRC64值跟这个不一样.  应该是你说的权数不同的关系吧.
你能搞成跟这个一样的计算结果吗?
上传的附件:
2009-7-25 02:38
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
53
这没什么“猛的”,对于我来说,已经证明:
“CRC碰撞”就是在某一权值及方向下的CRC解码矩阵的列坐标(密文)与行坐标(初值)和矩阵元素(明文)
的交叉关系。
由于标准的CRC的初值恒为0,故实际只是碰撞期望值(明文)=碰撞列(密文)在0行对应的矩阵元素

在CRC4下,每个矩阵有16列,即有16行对应的16个元素,即16次碰撞。
在CRCN下,每个矩阵有2^N列,即有2^N行对应的2^N个元素,即2^N次碰撞。

这是数学界也没找到的“CRC编解码矩阵与CRC碰撞之间的关系”。

“CRC编解码矩阵”是菜农首先发现的“名词”,可以到网上搜索一下。
因为菜农早已解决了CRC“半可逆”的问题,故有“编码”和“解码”问题的提出。

让菜农找任何权值下的“碰撞”不难,难的是首先要确认权为多少,即CRC多项式是什么。
即碰撞发生在哪张“CRC编解码矩阵”中,这是你所给的CRC64即密文或校验和

对于菜农只是在此“CRC编解码矩阵”找行列关系而已,实为“小儿科问题”。

http://www.hotc51.com/HotPower_HotWC3.html本身就是为CRC碰撞做的。

若想让我完成你的“猛”,就应该敬业些:
1.给出贴图。(数据应该以文本方式贴出来,长数据如何从图中取出,虽有工具可取)
2.介绍此CRC的多项式。
3.给出CRC
4.我会立即给出你2^N个碰撞的第一个值。

数学界的“CRC碰撞”,由于都是在初值、权及方向确定时,不同明文得到相同的校验和。
为区分这种简单“碰撞”,菜农定义它为“CRC明文碰撞”。

当确定一对明文和密文(此时就是CRC校验和)由什么CRC密钥(初值、权及方向)组成时,
将发生“CRC密钥碰撞”。

后者的碰撞次数固定为2^N次,前者的碰撞次数最少(2个明文组)为2^N次。
2009-7-25 08:26
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
54
伪造实际很容易:图中的CRC64不知是何种???具体些,像CRC64-ECMA就很明确

入值=0000000000000000
出值=EE2939579550E938(伪造一个)
初值=0000000000000000
权值=42F0E1EBA9EA3693 CRC64= EA7438964D2F9734

明文1=3C4DE0E9B2B1E075671281DEF4E6BC3D
密文1=0123456789ABCDEF045D01C1D87F7E0C
CRC64= EA7438964D2F9734

至于CRC64_ecma我需要知道它的权值

实在找不到里面的CRC64,CRC64_ecma那里都有
http://zh.wikipedia.org/wiki/%E5%BE%AA%E7%92%B0%E5%86%97%E9%A4%98%E6%A0%A1%E9%A9%97
2009-7-25 11:04
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
55
找到CRC64-ECMA-182:
/// <summary>
/// CRC-64  CRC-64-ECMA-182
/// 0x42F0E1EBA9EA3693  =  x^{64} + x^{62} + x^{57} + x^{55} + x^{54} + x^{53} + x^{52} +
///          x^{47} + x^{46} + x^{45} + x^{40} + x^{39} + x^{38} + x^{37} + x^{35}
///         + x^{33} +x^{32} + x^{31} + x^{29} + x^{27} + x^{24} + x^{23} + x^{22} +
///         x^{21} + x^{19} + x^{17} + x^{13} + x^{12} + x^{10} + x^9 + x^7 + x^4 + x + 1
/// </summary>
public ref class CRC64_ECMA:CRC<UInt64>
{
public:
  IMPLEMENT_GETCRC(UInt64)
protected:
  //初始化crc设置
  virtual void InitCRCSettings() override
  {
   m_order = 64;
   m_polynom = 0x42F0E1EBA9EA3693;
   m_crcinit=0xFFFFFFFFFFFFFFFF;
   m_crcxor=0xFFFFFFFFFFFFFFFF;
   m_refin = 0;
   m_refout = 0;
   m_direct = 1;
  }
};
}}}

随意得到:

方向=CRC64左移
入值=FFFFFFFFFFFFFFFF
出值=FFFFFFFFFFFFFFFF
初值=0000000000000000
权值=42F0E1EBA9EA3693(上面程序的多项式)  CRC64= C299571E3083FB9B

明文1=3C4DE0E9B2B1E075671281DEF4E6BC3D
密文1=FD8FFBDAD09A647D3D66A8E1CF7C0464
CRC64=                C299571E3083FB9B

菜农只差crc64没过招了~~~

http://www.hotc51.com/HotPower_HotWC3.html已升级到V3.02支持CRC64-ECMA

V3.01只要点击入值和出值后的“取反”键即可。

实际没什么“猛”的,对菜农来讲只是琢磨到CRC密钥(初值、权及方向),而一般数学上CRC的初值恒为0,才能进行长除法运算。

在CRC研究方面,菜农绝不低于地球上任何人~~~
2009-7-25 11:12
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
56
不要问你了.
外行来写个总结, 不然大家看不懂.
结论: 可以碰. 但是什么 目'科'类'种 都要知道了才能碰.
优点: 非爆力列举.

PS. 上面写的外行是指我. 不要又误会了.
     48楼说的:写个exe" , 并非指怀疑你的编程能力.
2009-7-26 02:21
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
57
看你 crc64-ecma 的源码找得辛苦...
我52楼那个软件支援96种算法. 附整套软件的 source code.
下面是 CRC64 及 CRC64-ECMA 的 source code.

有兴趣的话去官方网站下载吧 http://fsumfe.sourceforge.net/index.php

CRC64-ECMA
module fsumfe.digest.algo.crc64_ecma;

import fsumfe.digest.digest;

public final class CRC64_ECMA: Digest {
    private final long crctab[256] = [
		0x0000000000000000L, 0x42F0E1EBA9EA3693L, 0x85E1C3D753D46D26L, 0xC711223CFA3E5BB5L, 0x493366450E42ECDFL, 0x0BC387AEA7A8DA4CL,
		0xCCD2A5925D9681F9L, 0x8E224479F47CB76AL, 0x9266CC8A1C85D9BEL, 0xD0962D61B56FEF2DL, 0x17870F5D4F51B498L, 0x5577EEB6E6BB820BL,
		0xDB55AACF12C73561L, 0x99A54B24BB2D03F2L, 0x5EB4691841135847L, 0x1C4488F3E8F96ED4L, 0x663D78FF90E185EFL, 0x24CD9914390BB37CL,
		0xE3DCBB28C335E8C9L, 0xA12C5AC36ADFDE5AL, 0x2F0E1EBA9EA36930L, 0x6DFEFF5137495FA3L, 0xAAEFDD6DCD770416L, 0xE81F3C86649D3285L,
		0xF45BB4758C645C51L, 0xB6AB559E258E6AC2L, 0x71BA77A2DFB03177L, 0x334A9649765A07E4L, 0xBD68D2308226B08EL, 0xFF9833DB2BCC861DL,
		0x388911E7D1F2DDA8L, 0x7A79F00C7818EB3BL, 0xCC7AF1FF21C30BDEL, 0x8E8A101488293D4DL, 0x499B3228721766F8L, 0x0B6BD3C3DBFD506BL,
		0x854997BA2F81E701L, 0xC7B97651866BD192L, 0x00A8546D7C558A27L, 0x4258B586D5BFBCB4L, 0x5E1C3D753D46D260L, 0x1CECDC9E94ACE4F3L,
		0xDBFDFEA26E92BF46L, 0x990D1F49C77889D5L, 0x172F5B3033043EBFL, 0x55DFBADB9AEE082CL, 0x92CE98E760D05399L, 0xD03E790CC93A650AL,
		0xAA478900B1228E31L, 0xE8B768EB18C8B8A2L, 0x2FA64AD7E2F6E317L, 0x6D56AB3C4B1CD584L, 0xE374EF45BF6062EEL, 0xA1840EAE168A547DL,
		0x66952C92ECB40FC8L, 0x2465CD79455E395BL, 0x3821458AADA7578FL, 0x7AD1A461044D611CL, 0xBDC0865DFE733AA9L, 0xFF3067B657990C3AL,
		0x711223CFA3E5BB50L, 0x33E2C2240A0F8DC3L, 0xF4F3E018F031D676L, 0xB60301F359DBE0E5L, 0xDA050215EA6C212FL, 0x98F5E3FE438617BCL,
		0x5FE4C1C2B9B84C09L, 0x1D14202910527A9AL, 0x93366450E42ECDF0L, 0xD1C685BB4DC4FB63L, 0x16D7A787B7FAA0D6L, 0x5427466C1E109645L,
		0x4863CE9FF6E9F891L, 0x0A932F745F03CE02L, 0xCD820D48A53D95B7L, 0x8F72ECA30CD7A324L, 0x0150A8DAF8AB144EL, 0x43A04931514122DDL,
		0x84B16B0DAB7F7968L, 0xC6418AE602954FFBL, 0xBC387AEA7A8DA4C0L, 0xFEC89B01D3679253L, 0x39D9B93D2959C9E6L, 0x7B2958D680B3FF75L,
		0xF50B1CAF74CF481FL, 0xB7FBFD44DD257E8CL, 0x70EADF78271B2539L, 0x321A3E938EF113AAL, 0x2E5EB66066087D7EL, 0x6CAE578BCFE24BEDL,
		0xABBF75B735DC1058L, 0xE94F945C9C3626CBL, 0x676DD025684A91A1L, 0x259D31CEC1A0A732L, 0xE28C13F23B9EFC87L, 0xA07CF2199274CA14L,
		0x167FF3EACBAF2AF1L, 0x548F120162451C62L, 0x939E303D987B47D7L, 0xD16ED1D631917144L, 0x5F4C95AFC5EDC62EL, 0x1DBC74446C07F0BDL,
		0xDAAD56789639AB08L, 0x985DB7933FD39D9BL, 0x84193F60D72AF34FL, 0xC6E9DE8B7EC0C5DCL, 0x01F8FCB784FE9E69L, 0x43081D5C2D14A8FAL,
		0xCD2A5925D9681F90L, 0x8FDAB8CE70822903L, 0x48CB9AF28ABC72B6L, 0x0A3B7B1923564425L, 0x70428B155B4EAF1EL, 0x32B26AFEF2A4998DL,
		0xF5A348C2089AC238L, 0xB753A929A170F4ABL, 0x3971ED50550C43C1L, 0x7B810CBBFCE67552L, 0xBC902E8706D82EE7L, 0xFE60CF6CAF321874L,
		0xE224479F47CB76A0L, 0xA0D4A674EE214033L, 0x67C58448141F1B86L, 0x253565A3BDF52D15L, 0xAB1721DA49899A7FL, 0xE9E7C031E063ACECL,
		0x2EF6E20D1A5DF759L, 0x6C0603E6B3B7C1CAL, 0xF6FAE5C07D3274CDL, 0xB40A042BD4D8425EL, 0x731B26172EE619EBL, 0x31EBC7FC870C2F78L,
		0xBFC9838573709812L, 0xFD39626EDA9AAE81L, 0x3A28405220A4F534L, 0x78D8A1B9894EC3A7L, 0x649C294A61B7AD73L, 0x266CC8A1C85D9BE0L,
		0xE17DEA9D3263C055L, 0xA38D0B769B89F6C6L, 0x2DAF4F0F6FF541ACL, 0x6F5FAEE4C61F773FL, 0xA84E8CD83C212C8AL, 0xEABE6D3395CB1A19L,
		0x90C79D3FEDD3F122L, 0xD2377CD44439C7B1L, 0x15265EE8BE079C04L, 0x57D6BF0317EDAA97L, 0xD9F4FB7AE3911DFDL, 0x9B041A914A7B2B6EL,
		0x5C1538ADB04570DBL, 0x1EE5D94619AF4648L, 0x02A151B5F156289CL, 0x4051B05E58BC1E0FL, 0x87409262A28245BAL, 0xC5B073890B687329L,
		0x4B9237F0FF14C443L, 0x0962D61B56FEF2D0L, 0xCE73F427ACC0A965L, 0x8C8315CC052A9FF6L, 0x3A80143F5CF17F13L, 0x7870F5D4F51B4980L,
		0xBF61D7E80F251235L, 0xFD913603A6CF24A6L, 0x73B3727A52B393CCL, 0x31439391FB59A55FL, 0xF652B1AD0167FEEAL, 0xB4A25046A88DC879L,
		0xA8E6D8B54074A6ADL, 0xEA16395EE99E903EL, 0x2D071B6213A0CB8BL, 0x6FF7FA89BA4AFD18L, 0xE1D5BEF04E364A72L, 0xA3255F1BE7DC7CE1L,
		0x64347D271DE22754L, 0x26C49CCCB40811C7L, 0x5CBD6CC0CC10FAFCL, 0x1E4D8D2B65FACC6FL, 0xD95CAF179FC497DAL, 0x9BAC4EFC362EA149L,
		0x158E0A85C2521623L, 0x577EEB6E6BB820B0L, 0x906FC95291867B05L, 0xD29F28B9386C4D96L, 0xCEDBA04AD0952342L, 0x8C2B41A1797F15D1L,
		0x4B3A639D83414E64L, 0x09CA82762AAB78F7L, 0x87E8C60FDED7CF9DL, 0xC51827E4773DF90EL, 0x020905D88D03A2BBL, 0x40F9E43324E99428L,
		0x2CFFE7D5975E55E2L, 0x6E0F063E3EB46371L, 0xA91E2402C48A38C4L, 0xEBEEC5E96D600E57L, 0x65CC8190991CB93DL, 0x273C607B30F68FAEL,
		0xE02D4247CAC8D41BL, 0xA2DDA3AC6322E288L, 0xBE992B5F8BDB8C5CL, 0xFC69CAB42231BACFL, 0x3B78E888D80FE17AL, 0x7988096371E5D7E9L,
		0xF7AA4D1A85996083L, 0xB55AACF12C735610L, 0x724B8ECDD64D0DA5L, 0x30BB6F267FA73B36L, 0x4AC29F2A07BFD00DL, 0x08327EC1AE55E69EL,
		0xCF235CFD546BBD2BL, 0x8DD3BD16FD818BB8L, 0x03F1F96F09FD3CD2L, 0x41011884A0170A41L, 0x86103AB85A2951F4L, 0xC4E0DB53F3C36767L,
		0xD8A453A01B3A09B3L, 0x9A54B24BB2D03F20L, 0x5D45907748EE6495L, 0x1FB5719CE1045206L, 0x919735E51578E56CL, 0xD367D40EBC92D3FFL,
		0x1476F63246AC884AL, 0x568617D9EF46BED9L, 0xE085162AB69D5E3CL, 0xA275F7C11F7768AFL, 0x6564D5FDE549331AL, 0x279434164CA30589L,
		0xA9B6706FB8DFB2E3L, 0xEB46918411358470L, 0x2C57B3B8EB0BDFC5L, 0x6EA7525342E1E956L, 0x72E3DAA0AA188782L, 0x30133B4B03F2B111L,
		0xF7021977F9CCEAA4L, 0xB5F2F89C5026DC37L, 0x3BD0BCE5A45A6B5DL, 0x79205D0E0DB05DCEL, 0xBE317F32F78E067BL, 0xFCC19ED95E6430E8L,
		0x86B86ED5267CDBD3L, 0xC4488F3E8F96ED40L, 0x0359AD0275A8B6F5L, 0x41A94CE9DC428066L, 0xCF8B0890283E370CL, 0x8D7BE97B81D4019FL,
		0x4A6ACB477BEA5A2AL, 0x089A2AACD2006CB9L, 0x14DEA25F3AF9026DL, 0x562E43B4931334FEL, 0x913F6188692D6F4BL, 0xD3CF8063C0C759D8L,
		0x5DEDC41A34BBEEB2L, 0x1F1D25F19D51D821L, 0xD80C07CD676F8394L, 0x9AFCE626CE85B507L];

	private long value;

	this() {
		super("crc64_ecma");
		reset();
	}

	public void reset() {
		value  = 0xFFFFFFFFFFFFFFFFL;
	}

    public void update(ubyte b) {
		value = (value << 8) ^ (crctab[cast(int)(((value >>> 56) ^ b) & 0xFF)]);
    }

    public void update(ubyte[] input, int len) {
		long tmp = value;

		for(int i = 0; i < len; i++) {
			tmp = (tmp << 8) ^ (crctab[cast(int)(((tmp >>> 56) ^ input[i]) & 0xFF)]);
		}
		value = tmp;
	}
 
    public ubyte[] binaryDigest() {
		long val = ~value;
		ubyte[] values = [cast(ubyte)((val >> 56) & 0xFF), cast(ubyte)((val >> 48) & 0xFF), cast(ubyte)((val >> 40) & 0xFF),
						 cast(ubyte)((val >> 32) & 0xFF), cast(ubyte)((val >> 24) & 0xFF), cast(ubyte)((val >> 16) & 0xFF),
						 cast(ubyte)((val >> 8) & 0xFF), cast(ubyte)(val & 0xFF)];
		reset();
		return values;
    }
}


CRC64
module fsumfe.digest.algo.crc64;

import fsumfe.digest.digest;

public final class CRC64: Digest {
    private final long crctab[256] = [
	0x0000000000000000L, 0x01b0000000000000L, 0x0360000000000000L, 0x02d0000000000000L, 0x06c0000000000000L, 0x0770000000000000L,
	0x05a0000000000000L, 0x0410000000000000L, 0x0d80000000000000L, 0x0c30000000000000L, 0x0ee0000000000000L, 0x0f50000000000000L,
	0x0b40000000000000L, 0x0af0000000000000L, 0x0820000000000000L, 0x0990000000000000L, 0x1b00000000000000L, 0x1ab0000000000000L,
	0x1860000000000000L, 0x19d0000000000000L, 0x1dc0000000000000L, 0x1c70000000000000L, 0x1ea0000000000000L, 0x1f10000000000000L,
	0x1680000000000000L, 0x1730000000000000L, 0x15e0000000000000L, 0x1450000000000000L, 0x1040000000000000L, 0x11f0000000000000L,
	0x1320000000000000L, 0x1290000000000000L, 0x3600000000000000L, 0x37b0000000000000L, 0x3560000000000000L, 0x34d0000000000000L,
	0x30c0000000000000L, 0x3170000000000000L, 0x33a0000000000000L, 0x3210000000000000L, 0x3b80000000000000L, 0x3a30000000000000L,
	0x38e0000000000000L, 0x3950000000000000L, 0x3d40000000000000L, 0x3cf0000000000000L, 0x3e20000000000000L, 0x3f90000000000000L,
	0x2d00000000000000L, 0x2cb0000000000000L, 0x2e60000000000000L, 0x2fd0000000000000L, 0x2bc0000000000000L, 0x2a70000000000000L,
	0x28a0000000000000L, 0x2910000000000000L, 0x2080000000000000L, 0x2130000000000000L, 0x23e0000000000000L, 0x2250000000000000L,
	0x2640000000000000L, 0x27f0000000000000L, 0x2520000000000000L, 0x2490000000000000L, 0x6c00000000000000L, 0x6db0000000000000L,
	0x6f60000000000000L, 0x6ed0000000000000L, 0x6ac0000000000000L, 0x6b70000000000000L, 0x69a0000000000000L, 0x6810000000000000L,
	0x6180000000000000L, 0x6030000000000000L, 0x62e0000000000000L, 0x6350000000000000L, 0x6740000000000000L, 0x66f0000000000000L,
	0x6420000000000000L, 0x6590000000000000L, 0x7700000000000000L, 0x76b0000000000000L, 0x7460000000000000L, 0x75d0000000000000L,
	0x71c0000000000000L, 0x7070000000000000L, 0x72a0000000000000L, 0x7310000000000000L, 0x7a80000000000000L, 0x7b30000000000000L,
	0x79e0000000000000L, 0x7850000000000000L, 0x7c40000000000000L, 0x7df0000000000000L, 0x7f20000000000000L, 0x7e90000000000000L,
	0x5a00000000000000L, 0x5bb0000000000000L, 0x5960000000000000L, 0x58d0000000000000L, 0x5cc0000000000000L, 0x5d70000000000000L,
	0x5fa0000000000000L, 0x5e10000000000000L, 0x5780000000000000L, 0x5630000000000000L, 0x54e0000000000000L, 0x5550000000000000L,
	0x5140000000000000L, 0x50f0000000000000L, 0x5220000000000000L, 0x5390000000000000L, 0x4100000000000000L, 0x40b0000000000000L,
	0x4260000000000000L, 0x43d0000000000000L, 0x47c0000000000000L, 0x4670000000000000L, 0x44a0000000000000L, 0x4510000000000000L,
	0x4c80000000000000L, 0x4d30000000000000L, 0x4fe0000000000000L, 0x4e50000000000000L, 0x4a40000000000000L, 0x4bf0000000000000L,
	0x4920000000000000L, 0x4890000000000000L, 0xd800000000000000L, 0xd9b0000000000000L, 0xdb60000000000000L, 0xdad0000000000000L,
	0xdec0000000000000L, 0xdf70000000000000L, 0xdda0000000000000L, 0xdc10000000000000L, 0xd580000000000000L, 0xd430000000000000L,
	0xd6e0000000000000L, 0xd750000000000000L, 0xd340000000000000L, 0xd2f0000000000000L, 0xd020000000000000L, 0xd190000000000000L,
	0xc300000000000000L, 0xc2b0000000000000L, 0xc060000000000000L, 0xc1d0000000000000L, 0xc5c0000000000000L, 0xc470000000000000L,
	0xc6a0000000000000L, 0xc710000000000000L, 0xce80000000000000L, 0xcf30000000000000L, 0xcde0000000000000L, 0xcc50000000000000L,
	0xc840000000000000L, 0xc9f0000000000000L, 0xcb20000000000000L, 0xca90000000000000L, 0xee00000000000000L, 0xefb0000000000000L,
	0xed60000000000000L, 0xecd0000000000000L, 0xe8c0000000000000L, 0xe970000000000000L, 0xeba0000000000000L, 0xea10000000000000L,
	0xe380000000000000L, 0xe230000000000000L, 0xe0e0000000000000L, 0xe150000000000000L, 0xe540000000000000L, 0xe4f0000000000000L,
	0xe620000000000000L, 0xe790000000000000L, 0xf500000000000000L, 0xf4b0000000000000L, 0xf660000000000000L, 0xf7d0000000000000L,
	0xf3c0000000000000L, 0xf270000000000000L, 0xf0a0000000000000L, 0xf110000000000000L, 0xf880000000000000L, 0xf930000000000000L,
	0xfbe0000000000000L, 0xfa50000000000000L, 0xfe40000000000000L, 0xfff0000000000000L, 0xfd20000000000000L, 0xfc90000000000000L,
	0xb400000000000000L, 0xb5b0000000000000L, 0xb760000000000000L, 0xb6d0000000000000L, 0xb2c0000000000000L, 0xb370000000000000L,
	0xb1a0000000000000L, 0xb010000000000000L, 0xb980000000000000L, 0xb830000000000000L, 0xbae0000000000000L, 0xbb50000000000000L,
	0xbf40000000000000L, 0xbef0000000000000L, 0xbc20000000000000L, 0xbd90000000000000L, 0xaf00000000000000L, 0xaeb0000000000000L,
	0xac60000000000000L, 0xadd0000000000000L, 0xa9c0000000000000L, 0xa870000000000000L, 0xaaa0000000000000L, 0xab10000000000000L,
	0xa280000000000000L, 0xa330000000000000L, 0xa1e0000000000000L, 0xa050000000000000L, 0xa440000000000000L, 0xa5f0000000000000L,
	0xa720000000000000L, 0xa690000000000000L, 0x8200000000000000L, 0x83b0000000000000L, 0x8160000000000000L, 0x80d0000000000000L,
	0x84c0000000000000L, 0x8570000000000000L, 0x87a0000000000000L, 0x8610000000000000L, 0x8f80000000000000L, 0x8e30000000000000L,
	0x8ce0000000000000L, 0x8d50000000000000L, 0x8940000000000000L, 0x88f0000000000000L, 0x8a20000000000000L, 0x8b90000000000000L,
	0x9900000000000000L, 0x98b0000000000000L, 0x9a60000000000000L, 0x9bd0000000000000L, 0x9fc0000000000000L, 0x9e70000000000000L,
	0x9ca0000000000000L, 0x9d10000000000000L, 0x9480000000000000L, 0x9530000000000000L, 0x97e0000000000000L, 0x9650000000000000L,
	0x9240000000000000L, 0x93f0000000000000L, 0x9120000000000000L, 0x9090000000000000L];

	private long value;

	this() {
		super("crc64");
		reset();
	}

	public void reset() {
		value  = 0;
	}

    public void update(ubyte b) {
        value = (value >>> 8) ^ crctab[cast(int)((value ^ b) & 0xFF)];
    }

    public void update(ubyte[] input, int len) {
		long tmp = value;

		for(int i = 0; i < len; i++) {
			tmp = (tmp >>> 8) ^ crctab[cast(int)((tmp ^ input[i]) & 0xFF)];
		}
		value = tmp;
	}
 
    public ubyte[] binaryDigest() {
		long val = value;
		ubyte[] values = [cast(ubyte)((val >> 56) & 0xff), cast(ubyte)((val >> 48) & 0xff), cast(ubyte)((val >> 40) & 0xff),
						 cast(ubyte)((val >> 32) & 0xff), cast(ubyte)((val >> 24) & 0xff), cast(ubyte)((val >> 16) & 0xff),
						 cast(ubyte)((val >> 8) & 0xff), cast(ubyte)(val & 0xff)];
		reset();
		return values;
    }
}
2009-7-26 02:43
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
58
我并非找源码,而是在确定多项式和移动方向,从57楼给出的表和代码中可以看到:
crc64-ecma 是左移CRC64,CRC64为右移CRC64.
在CRC“性质”中:
左移CRC的权即多项式在CRC表的0行1列中,右移CRC的权即多项式在CRC表的0x80000000行1列中
故57楼给出的表只能找到crc64-ecma的权=0x42F0E1EBA9EA3693(当然网上可以直接查到权)
后者CRC64就无法知道权了,这就是我只做出前者的原因。

我研究的是CRC更通用普遍的一些性质,演算器虽然只是一种算法,但它可以适用于任何多项式。

从下表可以看出,CRC表即CRC编码矩阵中随初值的不定权在“跑位”。

网上及书本上的CRC只是初值为0的一个特例,我将此用于HotWC3是有一定道理的。

我是从理论上分析碰撞的,而非“瞎碰”(我对事不对人)







上传的附件:
2009-7-26 09:18
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
59
57楼的CRC64 ISO3309俺做不出来。
因为CRC64 ISO3309的多项式为:X64+X4+X3+X1+X0  其中X0=1

对于CRC左移,因为要保持CRC可逆,必须最低位恒为1,
故:X64+X4+X3+X1+X0 实际为X4+X3+X1+X0  即左移不要最高位X64
权=0x000000000000001B

对于CRC右移,因为要保持CRC可逆,必须最高位恒为1,
故:X64+X4+X3+X1+X0 实际为X64+X4+X3+X1  即右移不要最低位X0
权=0x800000000000000D

菜农的权选择规则可参见:http://blog.ednchina.com/hotpower/220371/message.aspx

我用左移CRC找到一个类似的CRC表,但原算法应该是右移的。

和57楼表的差异在于低位是矩阵的列坐标号,故不知真正的权值。说实话“CRC市场很乱”

上传的附件:
2009-7-26 10:26
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
60
Fsum Frontend 1.5.5.1在vista下不能运行。我无法找到那个CRC64的多项式。
可以对这个CRC64“攻击”4次即可得到这个crc64的多项式。

假定出入值不取反,即xor 0x00000000

1.若左移CRC64,   用0x00000001作为明文,执行得到CRC64,即为这个crc64的多项式。

2.若右移CRC64,   用0x80000000作为明文,执行得到CRC64,即为这个crc64的多项式。

假定出入值取反,即xor 0xffffffffffffffff

3.若左移CRC64,   用0xfffffffffffffffe作为明文,执行得到CRC64,取反后即为这个crc64的多项式。

4.若右移CRC64,   用0x7ffffffffffffffff作为明文,执行得到CRC64,取反后即为这个crc64的多项式。
2009-7-26 16:00
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
61
利用CRC权攻击特性对fsum frontend-1.5.5.1软件的CRC攻击结果:

http://www.google.cn/search?hl=zh-CN&newwindow=1&q=fsum+frontend-1.5.5.1&aq=f&oq=

虽然http://fsumfe.sourceforge.net/index.php有java源代码
这里主要是论述如何攻击特定CRC算法的权值。(假设什么都不公开,只告诉是一种CRC算法)

“权的攻击法则”:
左移时攻击明文为1得到的密文即为权值。
右移时攻击明文为2^(N-1)得到的密文即为权值。

CRC8:(成功)
初值=00 权值=XX 入值=XX 出值=XX 方向=X
输入=01 输出=07 预测攻击结果:左移CRC8,入值=00 出值=00 权值=07(X8=X,X0=1可逆) 最终确认
输入=80 输出=89 预测攻击结果:右移CRC8,入值=00 出值=00 权值=89(X8=1可逆,X0=X) 攻击失败
CRC8成功确认:
初值=00 权值=07 入值=00 出值=00 方向=左移

CRC16:(失败)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=C0C1 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=C0C1(X16=X,X0=1可逆) 攻击失败
输入=8000 输出=C061 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=C061(X16=1可逆,X0=X) 攻击失败
输入=FFFE 输出=70C0 预测攻击结果:左移CRC16,入值=FFFF 出值=FFFF 权值=8F3F(X16=X,X0=1可逆) 攻击失败
输入=7FFF 输出=7060 预测攻击结果:右移CRC16,入值=FFFF 出值=FFFF 权值=8F9F(X16=1可逆,X0=X) 攻击失败
CRC16失败确认:
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X

CRC16_ccitt:(成功)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=0D2E 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=0D2E(X16=X,X0=1可逆) 攻击失败
输入=8000 输出=0697 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=0697(X16=0单向,X0=X) 放弃攻击
输入=FFFE 输出=1021 预测攻击结果:左移CRC16,入值=FFFF 出值=0000 权值=1021(X16=X,X0=1可逆) 最终确认
输入=7FFF 输出=1B98 预测攻击结果:右移CRC16,入值=FFFF 出值=0000 权值=1B98(X16=0单向,X0=X) 放弃攻击
CRC16_ccitt成功确认:
初值=0000 权值=1021 入值=FFFF 出值=0000 方向=左移

CRC16_zmodem:(成功)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=1021 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=1021(X16=X,X0=1可逆) 最终确认
输入=8000 输出=1B98 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=1B98(X16=0单向,X0=X) 放弃攻击
CRC16_zmodem成功确认:
初值=0000 权值=1021 入值=0000 出值=0000 方向=左移

CRC16_xmodem:(失败)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=17CE 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=17CE(X16=X,X0=0单向) 放弃攻击
输入=8000 输出=0BE7 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=0BE7(X16=0单向,X0=X) 放弃攻击
输入=0001 输出=17CE 预测攻击结果:左移CRC16,入值=0000 出值=FFFF 权值=E831(X16=X,X0=1可逆) 攻击失败
输入=8000 输出=0BE7 预测攻击结果:右移CRC16,入值=0000 出值=FFFF 权值=F418(X16=1单向,X0=X) 攻击失败
输入=FFFE 输出=0AC7 预测攻击结果:左移CRC16,入值=FFFF 出值=0000 权值=0AC7(X16=X,X0=1可逆) 攻击失败
输入=7FFF 输出=16EE 预测攻击结果:右移CRC16,入值=FFFF 出值=0000 权值=16EE(X16=0单向,X0=X) 放弃攻击
输入=FFFE 输出=0AC7 预测攻击结果:左移CRC16,入值=FFFF 出值=FFFF 权值=F538(X16=X,X0=0单向) 放弃攻击
输入=7FFF 输出=16EE 预测攻击结果:右移CRC16,入值=FFFF 出值=FFFF 权值=E911(X16=1可逆,X0=X) 攻击失败
CRC16_xmodem失败确认:
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X

CRC16_ibm:(成功)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=8005 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=8005(X16=X,X0=1可逆) 最终确认
输入=8000 输出=8009 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=8009(X16=1可逆,X0=X) 攻击失败
CRC16_ibm成功确认:
初值=0000 权值=8005 入值=0000 出值=0000 方向=左移

CRC16_x25:(失败)
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X
输入=0001 输出=1ECE 预测攻击结果:左移CRC16,入值=0000 出值=0000 权值=1ECE(X16=X,X0=0单向) 放弃攻击
输入=8000 输出=838B 预测攻击结果:右移CRC16,入值=0000 出值=0000 权值=838B(X16=1可逆,X0=X) 攻击失败
输入=FFFE 输出=EE76 预测攻击结果:左移CRC16,入值=FFFF 出值=0000 权值=1189(X16=X,X0=1可逆) 攻击失败
输入=7FFF 输出=7333 预测攻击结果:右移CRC16,入值=FFFF 出值=0000 权值=8CCC(X16=1可逆,X0=X) 攻击失败
CRC16_x25失败确认:
初值=0000 权值=XXXX 入值=XXXX 出值=XXXX 方向=X

CRC24:(失败)
初值=000000 权值=XXXXXX 入值=XXXXXX 出值=XXXXXX 方向=X
输入=000001 输出=A3A3D9 预测攻击结果:左移CRC24,入值=000000 出值=000000 权值=A3A3D9(X24=X,X0=1 可逆) 攻击失败
输入=800000 输出=3EEB8B 预测攻击结果:右移CRC24,入值=000000 出值=000000 权值=3EEB8B(X24=0,X0=X 单向) 放弃攻击
输入=FFFFFE 输出=4E5B17 预测攻击结果:左移CRC24,入值=FFFFFF 出值=FFFFFF 权值=A3A3D9(X24=X,X0=1 可逆) 攻击失败
输入=7FFFFF 输出=D31345 预测攻击结果:右移CRC24,入值=FFFFFF 出值=FFFFFF 权值=3EEB8B(X24=0,X0=X 单向) 放弃攻击
CRC24失败确认:
初值=0000 权值=8005 入值=0000 出值=0000 方向=左移

CRC64_ecma:(成功)
初值=0000000000000000 权值=XXXXXXXXXXXXXXXX 入值=XXXXXXXXXXXXXXXX 出值=XXXXXXXXXXXXXXXX 方向=X
输入=0000000000000001 输出=41A3A0A90F2460FE 预测攻击结果:左移CRC64,入值=0000000000000000 出值=0000000000000000 权值=01B0000000000000(X64=X,X0=0 单向) 放弃攻击
输入=8000000000000000 输出=01A9A0A153672B36 预测攻击结果:右移CRC64,入值=0000000000000000 出值=0000000000000000 权值=00000000000000D8(X64=0单向,X0=X) 放弃攻击
输入=FFFFFFFFFFFFFFFE 输出=BD0F1E145615C96C 预测攻击结果:左移CRC64,入值=FFFFFFFFFFFFFFFF 出值=FFFFFFFFFFFFFFFF 权值=42F0E1EBA9EA3693(X64=X,X0=1 可逆) 最终确认
输入=7FFFFFFFFFFFFFFF 输出=FD051E1C0A5682A4 预测攻击结果:右移CRC64,入值=FFFFFFFFFFFFFFFF 出值=FFFFFFFFFFFFFFFF 权值=02FAE1E3F5A97D5B(X64=0单向,X0=X) 放弃攻击
CRC64_ecma成功确认:
初值=0000000000000000 权值=42F0E1EBA9EA3693 入值=FFFFFFFFFFFFFFFF 出值=FFFFFFFFFFFFFFFF 方向=左移

CRC64:(失败)
初值=0000000000000000 权值=XXXXXXXXXXXXXXXX 入值=XXXXXXXXXXXXXXXX 出值=XXXXXXXXXXXXXXXX 方向=X
输入=0000000000000001 输出=01B0000000000000 预测攻击结果:左移CRC64,入值=0000000000000000 出值=0000000000000000 权值=01B0000000000000 (X64=X,X0=0 单向) 放弃攻击(不可逆攻击出下表)
输入=8000000000000000 输出=00000000000000D8 预测攻击结果:右移CRC64,入值=0000000000000000 出值=0000000000000000 权值=00000000000000D8 (X64=0单向,X0=X) 放弃攻击
输入=FFFFFFFFFFFFFFFE 输出=52B0000000000000 预测攻击结果:左移CRC64,入值=FFFFFFFFFFFFFFFF 出值=FFFFFFFFFFFFFFFF 权值=AD4FFFFFFFFFFFFF (X64=X,X0=1 可逆) 攻击失败
输入=7FFFFFFFFFFFFFFF 输出=53000000000000D8 预测攻击结果:右移CRC64,入值=FFFFFFFFFFFFFFFF 出值=FFFFFFFFFFFFFFFF 权值=ACFFFFFFFFFFFF27 (X64=1可逆, X0=X) 攻击失败
CRC64失败确认:
初值=0000000000000000 权值=XXXXXXXXXXXXXXXX 入值=XXXXXXXXXXXXXXXX 出值=XXXXXXXXXXXXXXXX 方向=X

下面是对CRC64攻击出来的CRC表,它显然是不可逆的(与57楼的CRC表格完全相同):

module fsumfe.digest.algo.crc64;

import fsumfe.digest.digest;

public final class CRC64: Digest {
private final long crctab[256] = [
0x0000000000000000L, 0x01b0000000000000L, 0x0360000000000000L, 0x02d0000000000000L, 0x06c0000000000000L, 0x0770000000000000L,
0x05a0000000000000L, 0x0410000000000000L, 0x0d80000000000000L, 0x0c30000000000000L, 0x0ee0000000000000L, 0x0f50000000000000L,
0x0b40000000000000L, 0x0af0000000000000L, 0x0820000000000000L, 0x0990000000000000L, 0x1b00000000000000L, 0x1ab0000000000000L,
0x1860000000000000L, 0x19d0000000000000L, 0x1dc0000000000000L, 0x1c70000000000000L, 0x1ea0000000000000L, 0x1f10000000000000L,
0x1680000000000000L, 0x1730000000000000L, 0x15e0000000000000L, 0x1450000000000000L, 0x1040000000000000L, 0x11f0000000000000L,
0x1320000000000000L, 0x1290000000000000L, 0x3600000000000000L, 0x37b0000000000000L, 0x3560000000000000L, 0x34d0000000000000L,
0x30c0000000000000L, 0x3170000000000000L, 0x33a0000000000000L, 0x3210000000000000L, 0x3b80000000000000L, 0x3a30000000000000L,
0x38e0000000000000L, 0x3950000000000000L, 0x3d40000000000000L, 0x3cf0000000000000L, 0x3e20000000000000L, 0x3f90000000000000L,
0x2d00000000000000L, 0x2cb0000000000000L, 0x2e60000000000000L, 0x2fd0000000000000L, 0x2bc0000000000000L, 0x2a70000000000000L,
0x28a0000000000000L, 0x2910000000000000L, 0x2080000000000000L, 0x2130000000000000L, 0x23e0000000000000L, 0x2250000000000000L,
0x2640000000000000L, 0x27f0000000000000L, 0x2520000000000000L, 0x2490000000000000L, 0x6c00000000000000L, 0x6db0000000000000L,
0x6f60000000000000L, 0x6ed0000000000000L, 0x6ac0000000000000L, 0x6b70000000000000L, 0x69a0000000000000L, 0x6810000000000000L,
0x6180000000000000L, 0x6030000000000000L, 0x62e0000000000000L, 0x6350000000000000L, 0x6740000000000000L, 0x66f0000000000000L,
上传的附件:
2009-7-27 18:36
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
62
估计攻击失败的应该都是右移CRC

例如右移CRC8:
多项式=X8+X5+X4+1 (符合1-Wire总线协议)
这是1-Wire总线协议的缔造者Dallas/Maxim给出多项式
且权=0x18. 网上可以找到权=0x31,0x8c,0x98这三种。http://blog.ednchina.com/hotpower/220371/message.aspx
0x18的算法是先记忆最低位,直接XOR 0x18,再右移。
0x8c的算法是先记忆最低位,再右移,然后XOR 0x8c。
但是表达式自动计算就很难受,因为0x8c被解释为:X8+X4+X3+1,和X8+X5+X4+1有1位的差距。

结果一样,可能叫法有出入,在03年的CRC演算器就采用了0x18

后来发现CRC编解码矩阵后决定采用0x8c.
因为在0x18时,明文0x80对应的密文=0x8c.而它应该是新规则中被攻击为合法的权值。

为统一权的攻击法则:
左移时攻击明文0x01得到的密文即为权值。
右移时攻击明文0x80得到的密文即为权值。

显然0x18已不符合时代的要求,而且左右移CRC程序框架上也不太相似。

故新的CRC右移算法采用:先记忆最低位,再右移,然后XOR 0x8c。
而且规定若要满足可逆条件,右移CRC权的最高位恒为1.这样左右移CRC运算程序架构师一样的。
原来正运算中,XOR的是初值,由于初值和明文可以交换,现算法可以改为XOR明文,
这样正运算和逆运算的XOR的分别是明文和密文,非常对称。

对CRC64权的攻击结果中发现它的CRC表是权为0x01b0000000000000生成的表。
必须去掉可逆选项,此时明文从0~0xff全部正确,但超过0x100后全部出错。
显然0x01b0000000000000不满足CRC可逆的规定,强行可逆和CRC表不同。
更奇怪的是CRC表是左移生成的不可逆表,查表程序却是右移的算法,很是晕!!!
故攻击此CRC64必定失败。
若要兼容此算法,不采用查表,则在0~0xFF采用不可逆左移,其他采用可逆的右移。晕。

菜农做的CRC演算器主要是为CRC密码及CRC碰撞设计的,所有的权必须要满足可逆的要求。
故有些不可逆即单向散列的CRC菜农不会去支持。

因为HotWC3密码的核将随意地选用这些具有可能关系的CRC,这样才能实现加密和解密。
不可逆就无法做成密码体系。
2009-7-27 19:04
0
雪    币: 4844
活跃值: (3842)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
63
真想送你去安定医院。
2009-7-28 09:57
0
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
64
不好意思,冒昧问个问题,LZ时薪多少,这么闲和一帮孩子玩这么久,干嘛不去做些更好玩的事。
2009-7-28 11:57
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
65
不明白就无共同语言,我是搞通讯安全的,在做一种不可破解的密码。
看来俺是该进医院了~~
2009-7-28 15:51
0
雪    币: 1024
活跃值: (240)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
66
虽然我不怎么懂 但是楼主精神可嘉 膜拜一下
2009-7-28 16:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
67
刚看到, hotpower 到这来了。。。呵呵。
2009-7-29 09:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
68
大体的看了看,说一下我的观点。
加密的应用极广, 但是在嵌入式系统中,还真没有很好的选择。

这几天做嵌入式web应用,加密采用http401标准,最后还是用了base64,基本上就是一层窗户纸,高端的没法用啊。ssl?嵌入式应用也太毫资源。随机数+密匙md5。但只验证IP不验证内容同样是一点用没有。忘了我们的前辈们曾用键盘入侵FBI了,就是伪ip+一定时间的伪ip回应。在控制硬件的场合,加密需求很大,但要考虑资源。

hotpower提出的这一算法貌似可以解决这一问题(没仔细看),至于说CRC碰撞。。。。。。估计可以破解部分游戏,比如warcraft,但现在基本都是md5变种验证,真不知道CRC碰撞能解哪家的认证。伪造个数据包估计还有点用处。不过这个国外早有研究。我们的外挂也大量应用。

"不可破解的密码"---------------->"不可破解的密匙"这样应用大点。

能用的话我可以现用一下,用于嵌入式web整体加密
2009-7-29 09:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
69
现在的高端ups还都用的base64 http401验证。

想想万一被袖探出密码,到时候不用ddos了,直接断电。。。。。。。

不过估计那帮管理员N年不会登录UPS的管理系统。。。。。
2009-7-29 09:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
70
假设什么都不公开,只告诉是一种CRC算法

----------------------可以是CRC的变种,比如连续crc几次,加入定时密匙crc。。。。。。你还真能搞出来。

md5 破解了,但md5验证照样使用,因为变种吗,变种这么多,你都能猜出来。

理论上的md5破解没有太大意义(除了严格准受标准md5的除外)。。。。。。。。。。。
2009-7-29 09:21
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
71
理论上的md5破解没有太大意义

它不过是穷举次数低于MD5宣称的密钥长度即穷举次数。

由于现在的密钥长度都很长,即使少几位实际应用还是无法破解。

我研究CRC碰撞就是研究如何破解,如何防止被破解。

菜农论证HotWC3的安全已全部结束,结论是只有穷举一条路。

菜农改造了CRC,使它从数学界称之为“单向散列”变为“陷门单向散列”。

并为此找到了CRC的“可逆条件”,并以此发现了“CRC编解码矩阵”,

把CRC碰撞“升华”到任意碰撞,并加入了更高层次的“CRC密钥碰撞”。

菜农不是数学家,无法像数学家那样论证新加入的“性质”,但我用程序

跑通并得到证实。

新版的HotWC3演算器http://www.hotc51.com/HotPower_HotWC3.html内加入了

CRC碰撞表。(在CRC4下点击“CRC表”)

下面给出几个CRC4贴图,可以看出用所有的攻击手段都无法破解CRC密码。

已知任意明文和密文对或密文和明文对都会有16组CRC4密钥(初值、权、方向)

已知明文或密文将要面对256组CRC4密钥(初值、权、方向)

从图中可以看到(权值下有2行数字,上面1行被可逆条件屏蔽了):

永远找不到权值0,2,4,6这4个数,因为它被压缩掉了。故必须穷举。

这里主要以最小的CRC4举例,大位数的CRC密码肯定要破解难度大的多。































上传的附件:
2009-7-29 14:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
72
crc看来该退休了。

md5也危险。

作变种,对运算量的要求就提升了,毕竟不敢随便改核心算法,只能加点小技巧。
2009-7-29 14:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
73
顶顶顶顶顶顶
2009-8-2 00:59
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
74
还不错哦!可以参考下!
2009-8-30 23:56
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
75
新版本V4.03http://www.hotc51.com/HotPower_HotWC3.html

已和答案一致,并可攻击本主贴下的所有的CRC表格,并得出相应的CRC多项式,
并可自动生成CRC位域4表和C语言算法.
2009-10-20 19:22
0
游客
登录 | 注册 方可回帖
返回
//