打印

菜农请xwj把HotWC3密码的解密框图“洗出来”,否则再先来认

[复制链接]
2076|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HotC51|  楼主 | 2009-3-6 21:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HotC51|  楼主 | 2009-3-6 21:34 | 只看该作者

哈哈~~~俺命名HotWC3简称“公厕3”,意味很臭~~~

使用特权

评论回复
板凳
xwj| | 2009-3-6 23:08 | 只看该作者

怎么洗???

使用特权

评论回复
地板
HotC51|  楼主 | 2009-3-6 23:29 | 只看该作者

你是解密高手,还用教吗???画出草图即可

使用特权

评论回复
5
xwj| | 2009-3-6 23:33 | 只看该作者

看不到我3楼的图片吗?

看不出问题吗???

使用特权

评论回复
6
HotC51|  楼主 | 2009-3-7 09:40 | 只看该作者

哈哈~~~看来你也不过是一个普通的“地球人”,就此结

俺三八节公布。

这样35为加密38为解密。3538+WC3

使用特权

评论回复
7
xwj| | 2009-3-8 09:46 | 只看该作者

服了你了,根本就看不到图,洗个P啊???


 

你难道就从来不仔细看别人的贴的吗?


 

 
 kanprin 发表于 2009-3-7 00:41 侃单片机 ←返回版面   

50楼: 报告,真的看不到图

  




 


 [url=https://bbs.21ic.com/upfiles/img/20093/20093893837495.gif][/url]

使用特权

评论回复
8
HotC51|  楼主 | 2009-3-8 13:33 | 只看该作者

哈哈~~~三八了,还是俺自己公布吧,不要说“俺早知道”

这是基本原理图,有时间谈谈如何“变异”

哈哈~~~不要像“个人简历”一样,

总说“俺早知道”~~~,一切都“很简单”~~~



使用特权

评论回复
9
huangqi412| | 2009-3-8 15:26 | 只看该作者

洗碗机洗wc?

使用特权

评论回复
10
hotpower| | 2009-3-8 15:29 | 只看该作者

哈哈~~~HotC51共产儿童团第十四课

先祝大家节日愉快~~~

开课:(此课比较晕)

HotWC3密码是由星期(Week)算法、循环冗余码(CRC)、三角(Triangle)密码这三部分基本元素构成。

故简称WC3密码。

由于此密码算法依据菜农自己推导的菜农星期公式群魔乱舞的CRC密码和原创
三角密码作为算法之根基,故自称为HotWC3密码。

1. HotWC3密码强度。

基本的HotWC3密码为BCD码格式的万年历日期表达式,占用四个字节。
由于400年为20871周,故10000年=20871*25*7=521775*7=3652425

大约为2^22不到。就认为HotWC3是21位密码吧。但可再加入多位密码,来增加
密码强度。这里只讨论基本HotWC3.

形象点说银**为6位十进制密码,范围为0~999999
而HotWC3为8位BCD密码,实际10进制范围为0~3652424

2. HotWC3密码的设计原理
HotWC3为8位BCD密码bDate[4],分别表示 百年:年:月:日。
例如:BDate[]={0x20,0x09,0x03,0x05}

1)星期变换
为了使密码收敛,即将长密码得到一个极短的唯一码。
而万年历内的某年某月某日即可得到一个确定的星期Week(0~6,0表示星期日)

例如:BDate[]={0x20,0x09,0x03,0x05} 得到Keek=0x04

由于BDate为BCD码,故星期变异后,即W17=16*Week+Week=17*Week
将其累加的BDate上,即完成日期变异,即wDate[N]=BDate[N]+W17.

例如:BDate[]={0x20,0x09,0x03,0x05} 得到Keek=0x04
W17=16*Week+Week=17*Week=(Week<<4)| Week=0x44 
wDate[]={0x64,0x4d,0x47,0x49}

这样wDate就成了包含星期的日期表达式,此可谓“天地巧合”。
这就是HotWC3要求BCD格式的最重要的原因~~~

2)星期密钥
HotWC3需要一个内部的加密和解密“公钥”,而且不能从密码中推算出来。
HotWC3选用万年历做密码,得到的星期数大约为521775/7=74539个。
故不可能从星期推算出万年历密码。

