楼主: hotpower

112位HotWC3密码系统原理框图概要

[复制链接]
发表于 2009-7-19 00:17:00 | 显示全部楼层
本帖最后由 宇宙飞船 于 2009-7-19 00:25 编辑

就让俺这个门外汉再来研讨一下简明加解密算法:
对于112位待加密数据有112/8 = 14字节, 另加上CRC校验值2字节,共16字节,
由于CRC值已包含2^16次方随输入数据而变化的校验值,因此可看作是一个随机因子。
所以输入与输出关系呈现2^16次方的变化,要破解就必需载获大于2*2^16的密文数据。若果要使输出呈现2^112次方的变化,必定要附加112位/8=14字节 由于已有2字节CRC值,
因此另要产生的随机数 =14字节-2字节=12字节。
传输的密文数据总量至少应等于:
14字节(输入)+12字节(产生随机数因子)+2字节(CRC校验值兼随机数因子)=28 字节

怎么样了,俺没算错吧!
 楼主| 发表于 2009-7-19 00:38:24 | 显示全部楼层
本帖最后由 hotpower 于 2009-7-19 01:06 编辑

实际上密码体系与明文或密文流的长度是无关的,只与密钥的长度有关。
再长的明文流所对应的密文流也可能找不到它们与密钥的关系。

从框图中可以看出:
有些子密钥流是受控制的,如日期密钥流,它由天地密钥流中某次流中字节的高2位
控制移位1~4位,这样可能导致在一定数量的明文流中日期密钥流中的某些位永远
也不会起作用,故在一定长度(小于密钥长度)的明文流和明文流也永远得不到它们
和密钥之间的唯一关系。当然在实际密码的设计上不会发生这种现象。因为日期密钥
为32位长度,这样最多用32次即可“转一圈”。由于规律复杂,故显现了“随机现象”。
正是这样的随机,才导致了从明文流和密文流之间的关系中很难导出和密钥之间的关系。
即再长的明文流也没伪随机密钥流长,这就是密码的魅力所在~~~

飞船可能看过《潜伏》《暗战》之类的“谍战片”,上面所谓的“电文密码”严格
来讲应该是“编码”或可称为“算法保密的编码”即“密码”。
这种“密码”只有混淆作用而无任何扩散作用。即某个字编码错误也不会影响其他
密文的翻译。故不能称为密码。
但由于其编码表不公开,故只能认为其为“密码”。

其算法就是主人公手里的“小说书”。编码就是“某页某行对应的第几个字”
发表于 2009-7-19 14:26:07 | 显示全部楼层
本帖最后由 宇宙飞船 于 2009-7-19 14:59 编辑

俺的盲锤算法简单明了,仅需要一点单片机的编程知识就足够,根本就不需要那些哄人的砖头厚的密码学的书!
盲锤算法的待加密的码长可以任意设计,对于保密性能,只要不公开源码,世界人无人能破解!
关于本盲锤算法,若想在外部破解,根本不可能!这是由于随机因子跟待输入加密的数据长度无关,所以随机因子可以任意加长!
内部破解也根本不可能,由于算法不公开,固定的识别因子长度最大可以取两倍的待加密输入数据的长度。
对于识别因子注解如下:
例如设计加密输入是112位
就可以从2^112 次方任取一多项式与输入数据XOR,恢复时必需用相同的因子XOR
识别因子还可以取来自附带的随机因子。
对于分割成4*4的方阵,由于输出字节有28字节,因此有14个4*4方阵,旋转组合上就有14*13*12*11*10*9*8*7*6*5*4*2*1*(4*4)=1394852659200 次的组合。加上大环移 224次
因此序式设计最少有:
224(大环移)*1394852659200(魔方组合)=312446995660800 次。
一G种以上的程序设计,世界上有哪个疯子程序员会做这种编程尝试的!!!
再加上固定的2^224次方保密识别因子。这个世界上根本没有人能破解俺的盲锤算法。

老农看完后是否有点泄气了?
 楼主| 发表于 2009-7-19 16:26:12 | 显示全部楼层
盲锤算法???

建议飞船画个框图~~~
你这是序列密码还是分组密码???
1394852659200 次也不过40多位,穷举应该没问题。

只要不公开源码,世界人无人能破解!


