首页
社区
课程
招聘
CRC的另类用法
发表于: 2019-7-25 16:13 32123

CRC的另类用法

2019-7-25 16:13
32123
  CRC除了检测文件的完整性外还可以有其它用处,例如用户密码有些很简单难于利用,如果使用CRC函数就能将简单的字符换算成复杂的数字,尤其是CRC32或CRC64,能将简单的字节数据转换为4字节或8字节的数据,并且是不可逆的,利用它们就能从简单的用户密码衍生出许多有用的数据,使加密方法得以实施。

[课程]Android-CTF解题方法汇总!

收藏
免费 2
支持
分享
最新回复 (11)
雪    币: 10845
活跃值: (1054)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
2
CRC确实具备这样的效果:把看起来有语义的输入数据,变成无语义的输出数据。至少表面上看起来,是变得复杂了。
但是 CRC是不可逆的吗?不能这么说吧。
给定一个CRC结果,求一个输入数据使之CRC之后的结果如预期。这是一件容易的事情。
可能有人会说难。那是因为,要找出原来的那个输入是困难的。因为满足要求的输入太多了。没法区分哪一个比其它的更高贵、更正宗。
但是,如果后续的密码认证过程使用的就是CRC结果本身,而不是CRC的原始输入,那么也就没必要纠结哪一个是正宗的了。因为任何一个的效力都是一样的。随便找出任何一个满足要求的CRC输入,都能满足后续密码认证。这样会使得系统出现多个正确的口令。
所以,把CRC用于用户口令的认证,不一定是件好事。
2019-7-27 22:26
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
也许是这样。不可逆是一定的,例如一个字符a 的CRC32结果是32位的数据,再也回不到过去了。
2019-7-28 00:16
0
雪    币: 10845
活跃值: (1054)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
4
根据crc的结果,要准确地逆推出输入数据,确实做不到。因为可能的原像有无穷多个。

但是 如果已知crc32的本原多项式 已知crc的结果 且已知输入长度不超过4B,那么就可以准确找出输入数据。
因为此时满足条件的输入,只有1个。
2019-7-28 07:34
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
没意义,CRC运算只是个工具中间值是什么都找不到,怎么找源头,找到又如何?
2019-7-28 09:00
0
雪    币: 10845
活跃值: (1054)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
6
找到又如何?
这个问题的答案 取决于 crc的结果会被用于后续的什么操作。
只要给出了具体的后续操作,就能知道“找到了会如何”
2019-7-28 11:39
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
对用户密码的加工又不是独用CRC,这东西个子挺大,就用一下,有点不值得。
2019-7-28 18:55
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
厉害
2020-4-25 13:25
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
CRC可以看作一种数据变换方式,灵活用于加密软件中,将给破解者带来不少麻烦。
2020-4-25 22:22
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
CRC的确可以看作一种相当于HASH的东西,但是在MD5碰撞研究都比较多的情况下,还提什么CRC,搞笑呢?

SHA不香吗?
2020-5-20 21:46
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
想用什么随便了,都可以的,自己编的也无所谓,几乎没有多少优劣之分。
2020-5-20 22:49
0
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12

www.hotcrc.com


本人研究CRC已经三十多年…

2022-3-24 08:27
0
游客
登录 | 注册 方可回帖
返回
//