首页
社区
课程
招聘
软件加密的CRC和网络数据校验使用的CRC是不是一样的?
2004-10-28 16:48 5758

软件加密的CRC和网络数据校验使用的CRC是不是一样的?

2004-10-28 16:48
5758
是否都是这个算法?

CRC(循环冗余码)又称为多项式码。这是因为,任何一个由二进制数位串组成的代码都可以和一个只含有0和1两个系数的多项式建立一一对应的关系。例如,代码1011011对应的多项式为 ,而多项式  对应的代码为110110。并且,CRC码在发送端编码和接收端校验时都可以利用一个事先约定的生成多项式G(x)。k位要“发送”的信息位可以对应于一个(k-1)次多项式K(x),r位冗余位(即我们用于校验的散列值)对应于一个(r-1)次多项式R(x)。由k位信息位后面加上r位冗余位组成的n= k+r位码字则对应一个(n-1)次多项式T(x)= *K(x)+R(x)。这个T(x)就是我们要“发送”的信息码。
        由信息位产生冗余位的编码过程,就是已知K(x)求R(x)的过程,在CRC码中,可以通过找到一个特定的r次多项式G(x)(最高次项 的系数为1)来实现。确定G(x)后,用G(x)去除 *K(x)得到的余式就是R(x)。
R(x)=  *K(x)/G(x)(注意这里的算术运算都是模2的,且“/”代表求余)
        校验时,使用逻辑表达式
T(x)/G(x)= =0        (“/”代表求余)
        来验证信息的完整性。若此表达式的值为真,我们认为信息是完整的,否则说明信息有差错。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞1
打赏
分享
最新回复 (6)
雪    币: 397
活跃值: (799)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsy 2004-10-28 21:49
2
0
crc 不是一种加密算法,就是你所说的循环冗余码
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
cnbragon 18 2004-10-29 10:05
3
0
不一样,区别很大
雪    币: 397
活跃值: (799)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsy 2004-10-29 22:25
4
0
cnbragon:
用于加密的crc是什么算法?
能不能说清楚些?
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dislimit 2004-11-1 21:26
5
0
有没有哪位兄弟能说得详细一点?
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
cnbragon 18 2004-11-2 18:32
6
0
在<<加密与解密第二版>>中 第6章 加密算法
把CRC32归入单向散列算法
雪    币: 397
活跃值: (799)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsy 2004-11-4 06:16
7
0
明白了,这种说法是不科学的。

就算成是密码算法,也和校验用的完全一致
游客
登录 | 注册 方可回帖
返回