能力值:
( LV2,RANK:10 )
|
-
-
2 楼
LZ也弄个强大的算法吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
太TMD专业了~
|
能力值:
( LV9,RANK:180 )
|
-
-
4 楼
落落的问一下
请问得到的CRC64值一样 的2个明文各是什么?
|
能力值:
( LV15,RANK:2473 )
|
-
-
5 楼
我用DAMN Hash Calculator计算"1234"的CRC32=9BE3E0A3
Calculating hash of 4 bytes string `1234`...
CRC-32 : 9BE3E0A3
Calculation took 0.000 seconds
用楼主的计算器如何才能得到相同的结果呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
CRC32的表达式和运算过程很乱,我的演算器是为ARM芯片STM32做的。
它的输出没反向。
一般CRC32都是初值为0xffffffff,输出反向,即xor 0xffffffff
CRC主要看采用的多项式和移动方向
用楼主的计算器如何才能得到相同的结果呢?
必须有相同的表达式和初值,至于输出反向那不是什么问题。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
请问得到的CRC64值一样 的2个明文各是什么?
我举得就是这种例子呀~~~“CRC碰撞”就是不同的明文得到相同的密文即CRC的结果值。
“CRC碰撞”实际有“明文”和“密钥”碰撞2种。
前者是初值和权(多项式)确定时不同的明文产生相同的CRC结果值。
后者是初值和权(多项式)不确定时相同的明文产生相同的CRC结果值。
CRC实际有5个元素:初值、权和方向及明文和密文(结果)。
一个权即锁定一个CRC编码矩阵或CRC解码矩阵。
此“CRC编解码矩阵”的行为初值,列为明文或密文,矩阵元素为密文或明文。
锁定了矩阵,就是初值、明文和密文三者之间的“查表”关系了。
CRC编码矩阵是个对称矩阵,它满足初值和明文的“交换率”。
CRC解码矩阵是个对对称矩阵,它们之间是“可逆”的关系。(可惜不符合逆矩阵)
大家可以看一下“CRC4编解码矩阵”的图表(其它太大不好分析):
|
能力值:
( LV15,RANK:2473 )
|
-
-
8 楼
sessiondiy的问题很直接,你回复那么多大家也看不懂答案是什么,你只需要回答:
明文1=?
明文2=?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
故CRC64初值1=0x2D6FD3ADE7D797FD和CRC64明文1=0x1122334455667788 在CRC64权=0x42F0E1EBA9EA3693时的校验和=0x012345678ABCDEF 同理: CRC64初值2=0xB43A86BCF682C264和CRC64明文2=0x8877665544332211 在CRC64权=0x42F0E1EBA9EA3693时的校验和=0x012345678ABCDEF
不知是我没理解还是sessiondiy没看清楚,楼主位的例子已经说明白了。
可能有人说初值和权已确定,如何“碰撞”???
答案明文1=明文2,因为初值和权已确定,每个明文对应唯一一个密文即校验和。
若非要碰撞,就只能明文大于64位即至少要2个64位数才能产生“CRC碰撞”。
参见: http://bbs.pediy.com/showthread.php?t=93139
里面2楼里有---如何“人造”CRC碰撞???
|
能力值:
( LV15,RANK:2473 )
|
-
-
10 楼
你标题名字就是说的是"任意制造CRC碰撞"
按照我们一般的理解就是要碰撞两组明文
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
“CRC碰撞”的碰撞是指“相同的CRC校验和”
|
能力值:
( LV9,RANK:180 )
|
-
-
12 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
我不知道它“碰撞”原理,但我分析的是“任意碰撞”。
当初值和权确定时,明文为2组即可产生2^N碰撞。
当明文为2组时:
CRC8有256个碰撞值,CRC16有65536个碰撞值,CRCN有2^N个碰撞值。
当明文为3组时:
CRC8有256*256个碰撞值,CRC16有65536*65536个碰撞值,CRCN有2^N*2^N个碰撞值。
......
不知道它能否有这麽多的“碰撞”???
|
能力值:
( LV9,RANK:180 )
|
-
-
14 楼
可设长度
像 '1234' 的 CRC32 为 9BE3E0A3
我试过 长度=4 的明文 只有 '1234'
但长度=5的明文有256个, 例如下列几个明文 (十六进制), 其CRC32都是 9BE3E0A3:
20 74 FD 5F DD
21 E2 CD 58 AA
22 58 9C 51 33
23 CE AC 56 44
24 6D 39 32 DA
25 FB 09 35 AD
26 41 58 3C 34
27 D7 68 3B 43
28 46 75 84 D3
29 D0 45 83 A4
2A 6A 14 8A 3D
2B FC 24 8D 4A
长度=16 的明文只有下列一组附合 CRC32=9BE3E0A3
00 00 00 00 00 00 00 01 CE DD 16 26
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
点击直接运行: 112位HotWC3/CRC通用网上演算器V2.20
对于“CRC碰撞”,上面的工具就是“还原键”
“碰撞模板”:
初值:0 输入:待“碰撞”的明文 【计算键】
权值:9 输出:第1个数据为“碰撞种子”,第2个数据为校验和 【还原键】
假设碰撞值即校验和=8. 则:
初值:0 输入:0B (对应输出08单击还原键后的明文)
权值:9 输出:08 【还原键】
初值:0 输入:3A (对应输出18单击还原键后的明文)
权值:9 输出:18 【还原键】
...........
初值:0 输入:24 (对应输出F8单击还原键后的明文)
权值:9 输出:F8 【还原键】
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
可设长度 像 '1234' 的 CRC32 为 9BE3E0A3 我试过 长度=4 的明文 只有 '1234' 但长度=5的明文有256个, 例如下列几个明文 (十六进制), 其CRC32都是 9BE3E0A3:
对于CRC32即每组为4个字节,所以长度应该设置为4的倍数才行,设置5,实际内部设置为8, 数据位补零。
长度=5的明文有256个,即多的1个字节变化有256次,故“明文有256个”。
实际就是:
初值:XXXXXXXX XXXXXXXX XXXXXXXX
权值:XXXXXXXX 000000YY XXXXXXXX 这个“YY” 有256个对应的明文。
我试过 长度=4 的明文 只有 '1234'
在CRC中,在初值和权确定后,一组明文对应与唯一一组密文即校验和。
所以这个工具在长度为4时,只能有一个校验和,即无碰撞。
在2组即长度选择8时,将会发生2^32次碰撞。
注意15楼的-------第1个数据为“碰撞种子”,可想CRC32的一个“种子”可从0~2^32-1即2^32次任意碰撞。
这个软件我没用过,不知道用的什么原理,不会真的去搜索“碰撞”吧~~~
实际“碰撞”是可以“人造”的~~~
等我又时间把 http://www.hotc51.com/HotPower_HotWC3.html升级为支持普遍的CRC32.可惜现在只支持STM32的CRC32.
|
能力值:
( LV15,RANK:2473 )
|
-
-
17 楼
普通的CRC32不用4个字节分组的,长度5就是5,不需要补位到8字节长度
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这是由计算机内部的寄存器位数或程序语言的数据类型决定的。
所以“长度5就是5”是你外部操作软件的结果。
搞编程的人都明白这些。
因为世界上没有“5位”即20位计算能力或20位处理的计算机。
普通的CRC32不用4个字节分组的,长度5就是5,不需要补位到8字节长度
实际上:
CRC4为分组半字节(4位)
CRC8为分组1字节(8位)
CRC12为分组1.5字节(12位)
CRC16为分组2字节(16位)
CRC24为分组3字节(24位)
CRC32为分组4字节(32位)
CRC48为分组6字节(48位)
CRC64为分组8字节(64位)
CRC128为分组16字节(128位)
CRC256为分组32字节(256位)
|
能力值:
( LV9,RANK:180 )
|
-
-
19 楼
我要回火星了, 地球太可怕了.
|
能力值:
( LV15,RANK:2473 )
|
-
-
20 楼
楼上的带我一起走吧,请求避难
|
能力值:
( LV15,RANK:2473 )
|
-
-
21 楼
s带我回火星之前,还是忍不住回一下:
长度5是指5字节,一个字节是8位,5*8=40位
在x86中一般都是32位寄存器和8位寄存器组合操作居多
难道楼主的112位密码系统是用的112位计算能力或112位处理的计算机实现的?
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
|
能力值:
( LV15,RANK:2473 )
|
-
-
23 楼
我没编过程序,不懂得什么大道理
我只知道x86是可以单字节寻址的,也有8位的寄存器
因此5字节的数据不需要做什么补位就能够计算其CRC32值
|
能力值:
(RANK:680 )
|
-
-
24 楼
几天没来密码学板块了, 还蛮热闹的~
还吸引来了session, ccfer 两位大侠. 多谢捧场~~
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
要说ccfer没编过程序,全论坛的程序员都笑了
|
|
|