首页
社区
课程
招聘
[原创]HotWC3/CRC网上在线演算器升级(V3.01)支持非分组CRC32
发表于: 2009-7-25 00:24 12098

[原创]HotWC3/CRC网上在线演算器升级(V3.01)支持非分组CRC32

2009-7-25 00:24
12098

原贴出处:http://blog.ednchina.com/hotpower/246151/message.aspx

点击直接运行: 112位HotWC3/CRC通用网上演算器V3.01

现在支持CRC4,CRC8,CRC12,CRC16,CRC24,CRC32,CRC40,CRC64共8种。

升级目的:支持任何CRC,只要知道CRC多项式。

由于菜农在看雪论坛被群殴,无奈用程序验证菜农“补零”之说。
本来就是一个编程最基础的小问题,菜农编了一辈子程序,
逆向了一辈子,这样的问题根本不需要耗费俺的脑浆。

菜农被群殴之处:http://bbs.pediy.com/showthread.php?t=93968

菜农不想再多解释什么,和给定程序完全一样的结果,只是编程手法
不同,俺考虑的是通用和加密及解密等。

贴图为证:(也可用http://www.lammertbies.nl/comm/info/crc-calculation.html?crc=12345&method=ascii证明)








[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
菜农支持“非分组CRC32 ”并非主张应用此校验方法。所以升级只有此项。

CRC32就是分组32位的CRC冗余校验算法。

所谓“5位”不管是汇编和C都是要保证运算结果即表达式左值与右值的数据类型一致。
故小端时,程序内部在高24位补0(不是字符‘0’即0x30).
反之在大端,程序内部在低24位补0(不是字符‘0’即0x30).

内部补0程序将按给定的位数做CRC运算,由于不是分组位数的整数倍,程序强行终止。
对于循环不查表的将在第40次循环时结束,查表程序将在5次查表后退出。
外部人为补0(不是字符‘0’即0x30)后结果和内部补0是不同的,这样因为外部
补0凑齐了两组即64位,即64次环移和40次环移的结果肯定不同。

此时得到的校验和实际是另一个“满组”的明文对应的校验和。实际可认为“发生碰撞”

如:ascii="12345",hex=0x31,0x32,0x33,0x34,0x35
这需要2个32位数据变量即空间。

小端数据表示为0x34333231,0x00000035
大端数据表示为0x31323334,0x35000000(后补0)
大端数据表示为0x31323334,0x00000035(前补0),演算器遵守此规则。

由于http://www.hotc51.com/HotPower_HotWC3.html是按分组大端设计的,
故:
选择CRC右移32,初值=00000000,权值=EDB88320(自动选出)
入值=FFFFFFFF(输入的XOR值),出值=FFFFFFFF(输出的XOR值)。
输入明文=3433323135,点击“计算”
得到密文=641C1F5C340AC5E3
取出校验和(最后一组密文的取反结果)=~340AC5E3=CBF53A1C

可以看到输入和输出不等长,即
输入明文=3433323135
输出密文=641C1F5C340AC5E3  CRC64=CBF53A1C

此时点击“还原”,会发现:
输入明文=343332312D0B3C26
输出密文=641C1F5C340AC5E3   CRC64=CBF53A1C

即分组不全的3433323135可以用分组齐全的343332312D0B3C26替代。

这种分组不全的CRC校验方式很容易造成碰撞,故建议不要采用。

在一般CRC校验中,会利用CRC对角矩阵行列相等即主对角线为0
即加发一组最后的明文。来提高校验的真实性,虽然它也跑不过
“人为碰撞”之手。

例如(本坛vista下不能贴图):
输入明文=343332312D0B3C26340AC5E3
输出密文=641C1F5C340AC5E300000000   CRC64=FFFFFFFF

这只能保护后2组数据的完整,依然可碰撞第1组:
输入明文=FFFFFFFF4917237A340AC5E3
输出密文=00000000340AC5E300000000   CRC64=FFFFFFFF

输入明文=248EF9BE4917237B340AC5E3
输出密文=00000001340AC5E300000000   CRC64=FFFFFFFF

输入明文=926CF53C49172378340AC5E3
输出密文=00000002340AC5E300000000   CRC64=FFFFFFFF

输入明文=6DD90A9DB6E8DC85340AC5E3
输出密文=FFFFFFFF340AC5E300000000   CRC64=FFFFFFFF

我们可以制造2^32次个这样的碰撞,而非数学家的X.XXX%次的概率。

所以菜农搞的是“人为碰撞”,而非本坛软件的“真碰撞”。

总之“CRC碰撞”对菜农来说,“只是敲还原键而已,没什么高深的理论”。

菜农不是密码学家,更非数学家,俺只是一个勤劳爱动脑筋的菜农~~~

拍砖俺习惯了~~~
2009-7-25 09:28
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
味道出来了. 来个猛一点的.
你上面的明文=3C4DE0E9B2B1E075671281DEF4E6BC3D
算出来的CRC64值跟这个不一样. 应该是你说的权数不同的关系吧.
你能搞成跟这个一样的计算结果吗?


上传的图像  

找到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.03支持CRC64-ECMA,同时增加对CRC24和CRC40的支持。

现在支持CRC4,CRC8,CRC12,CRC16,CRC24,CRC32,CRC40,CRC64共8种。

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

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

在CRC研究方面,菜农绝不低于地球上任何人~~~
2009-7-25 11:47
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
HotWC3网上运算器现在已升级到V4.07,准备在菜农50岁生日那天终结对CRC的研究,因为我已证明
HotWC3密码系统是安全的。
攻击CRC核需要至少三个明文及密文对,而HotWC3则是一次一密,即躲过了CRC
破解的充要条件,故菜农的任务已基本完成,我此生无悔。

2009-10-28 20:52
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=HotPower;705059]HotWC3网上运算器现在已升级到V4.07,准备在菜农50岁生日那天终结对CRC的研究,因为我已证明HotWC3密码系统是安全的。
攻击CRC核需要至少三个明文及密文对,而HotWC3则是一次一密,即躲过了CRC 破解的充要条件,故菜农的任务已基本完成,我此生无悔。[/QUOTE]

1. 請問證明在哪裏?願聞其詳,洗耳恭聽。
2. 既然 HotPower 自認"夠安全",何不發表到國際上的相關安全會議?
以下提供幾個,請酌參:
9th Annual Security Conference is scheduled for April 7-8 2010 in Las Vegas, NV, USA.
Information Security Conference 2009 in Pisa, Italy. 這個過期,準備 2010 年的吧。
王小雲教授就是2004(USA)那場。
EUROPKI'09
EuroCAT'09
Asiacrypt 2010, December 5-9, Singapore.
Crypto 2010, August 15-19, Santa Barbara, CA, USA.
Eurocrypt 2010, May 30-June 3, Nice, France.

當然還有很多,族繁不及備載,請自行查閱。
2009-10-28 21:45
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
刚和王育民教授通完电话。他让我参加在广州的会,我说单位不支持,
菜农只是业余兴趣,别无他求。

自己论证了,自己乐。
2009-10-28 21:51
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
7
下次 HoPower 大哥和王育民教授通完电话時,請別忘記,請他對【原创】The XOR Secret in Our Computer System 16 樓的附件論文 An improved signature scheme without using one-way Hash functions.pdf 提出指導。
這篇 An improved signature scheme without using one-way Hash functions.pdf 王育民教授剛好是兩位作者中的第二位。
小弟不才,剛好破解(或攻擊, Attack) 了他這篇論文。
然而根據我的方法,不只破解王育民教授那篇論文,還可以攻擊數百篇論文,那些數百篇的論文,我已經把它們上傳至密碼學版。
上面只是SDOS 收錄的文章,我還沒擺上 IEEE 數據庫的系列論文。
若 HotPower 有到廣州,也順便幫我問候中山大學的張方國教授(Fangguo Zhang )。
謝謝。
2009-10-28 22:08
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我不会去广州的,王老这几天身体欠佳,
我与他谈了我的攻击和安全的想法,他说可能还有其他方法攻击。
这我赞同,我也准备寻找其他攻击手段来破解HotWC3.

看来版主是密码高人,我只是一介布衣,不求什么,只求“曾经拥有”
2009-10-28 22:19
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
9
我乃一介書僮,並非密碼高手, HotPower 大哥想太多了。
其實我很看好 這些 CRC 的文章,我還真的向密碼版的真正高手請教過,他認為您提出的那種方法,是一種 stream cipher (至於天干地支那些就略過吧)。
壇主Kanxue、副壇主 Ivanov及Jackozoo 版主等人都有看過我請叫高手的對話,我不說謊。日期及時間就在2009-07-07, 23:26.
2009-10-28 22:34
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
HotWC3网上运算器现在已升级到V4.15,支持运行结果的实时跟踪及输出。
支持本地计算机(把网页拷贝的硬盘)的文本语音朗读及运行结果的实时语音提示

带语音提示功能的HotWC3网上运算器V4.15

2009-11-6 06:58
0
游客
登录 | 注册 方可回帖
返回
//