这是不可能的~~~
发表于 2009-7-19 16:29:09 | 显示全部楼层
迅速插入一楼,观看高手对决。
发表于 2009-7-19 18:18:52 | 显示全部楼层
哪是个高手对决啊,仅是个沙漠风暴而已。
发表于 2009-7-19 18:19:01 | 显示全部楼层
老农肯定看眼花了,看准以下的文字!
一G种以上的程序设计,世界上有哪个疯子程序员会做这种编程尝试的!!!
穷举的方法仅是指:计算机可以从0--->2^112 次方尝试!
那可是1G道不同的人工程式写法!计算机是不会自已写程序的!
 楼主| 发表于 2009-7-19 18:33:25 | 显示全部楼层
本帖最后由 hotpower 于 2009-7-19 18:57 编辑

很晕~~~不明白~~~

自己梦想的吧~~~飞船知道“逆向”这个行业吧~~~

它的最高境界---根据汇编语言用C语言写出其算法。

给冬发看看我的思路对否???

HotWC3密码混淆与扩散的设计与实现




在密码学中,混淆与扩散是密码中最基本和最精华的一部分。
混淆可以使解密者无法从明文与密文的对应关系中寻找不出它们与密钥之间的联系。
扩散就是明文或密钥某一位发生变化则对应的密文将引发“雪崩现象”即“面目全非”。

一般常用的是将密钥置换为子密钥再与明文混乱置换、结构交叉互换等各种方法以达到
混淆与扩散的目的。

HotWC3密码采用“各行其道、密钥混淆、随机扩散”的原则:
1.用可逆的核算法CRC8在结构上分为三部分,即CRC密钥、明文流及密文流。
2.在结构上几乎完全对称地化为左右两部分。

从框图上看明文与密文之间几乎无任何关系,唯一的关系就是它们之间的XOR后对天地
和星期两个子密钥的变动。

那么HotWC3如何实现混淆与扩散呢???

在CRC算法中,当CRC密钥确定时,CRC8实际是一张0~255不重复数据的表格。
此时明文对应于唯一确定的一个密文。
故CRC8只是256!(=8*10^506)全排列表中其中的2^16个表格。

那么只要保证每次明文输入时密钥是随机变化的,也就确定了一个随机变化的密文。
注意:
在CRC初值=0时,且权=0,或左移CRC权=1,右移CRC权=0x80时,将发生明文=初值

由于CRC的冗余,即“多对一的关系”,每个密文将对应2^16表格中的某个明文,这种
关系是不可逆的,故不同的密钥就达到了“混淆”的目的。
CRC8密钥碰撞有2^8=256次,即确定的一对明文与密文对应256个不同的密钥(初值、权及方向)。

HotWC3的扩散是随机的。它实际与混淆表格的位置有关。

故HotWC3密码要达到混淆与扩散的目的,只要做到每次加密解密CRC的密钥随机即可。

从框图上看HotWC3是有几个“弱密钥”的,如全部子密钥为0,上部分的子密钥为0x55
0xaa等,因为这些可能使CRC密钥就循环重复几次,即CRC表只有几个。

当然框图是最简洁的,这主要考虑硬件的实现。而且子密钥要先经过内部的初始置换以保证
子密钥的“弱密钥”现象的发生最少。

改进方法可能要加入反馈交叉等方法,使密钥伪随机周期加大。

等和教授们探讨后找出不足而定。

举3个HotWC3混淆和扩散的数据实例(测试工具):

昨日数据:
日期密钥:20090718,用户密钥:12345678,扩展密钥:0000
明文:00000000000000000000000000000000
密文:D5096821C4FBBF51E9CA20F97A54BCE5

今日数据:
日期密钥:20090719,用户密钥:12345678,扩展密钥:0000
明文:00000000000000000000000000000000
密文:E93212BB9FA455524E0D51A9AFDAD49F

明日数据:
日期密钥:20090720,用户密钥:12345678,扩展密钥:0000
明文:00000000000000000000000000000000
密文:2232731E57D89A030444F0D86564DD1F

从以上3组数据可以看出:
1.明文全0,从密文与明文之间的关系很难反推出密钥,即“混淆”---晕
2.密钥之间差一位,3组密文流“面目全非”,即“扩散”---更晕
3.从今日数据和明日数据密文流的第2个数据32可以看出发生了“密文碰撞”。
发表于 2009-7-19 19:00:47 | 显示全部楼层
即使是完全不懂加解密的菜鸟,只要会单片机编程,把俺在这栋楼里的贴子仔细读完毕的网友,应当完全明白加解密是啥回事了,应该有能力写出属于自已的加解密程式!
 楼主| 发表于 2009-7-19 19:11:06 | 显示全部楼层
本帖最后由 hotpower 于 2009-7-19 19:14 编辑

