首页
社区
课程
招聘
[讨论]4字节数据的 加密
发表于: 2009-6-17 12:36 7390

[讨论]4字节数据的 加密

2009-6-17 12:36
7390
小弟 在朋友那得到一份加密文件,内容如下
左为原始数据,右为加密数据
00 00 00 01        0x2f 0xd9 0x31 0x72       
00 00 00 02         0x40 0x1d 0x9a 0x74       
00 00 00 04        0xd0 0x24 0xe7 0x4b       
00 00 00 08        0xe2 0x1d 0x34 0x88       
00 00 00 10         0x56 0x12 0x87 0x79       
00 00 00 20         0xe8 0x38 0x59 0xe7       
00 00 00 40        0xcc 0x47 0xb5 0x56       
00 00 00 80        0xe5 0x66 0x43 0x10       
00 00 01 00        0xd7 0xc5 0x64 0x46       
00 00 02 00        0xde 0x4b 0xfc 0x84       
00 00 04 00        0x62 0x53 0xce 0x0b       
00 00 08 00        0x2a 0x76 0x2f 0x9b       
00 00 10 00         0xd5 0x23 0x9c 0xe7
看后发现,        尽管原始数据很简单,并且在相差不大的两个原始数据 经加密后闲的非常的离散,
大家有做过这种加密的吗?如何才能生成这种很离散的数据那?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶上来,大家发表下意见啊
2009-6-17 13:26
0
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
随便找找当代的加密方式,都有混合这一项。

BASE64等等不算啊。这个算编码,不是加密
2009-6-17 13:45
0
雪    币: 1491
活跃值: (975)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
4
对算法不懂。。。。
2009-6-17 17:00
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢Yangs的回答,可能我没说清楚,左边的四个字节,经过相应的变换 得到右边的四个字节,后面的都是按照这个变换方式得到的结果,我就是想问问 有什么变换方式能得到相似的结果。
2009-6-17 17:07
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
6
把秘匙弄长些~
秘匙各字节不同不就ok?
2009-6-17 19:32
0
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
四个字节?分块太小了,算是置换。
设置换前为M,置换后为C,选择一个32位的随机数e(=3988292384),
及32位的素数P(=4294967291这个随便选,不过P越小C的碰撞越多)。
C=(M xor e)^3 mod P
这里选3是因为,(3,4294967291-1)=1,
即任意x<4294967291都是4294967291的3次剩余
00 00 00 01   A9 91 A5 33
00 00 00 02   F7 BE E2 12
00 00 00 04   4B 12 94 AD
00 00 00 08   CD 9E DD 5F
00 00 00 10   42 4B 02 B6
00 00 00 20   3D C8 9F 98
00 00 00 40   32 7A 80 8D
00 00 00 80   A8 83 43 9B
00 00 01 00   C5 84 CE D3
00 00 02 00   AA 2D FE 44
00 00 04 00   87 18 C0 5D
00 00 08 00   CE 37 BF 9A
00 00 10 00   65 AE EC 2F
2^32-P=4294967296-4294967291=5
所以仅只有5个C会碰撞
2009-6-17 22:46
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢lingyu老兄的指点,是的 是四个字节,对四个自己(解密),在我的环境里,没有32位的数据(mcu),如果是针对单片机的话,是否有合适的类似方法?
2009-6-18 12:43
0
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
如果你要在单片机上加密的话可以用DES,加密速度快
如果自己设计算法的话,强度很难达到一定程度。
2009-6-18 17:01
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢,谢谢大家!
2009-6-18 17:08
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
俺是菜鸟~~但楼主的4字节离散密文很容易。

它无非是移位+异或之类的手段。

传统密码体系的分组在菜农眼里不过是常用的计算机数据类型~~

给楼主个玩具玩玩~~~菜农的CRC/PEC网上在线演算器

CRC初值和权任意选4字节即32位,方式选32位右移或32位左移,看看结果是否“离散”

注意:计算(正向),还原(逆向)

俺不好意思说它是加密和解密~~~因为它不能作为密码~~~

有兴趣可看HotWC3密码的“幼教版”~~~HotPower星期冗余三角HotWC3密码网上在线演算器(V1.08)

可你会说它不离散~~~

因为它是“8位分组”~~~故00 00 00 01,....02.....03是不离散的

但是01 00...,02.....再看看~~~

若HotWC3采用128/256分组后,会是什么样子???

新人发帖到此,班门弄斧一回~~~望这里的高人见谅~~~
2009-6-18 21:05
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢HotPower老兄的提示。
2009-6-19 12:20
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
大家再给点意见吧 谢谢
2009-6-19 14:41
0
游客
登录 | 注册 方可回帖
返回
//