原创 CRC8“洞中探密”——三角及冗余校验密码技术.html应用

2007-4-13 23:59 5706 5 5 分类: 软件与OS

http://www.hotpower.net.cn/UploadFiles/200612222511409.htm


CRC8“洞中探密”——三角及冗余校验密码技术.html应用(5530字)hotpower[23次]2004-9-5 13:26:09
CRC8“洞中探密”——三角及冗余校验密码技术.html应用
hotpower 发表于 2004-4-5 15:32 侃单片机 ←返回版面   举报该贴

CRC8“洞中探密”——三角及冗余校验密码技术.html应用

注:本文的全部运算可用<三角及冗余校验密码技术.html>调试
    本文只以CRC8为例,CRC16~CRC64完全一样!

本文是
CRC8“深山探宝”——三角及冗余校验密码技术.html应用
的序集。主要论述CRC8在加密及解密方面的应用。

大家知道,CRC主要是由初值、权、原码三个基本“元素”构成。
采用响应的CRC算法将会得到一个CRC结果。

例:采用右移CRC8时
    初值=00H 权=18H 原码=88H
    则:CRC结果=4EH
    初值=00H 权=19H 原码=88H
    则:CRC结果=4EH

例:采用左移CRC8时
    初值=00H 权=18H 原码=88H
    则:CRC结果=C3H
    初值=00H 权=98H 原码=88H
    则:CRC结果=C3H

从上可以看出,当采用右移CRC8时,与D0无关。
              当采用左移CRC8时,与D7无关。
所以可以得出一个“结论”——CRC具有多值“特性”。

例:采用右移CRC8时
    初值=12H 权=18H 原码=88H
    则:CRC结果=6FH
    初值=21H 权=18H 原码=88H
    则:CRC结果=33H

例:采用左移CRC8时
    初值=12H 权=18H 原码=88H
    则:CRC结果=E2H
    初值=21H 权=18H 原码=88H
    则:CRC结果=74H

从上可以看出,当CRC的初值不同时,其CRC结果也不同。
              当采用左移CRC8时,与D7无关。
所以可以得出一个“结论”——CRC具有多态“特性”。

CRC的“多值多态特性”主要是由24位的CRC运算得到8位的CRC结果产生的。
正是这个“特性”,就使得CRC密码可以“群魔乱舞”。
本文只讲述CRC加密和解密的最基本的原理...

在密码学中,主要由加密钥、解密钥、明文、密文等构成。
而在CRC密码中,一般采用一个密钥,及加密钥就是解密钥,这样较方便些,
但加密和解密的算法不同,且是可逆的。
CRC的密钥实际上是由初值和权两部分组成的。
而CRC的密文实际上就是用CRC的密钥对CRC的原文进行CRC加密运算得到的CRC结果。
在进行CRC解密时,就是用CRC的密钥对CRC的密文进行CRC解密运算得到的CRC结果。

例如:明文(HEX码)为0123456789ABCDEF.
    设CRC密钥为1234H(初值=12H,权=34H)则:
    采用右移CRC8时,密文为:ECC746D28E5F180A.
    采用左移CRC8时,密文为:34F9734213BEAD3C.
    
    设CRC密钥为0123H(初值=01H,权=23H)则:
    采用右移CRC8时,密文为:0001AA8900769910.
    采用左移CRC8时,密文为:009FA021FFDC6CD6.

为了使加密更可靠,一般会将CRC密钥加长,以破坏CRC的“继承”关系,防止解密者
利用CRC的“继承”关系从密文的任意位置解密,逼迫他从头解密。
这样只有知道了CRC密钥,才能根据CRC密文解密出CRC原文。
例:设CRC密钥为123456H,可用加长的56H依次异或上例中的密文
    采用右移CRC8时,未加长的密文为:ECC746D28E5F180A.(未异或56H时,及CRC密钥为
1234H)
                      加长的密文为:BA911084D8094E5C.(异或56H时,及CRC密钥为
123456H)
    其他就不举例了。解密和加密基本相同。。。

从本文中可以看出:
    若采用CRC8 时,CRC8 的密钥为24位。
    若采用CRC16时,CRC16的密钥为48位。
    若采用CRC32时,CRC32的密钥为96位。
    若采用CRC64时,CRC64的密钥为192位。

所以,CRC加密和解密在MCU中是很容易实现的。          


文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条