飞船真是“倒塌”了密码学~~~

加密和解密是加密方和解密方及窃听方这三方面的事,你非要搞成秘密的两方~~~

记住: 世上有密码学,还有与之对应的“密码分析学”~~~

有“单片机编程”就有“硬件单片机解密”和“软件反汇编”~~~
 楼主| 发表于 2009-7-19 19:18:16 | 显示全部楼层
飞船可以看看某个网站的“鉴定结果”和“原则”

鉴定完毕:

飞船确实不懂~

可以忽略掉~~


算法公开是密码学的一个基本原则,不公开的算法没人能保证它的强度
发表于 2009-7-19 19:24:44 | 显示全部楼层
//加密和解密是加密方和解密方及窃听方这三方面的事
如果人人都有电视机顶盒的解码程序,岂不是人人都可以免费收看收费电视频道了!这世界有这么美的事吗?
依俺看老农是入魔道太深了!密码学的书是人写的,写书的人就一定是实践专家了?俺看就末必!
MCU能干什么事?什么事情不能干?程序员是最清楚当今流行MCU的能力极限了!俺至少也算一个准程序员。
发表于 2009-7-19 19:33:48 | 显示全部楼层
本帖最后由 宇宙飞船 于 2009-7-19 19:35 编辑

读完俺这栋楼前53层所有贴子的网友,只要脑子不是笨到家的人,应该尽得加解密的精华。!
 楼主| 发表于 2009-7-19 19:37:18 | 显示全部楼层
飞船继续做梦吧~~~
发表于 2009-7-19 19:47:40 | 显示全部楼层
飚上了,呵呵
发表于 2009-7-19 21:56:38 | 显示全部楼层
大家可以看俺这些楼层的贴子:
21 楼,37楼 ,41楼,43 楼
俺在41楼就用一条万能公式摆平加解密的本质:
重复如下:
例如:对于要加密112位的数据:
112/8=14字节 再加入相同字节的随机因子就OK了。
14字节(待加密数据输入)+14字节(产生随机数因子)=28 字节 (加解密万能公式)
为什么要加随机因子,在37楼有原理说明。
编程人员只要做一个随机数发生器(14字节的发生器可发成几个小随机发生器)
把随机因子安排在这28字节当中。

然后把以上的28字节数据打乱,就大功告成,是不是很简单!
发表于 2009-7-19 22:10:25 | 显示全部楼层
老农在26楼打出那么多的密码学的网址,把俺吓得两脚发抖,差点走不了路。
俺生平最怕看那些博士们写的理论书!
俺就把加解密的本质三两语就揭爆,看他们那些以写此书为生的人以后还怎么卖!
哈哈。。。。罪过,罪过!
 楼主| 发表于 2009-7-19 22:25:08 | 显示全部楼层
我很晕~~~

例如:对于要加密112位的数据:
112/8=14字节 再加入相同字节的随机因子就OK了。
14字节(待加密数据输入)+14字节(产生随机数因子)=28 字节 (加解密万能公式)
为什么要加随机因子,在37楼有原理说明。
编程人员只要做一个随机数发生器(14字节的发生器可发成几个小随机发生器)
把随机因子安排在这28字节当中。

然后把以上的28字节数据打乱,就大功告成,是不是很简单![/
color]

密钥长度与明文长度无任何关系,112位密钥可以加密1个字节,也可加密250个字节。

飞船好像搞的“分组密码”???但有些不像~~~
发表于 2009-7-19 22:56:11 | 显示全部楼层
俺写得比较急,语句不很通顺,把以下这一句改成这样更好理解。
//例如:对于要加密112位的数据:
改为:对于要达到设计穷举2^112次方的112位的数据:
发表于 2009-7-20 14:34:19 | 显示全部楼层
我是从PEDIY来围观的

忍不住了,注册个ID,顶下菜农

有写程序的,就有逆向的
有加密的,就有解密的。
普通的“加密”是否能破解,要看有没有破解的价值。


飞船说的那些什么“密码”,别说什么原理“没人知道”“没人破解的了”。说白了,就看被你加密的东西有多重要。

你要是就用到“机顶盒”上,加密个电视节目,没人懒得理你,我们就掏钱看多舒服啊。
你要是加个国家机密,放心把,有部门砸几百万$给我们民工,别什么“找出针在哪儿”,
俺们把你的“机顶盒”电路图都直接给你逆出来~给我们的钱再多点,俺们把你的那个
“机顶盒”制造原料的来路都扒出来
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表