HotC51共产儿童团第十四课:HotWC3密码设计原理及其“天地巧

[复制链接]
1909|6
 楼主| HotC51 发表于 2009-3-8 21:27 | 显示全部楼层 |阅读模式
先祝大家节日愉快~~~<br /><br />开课:(此课比较晕)<br /><br />HotWC3密码是由星期(Week)算法、循环冗余码(CRC)、三角(Triangle)密码这三部分基本元素构成。<br /><br />故简称WC3密码。<br /><br />由于此密码算法依据菜农自己推导的菜农星期公式群魔乱舞的CRC密码和原创<br />的三角密码作为算法之根基,故自称为HotWC3密码。<br /><br />1.&nbsp;HotWC3密码强度。<br /><br />基本的HotWC3密码为BCD码格式的万年历日期表达式,占用四个字节。<br />由于400年为20871周,故10000年=20871*25*7=521775*7=3652425<br /><br />大约为2^22不到。就认为HotWC3是21位密码吧。但可再加入多位密码,来增加<br />密码强度。这里只讨论基本HotWC3.<br /><br />形象点说银**为6位十进制密码,范围为0~999999<br />而HotWC3为8位BCD密码,实际10进制范围为0~3652424<br /><br />2.&nbsp;HotWC3密码的设计原理<br />HotWC3为8位BCD密码bDate[4],分别表示&nbsp;百年:年:月:日。<br />例如:BDate[]={0x20,0x09,0x03,0x05}<br /><br />1)星期变换<br />为了使密码收敛,即将长密码得到一个极短的唯一码。<br />而万年历内的某年某月某日即可得到一个确定的星期Week(0~6,0表示星期日)<br /><br />例如:BDate[]={0x20,0x09,0x03,0x05}&nbsp;得到Keek=0x04<br /><br />由于BDate为BCD码,故星期变异后,即W17=16*Week+Week=17*Week<br />将其累加的BDate上,即完成日期变异,即wDate[N]=BDate[N]+W17.<br /><br />例如:BDate[]={0x20,0x09,0x03,0x05}&nbsp;得到Keek=0x04<br />W17=16*Week+Week=17*Week=(Week&lt&lt4)|&nbsp;Week=0x44&nbsp;<br />wDate[]={0x64,0x4d,0x47,0x49}<br /><br />这样wDate就成了包含星期的日期表达式,此可谓“天地巧合”。<br />这就是HotWC3要求BCD格式的最重要的原因~~~<br /><br />2)星期密钥<br />HotWC3需要一个内部的加密和解密“公钥”,而且不能从密码中推算出来。<br />HotWC3选用万年历做密码,得到的星期数大约为521775/7=74539个。<br />故不可能从星期推算出万年历密码。<br /><br />HotWC3的星期密钥Key为W17与wDate[4]这5个数的异或结果。<br />wDate[]={0x64,0x4d,0x47,0x49}<br />W17=0x44<br />Key=0x63.<br /><br />可以看出,从Key里看不出任何BDate的痕迹。<br />Key将作用于三角变换的输入,输出及密文的输出方面。<br /><br />Key也对CRC运算结果施加影响,同时CRC运算结果又将作为下次<br />三角变换的输入。形成“闭环”的效果。<br /><br />这样不解开Key就无法得出正确的结果。<br /><br />由于HotWC3的星期密钥Key为W17与wDate[4]这5个数的异或结果。<br />每四个为一组。那么<br /><br />在n=0时,Key&nbsp;XOR&nbsp;wDate[0]即需要百年、年、月及星期的影响。<br />在n=1时,Key&nbsp;XOR&nbsp;wDate[1]即需要百年、年、日及星期的影响。<br />在n=2时,Key&nbsp;XOR&nbsp;wDate[2]即需要百年、月、日及星期的影响。<br />在n=3时,Key&nbsp;XOR&nbsp;wDate[3]即需要年、月、日及星期的影响。<br /><br />故解密时,每个密文字符实际都需要对应位的密码信息。<br />而星期密钥是最关键的,但星期却是不可逆的,即从星期是推不出<br />日期的~~~<br /><br />这样逆向者即解密者只能用穷举法来**HotWC3密码,这正是菜农<br />梦寐以求的~~~<br /><br />3)三角变换<br />因为在一个直角三角形中,已知一个整数直角边,则必有唯一一对的整数<br />直角边和斜边。早有苏联数学家进行过推论,菜农不过进行了形象话的解释。<br /><br />本来&nbsp;a^2&nbsp;+&nbsp;b^2&nbsp;=&nbsp;c^2&nbsp;需要知道a,b才能算出c,否则有无穷多组解。<br />但是,在“直角三角形”和全为“整数边”这两个隐藏很深的“条件”下,<br />只需知道一个整数直角边,即可得到另一直角边和斜边。<br /><br />用一个参数“扩散出”2个参数,这正是CRC运算所需求的,如“初值”和“权”<br /><br />即:当一直角边为奇数时,平方砍半。<br />&nbsp;&nbsp;&nbsp;&nbsp;例勾3股4弦5&nbsp;&nbsp;&nbsp;3^2=9&nbsp;&nbsp;9/2=4,5&nbsp;&nbsp;&nbsp;&nbsp;即3^2+4^2=5^2<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;当一直角边为偶数时,砍半平方再拉手。&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;例股4勾3弦5&nbsp;&nbsp;&nbsp;4/2=2&nbsp;2^2=4&nbsp;3(4)5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即4^2+3^2=5^2<br /><br />关于三角密码,这里不用多说,总之一个字节的三角值会“发散”为两个字节。<br /><br />为了避免平方和开方运算,菜农特编写了《三角变换表》,这样只需给出<br />需要变换的三角值,查表可得出唯一的三角变换值。<br /><br />三角变换值为2个字节,可作为每次CRC8运算的“初值”和“权”。<br />由于其不可能相等(直角边不等于斜边),故可比较其大小来确定CRC运算的“方向”~~~<br /><br />再将“初值”和“权”相异或且再与星期密钥相异或后,即得到“三角密钥”。<br /><br />4)CRC密码<br /><br />CRC密码是菜农“私自”改动了其CRC运算架构来满足菜农对“CRC可逆”的需求。<br /><br />这样任何(群魔乱舞的CRC)CRC即可进行加密和解密运算,可以从菜农发布的<br />《CRC/PEC网上计算器》看到其“可逆”之处~~~<br /><br />这样,我们即可根据CRC的“三要素”:初值、权和方向。<br />正运算出CRC的结果,即加密过程。<br />逆还原出CRC的原貌,即解密过程。<br /><br />“群魔乱舞的CRC”中的“权”是菜农领悟CRC后对其作出的“扩展”。<br />这样我们就没必要受制于X8+X5+X4+X0,X16+X12+X5+X0等束缚和制约。<br /><br />这样即可作为CRC密码的初值和权即CRC密钥来实现CRC的可逆运算<br />即加密和解密过程。<br /><br />HotWC3算法中的星期和三角变换的收敛和扩散都是起保护CRC“三要素”的作用。<br /><br />5)密文输出<br />CRC运算的结果再异或星期密钥后作为真正的密文输出。<br />这样更深地掩盖了密文和星期、CRC及三角变换之间的关系。<br /><br />HotWC3的设计宗旨:让逆向者只能通过“基于密钥攻击”(晕,知道密码还叫攻击)<br /><br />这样的设计,使逆向者无法“基于明文攻击”或“基于密文攻击”。<br /><br />哈哈~~~<br /><br />祝大家“三八”愉快~~~<br /><br />课毕<br /><br />HotC51@126.com&nbsp;&nbsp;&nbsp;2009.3.8于菜地。<br />团部:<a href="http://group.**/1623/" target=_blank>http://group.**/1623/</a><br /><br /><br /><br /><img src="https://bbs.21ic.com/upfiles/img/20093/200938132645551.gif"><br /><br /><img src="https://bbs.21ic.com/upfiles/img/20093/200938132724629.gif">
 楼主| HotC51 发表于 2009-3-8 21:28 | 显示全部楼层

哈哈~~~菜农“三八”特别奉献-拥有自主知识产权的HotWC3

~~~
wb61850 发表于 2009-3-8 21:31 | 显示全部楼层

顶.....

  
 楼主| HotC51 发表于 2009-3-8 22:33 | 显示全部楼层

敬请版主“脱裤子”~~~因为俺自己已经穿裤子了~~~

本帖最后由 NE5532 于 2012-10-23 20:30 编辑

谢谢为盼~~~

可以,但是你得先证明此ID和菜农之间的传递函数关系。
wb61850 发表于 2009-3-9 00:35 | 显示全部楼层

日子总是一天天过的.....

俺仰望星空.....<br />HOT大叔也许就在不远处的星球.....<br />
wb61850 发表于 2009-3-9 00:45 | 显示全部楼层

我仰望星空.....

<br /><a href="http://www.cnmp3.com/mp3/dfif.shtml" target=_blank>www.cnmp3.com/mp3/dfif.shtml</a>
hotpower 发表于 2012-10-23 19:48 | 显示全部楼层
挖墓为2012.10.25菜农个人版《HotWC3密码体系》开版搜索
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

306

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部