HotWC3的星期密钥Key为W17与wDate[4]这5个数的异或结果。
wDate[]={0x64,0x4d,0x47,0x49}
W17=0x0x44
Key=0x63.

可以看出,从Key里看不出任何BDate的痕迹。
Key将作用于三角变换的输入,输出及密文的输出方面。

3)三角变换
因为在一个直角三角形中,已知一个整数直角边,则必有唯一一对的整数
直角边和斜边。早有苏联数学家进行过推论,菜农不过进行了形象话的解释。

本来 a^2 + b^2 = c^2 需要知道a,b才能算出c,否则有无穷多组解。
但是,在“直角三角形”和全为“整数边”这两个隐藏很深的“条件”下,
只需知道一个整数直角边,即可得到另一直角边和斜边。

用一个参数“扩散出”2个参数,这正是CRC运算所需求的,如“初值”和“权”

即:当一直角边为奇数时,平方砍半。
    例勾3股4弦5   3^2=9  9/2=4,5    即3^2+4^2=5^2

    当一直角边为偶数时,砍半平方再拉手。  
    例股4勾3弦5   4/2=2 2^2=4 3(4)5      即4^2+3^2=5^2

关于三角密码,这里不用多说,总之一个字节的三角值会“发散”为两个字节。

为了避免平方和开方运算,菜农特编写了《三角变换表》,这样只需给出
需要变换的三角值,查表可得出唯一的三角变换值。

三角变换值为2个字节,可作为每次CRC8运算的“初值”和“权”。
由于其不可能相等(直角边不等于斜边),故可比较其大小来确定CRC运算的“方向”~~~

再将“初值”和“权”相异或且再与星期密钥相异或后,即得到“三角密钥”。

4)CRC密码

CRC密码是菜农“私自”改动了其CRC运算架构来满足菜农对“CRC可逆”的需求。

这样任何(群魔乱舞的CRC)CRC即可进行加密和解密运算,可以从菜农发布的
《CRC/PEC网上计算器》看到其“可逆”之处~~~

这样,我们即可根据CRC的“三要素”:初值、权和方向。
正运算出CRC的结果,即加密过程。
逆还原出CRC的原貌,即解密过程。

HotWC3算法中的星期和三角变换的收敛和扩散都是起保护CRC“三要素”的作用。

5)密文输出
CRC运算的结果再异或星期密钥后作为真正的密文输出。
这样更深地掩盖了密文和星期、CRC及三角变换之间的关系。

HotWC3的设计宗旨:让逆向者只能通过“基于密钥攻击”(晕,知道密码还叫攻击)

这样的设计,使逆向者无法“基于明文攻击”或“基于密文攻击”。

哈哈~~~

祝大家“三八”愉快~~~

课毕

HotC51@126.com   2009.3.8于菜地。
团部:http://group.**/1623/






相关链接:https://bbs.21ic.com/club/bbs/list.asp?boardid=68&t=3255539

使用特权

评论回复
11
hotpower| | 2009-3-8 16:19 | 只看该作者

楼主位的贴图俺在什么地方都能看见,谁给作个证明?

估计没人敢作证~~~害怕“打击报复”~~~

使用特权

评论回复
12
xwj| | 2009-3-8 19:47 | 只看该作者

还要怎么证明?你以为kanprin和xiaorunyi 说话是什么啊???

使用特权

评论回复
13
HotC51|  楼主 | 2009-3-8 20:43 | 只看该作者

算了,就此结贴。从上次“选美”就缘分一绝。。。

使用特权

评论回复
14
kbgyzp| | 2009-3-8 21:24 | 只看该作者

回复11楼:

Hot前辈,确实看不到,我可作证,你冤枉老X了。
请看我的抓图:

使用特权

评论回复
15
HotC51|  楼主 | 2009-3-8 22:14 | 只看该作者

已结贴~~~

使用特权

评论回复
16
yewuyi| | 2009-3-9 14:17 | 只看该作者

呵呵,确实看不到的

我上次看那个帖子的时候,也是红XX

使用特权

评论回复
17
LPCFANS| | 2009-3-9 16:02 | 只看该作者

搞斗争了.....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

306

帖子

0

粉丝