amobbs.com 阿莫电子论坛

 找回密码
 注册
bottom↓
查看: 903|回复: 59
打印 上一主题 下一主题

酷贴!3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256加密源码大聚齐

  [复制链接]
跳转到指定楼层
1
发表于 2012-4-13 01:41:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 win2kddk 于 2012-4-13 11:27 编辑

酷贴!3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256大聚齐

前两天想帮朋友做一个ARM/STM32的ISP脱机下载器,想到固件平时是保存在外部SPI ROM里的需要加密。这两天在网上研究了一下流行的文件加密方法并调试和整理了一下,特此公布。先简单的扫扫盲,大家可以边看边下载呵。

DES---研究过加密的朋友十分熟悉,老牌的加密方法了。这是一个可逆的对称加密算法,也是应用最广泛的密钥系统。好像是从1977年美国Z.F.开始采用的。大家都看过U-571吧,DES的思路就是参照二战时期盟军缴获的德军恩格玛加密机,不过DES比那个要NB的多多了。到现在为止,除了差分分析法和线性分析法外只有暴力穷举法了。前两种方法不是密码学家或数学家都不懂呵,不过穷举DES,以现有我们大家都可以掌握的技术手段,恐怕没个几百上千年下不来呵。不过,咱们破解不了,不能说明就没人或没有设备破解不了。正因为如此,所以才衍生出了3重DES加密。常规的DES密钥是64位的(实际上有8位是校验用),而3DES是128位(当然有16位也是校验用)。增加密钥长度并增加运算量来防止破解,并在后来的AES出来之前确定为过度方案。不过现在即便有了AES,3DES也没少用,它依然很NB。
下载DES.RAR

AES---它是一种高级加密标准,也叫Rijndael算法,2002年成为标准。它是用来代替原来的DES加密方法的。它也是一个可逆的对称加密算法。研究过IAP的朋友应该明白,把做好的固件程序通过AES加密后发布,用户可以通过IAP的方式来在线升级程序,而开发者则不必担心自己的生产代码流失。即能加密又能还原,这就是可逆加密算法,这也是我们想用到的。AES在早期的方案征集时就规定了要软硬件可以很好的集成,所以它也比较小,程序量比DES要少一些。
下载AES.RAR

RC6---有个算法RC4听说过吧,在无线传输和串行流传输的加密领域占有相当的分量。据说RC6是同一帮人研究出来的,不过它和RC4没太大关系呵。它是AES方案征集时的候选算法之一,但是没有Rijndael算法那么幸运。RC6据说可以抵抗所有已知的攻击,并能够提供AES所要求的安全性,它也是相当优秀的一种可逆加密算法。不过当初它为什么没能当选为AES算法就不得而知了,不知道当时有没有给评委们足够的商务费用呵。
下载RC6.RAR

TEA---它是一种分组加密算法,也是可逆算法。短小精悍。它的实现非常简单,超不过10行代码。TEA算法每一次可以操作64位(8字节),采用128位(16字节)作为密钥,算法采用迭代的形式,尽管32轮迭代已经足够了,但是最好的迭代轮数是64轮。数据流加密可能比较适合,因为据说早期的QQ采用过TEA加密算法。
下载TEA.RAR

RSA---顶顶有名的非对称公钥加密算法,也许你可能不熟悉,不过网银总应该用过吧,多数都是RSA算法来认证的。1977年就开发出来了,DES时代的东东了。不过用到现在依然坚挺,可见加密强度有多高。呵呵,不过它防解密的原理也很简单:只告诉你两个数相乘后的结果,你能知道原来的两个数是什么吗?RSA的安全性依赖于大数的因子分解,但是并没有理论上可以证明破译RSA的难度与大数分解难度是同样的。它是第一个既能用于数据加密也能用于数字签名的算法,也是可逆算法。不过,在不告诉你密钥的情况下,你就是想什么办法加密后的数据也还原不回去,银行系统用它自有道理呵。告诉你个小秘密,前面说过的RC6好像就是有RSA开发组成员参与搞出来的。不过,RSA也有不少缺点。它受到素数产生技术的限制,产生密钥时很麻烦;出于安全性考虑,分组长度至少也要600位以上,运算代价很高、速度比较慢,比DES之类的对称算法要慢的多。它最大的缺点是需要生成大素数及大数取模时可能会产生特别大的数据量,这些都很耗费时间,生成复杂密钥时在单片机上运行可能都不止10分钟,所以解密时还是尽量让PC或服务器来做吧。
下载RSA.RAR

MD5---非常著名的哈希算法,不可逆算法。网站登录、操作系统的用户认证、文件完整性和数字签名等领域广泛应用。不可逆算法一般做的都比较绝,例如彩虹加密狗,只告诉你一个余数,你能知道原来的除数和被除数吗?只把运算过的数据相比较,而不非得知道原数据,这样就完成了认证过程。要想破解MD5的密码,即使采用现在最快的巨型计算机,据说也要运算100万年以上。不过,加密和解密都是数学领域的竞赛,每一种加密算法都或多或少的存在漏洞或缺陷,MD5看上去真那么牢不可破吗?和MD5同样有名的是山东大学的王小云教授。在2004年的国际密码大会上王小云宣布了她的研究小组完成了对MD5杂凑函数的杂凑冲撞,也就是从理论上说使用MD5的数字签名可以伪造。这也意味着MD5可能需要和其他加密算法共用才可以保证数字签名的安全。不过,说MD5已被破解,那也有些杞人忧天了。可以肯定的告诉你,网络上所有针对MD5提供的破解服务,全部都是查询用字典法暴力破解后的数据包,没有一个是真正伪造出来的数字签名,那些号称有几百亿条的记录对MD5庞大算法来说太小了。试想想,动用美国军方的巨型计算机,利用王小云研究理论,来破解我们的一个单片机或网站认证程序?没必要吧。所以MD5依然可用呵,只不过再加上3DES、AES或SHA来防止字典就更好了。
下载MD5.RAR

SHA---著名的哈希算法,不可逆算法。也是多用在数字签名上。SHA-1和MD5一样,也被王小云教授找出杂凑冲撞的漏洞,不过也是停留在理论上的。SHA-256是很NB的,它光密钥就有64个long,恐怕想要破解已经是天文数字了。最NB的是SHA-512,咱们这里没有收录,这里恐怕还没有人能用得上。
下载SHA-1.RAR
下载SHA-256.RAR

好了,先介绍到这里,一字一字的打真不容易呵。以上所有的程序均为C源程序,不用其他文件,里面都附带了测试程序,在KEIL 4.21上跑过仿真,放心使用。程序大多不是我自己编的,有C++的源程改的,也有别人的C源程。为了尊重别人的劳动成果,里面会带有人家的名字。我只是做了整理和调试。
例如TEA的测试程序:
void TEA_Test(void)
{
        unsigned char dat[16]="0123456789ABCDEF";
        unsigned char TEA_key[16];
        memcpy(TEA_key,"0123456789abcdef",16);//做运算之前先要设置好密钥,这里只是设置密钥的DEMO。

        TEA_Encrypt(dat,TEA_key);      //TEA加密,数组dat里面的新内容就是加密后的数据。
        TEA_Decrpyt(dat,TEA_key);      //密文数据存放在dat里面,经TEA解密就能得到之前的明文。
}

DES的测试程序:
void DES3_Test(void)
{
        unsigned char in_buf[8] = "ABCDEFGH";
        unsigned char miwen[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
        unsigned char out_buf[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

        memcpy(DES_key,"0123456789abcdef",16);//3DES的密钥是128位的,这里只是设置密钥的DEMO。
       
        DEC3_Encrypt(in_buf,miwen);     //3DES加密
        DEC3_Decrypt(miwen,out_buf);  //3DES解密
}

不用管其他程序是怎么完成的,会用C语言的都能看懂吧。有兴趣和有时间可以研究一下运算程序,深入了解一下加密方法。

测试方法与过程:
DES算法和AES算法都有现成的加密软件,把软仿真计算过的数据和人家的软件做对比,并能解密还原为原数据。
RC6、TEA、SHA-256暂时没有找到测试软件,通过不同的密钥看到加密后的数据被完全打散或变形,并能还原为原数据(SHA-256除外)。
RSA也没找到测试软件相对比。实际测试不太复杂的数据加解密数据正常,太复杂的数据用软仿真半小时后解密未果。
MD5和SHA-1算法也有现成的加密软件,自已计算的数据和人家算过的数据做对比,数据准确。

好了,就说这么多吧。打包下载

更多的C++加密算法:
MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-MAC, DES,IDEA, WAKE, 3-WAY, TEA, SAFER, Blowfish, SHARK, GOST, CAST-128, Square,Diamond2, Sapphire, RC2, C5, RC6, MARS, SEAL, Luby-Rackoff, MDC,various encryption modes (CFB, CBC, OFB, counter), DH, DH2, MQV, DSA,NR, ElGamal, LUC, LUCDIF, LUCELG, Rabin, RW, RSA, BlumGoldwasser,elliptic curve cryptosystems, BBS, DEFLATE compression, Shamir's secret sharing scheme, Rabin's information dispersal scheme.There are also various miscellanous modules such as base 64 coding and 32-bit CRC.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2
发表于 2012-4-13 01:47:55 | 只看该作者
本帖最后由 shangdawei 于 2012-4-13 01:49 编辑

lz辛苦了, 顺便生成链接, 容易下载

DES---研究过加密的朋友十分熟悉,老牌的加密方法了。这是一个可逆的对称加密算法,也是应用最广泛的密钥系统。好像是从1977年美国Z.F.正式采用。大家都看过U-571吧,DES的思路就是参照二战时期盟军缴获的德军恩格玛加密机,不过DES比那个要NB的多多了。到现在为止,除了差分分析法和线性分析法外只有暴力穷举法了。前两种方法不是密码学家或数学家都不懂呵,不过穷举DES,以现有我们大家都可以掌握的技术手段,恐怕没个几百上千年下不来呵。不过,咱们破解不了,不能说明就没人或没有设备破解不了。正因为如此,所以才衍生出了3重DES加密。常规的DES密钥是64位的(实际上有8位是校验用),而3DES是128位(当然有16位也是校验用)。增加密钥长度并增加运算量来防止破解,并在后来的AES出来之前确定为过度方案。不过现在即便有了AES,3DES也没少用,它依然很NB。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2MHw5NjJmYmQ0YmU2M2IyMDM1NzIzNjY1YjU5ZjM2YWIxNHwxMzM0MjUyNzg3&request=yes&_f=.rar

AES---它是一种高级加密标准,也叫Rijndael算法,2002年正式成为标准的。它是用来代替原来的DES加密方法的。它也是一个可逆的对称加密算法。研究过IAP的朋友应该明白,把做好的固件程序通过AES加密后发布,用户可以通过IAP的方式来在线升级程序,而开发者则不必担心自己的生产代码流失。即能加密又能还原,这就是可逆加密算法,这也是我们想用到的。AES在早期的方案征集时就规定了要软硬件可以很好的集成,所以它也比较小,程序量比DES要少一些。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ1OXwzMDZiNTMzZDU1MDMyZTBkM2E1ZTM1ODVjNDUzNGQyMHwxMzM0MjUyNzg3&request=yes&_f=.rar

RC6---有个算法RC4听说过吧,无线传输和串行流传输的加密领域占有相当的分量。RC6是同一帮人研究出来的,不过它和RC4没多大关系呵。它是AES方案征集时的候选算法之一,但是没有Rijndael算法那么幸运。RC6据说可以抵抗所有已知的攻击,并能够提供AES所要求的安全性,它也是相当优秀的一种加密算法。不过它为什么没能当选为AES算法就不得而知了,不知道当时有没有给评委们一些商务费用呵。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2Mnw5NDk2YjkxZjZiODAwODgwM2U4MzEzNzgxZjU1MjhjY3wxMzM0MjUyNzg3&request=yes&_f=.rar

TEA---它是一种分组加密算法,也是可逆算法。短小精悍。它的实现非常简单,超不过10行代码。TEA算法每一次可以操作64位(8字节),采用128位(16字节)作为密钥,算法采用迭代的形式,尽管32轮迭代已经足够了,但是最好的迭代轮数是64轮。数据流加密比较适合。据说早期的QQ采用过TEA加密算法。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2NnxmMDAyOGEzNDNlZjBiZTM0MzljY2U0OGUwMzY1ZDkxYXwxMzM0MjUyNzg3&request=yes&_f=.rar

RSA---顶顶有名的非对称公钥加密算法,也许你可能不熟悉,不过网银总应该用过吧,多数都是RSA算法来认证的。1977年就开发出来了,DES时代的东东了。不过用到现在依然坚挺,可见加密强度有多高。呵呵,不过它防解密的原理也很简单,只告诉你两个数相乘后的结果,你能知道原来的两个数是什么吗?RSA的安全性依赖于大数的因子分解,但是并没有理论上可以证明破译RSA的难度与大数分解难度等价。它是第一个既能用于数据加密也能用于数字签名的算法,也是可逆算法。不过,在不告诉你密钥的情况下,你就是想什么办法加密后的数据也还原不回去,银行系统用它自有道理呵。告诉你个小秘密,RC6好像就是有RSA开发组成员参与搞出来的。不过,RSA也有不少缺点。它受到素数产生技术的限制,产生密钥时很麻烦;出于安全性考虑分组长度至少也要600位以上,使运算代价很高、速度比较慢,比DES之类的对称算法要慢的多。它最大的缺点是需要生成大素数及大数取模时可能会产生特别大的数据量,这些都很耗费时间,生成复杂密钥时在单片机上运行可能都不止10分钟,所以解密时还是尽量让PC或服务器来做吧。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2M3w2ODE0MzQ4OGUzZjE4ZDQ5NGVhOWExNDZmMjJlNjNkM3wxMzM0MjUyNzg3&request=yes&_f=.rar

MD5---非常著名的哈希算法,不可逆算法。网站登录、操作系统的用户认证、文件完整性和数字签名等领域广泛应用。不可逆算法一般做的都比较绝,例如彩虹加密狗,只告诉你一个余数,你能知道原来的除数和被除数吗?只把运算过的数据相比较,而不非得知道原数据,这样就完成了认证过程。要想破解MD5的密码,即使采用现在最快的巨型计算机,据说也要运算100万年以上。不过,加密和解密都是数学领域的竞赛,每一种加密算法都或多或少的存在漏洞或缺陷,MD5看上去真那么牢不可破吗?和MD5同样有名的是山东大学的王小云教授。2004年在美国加州召开的国际密码大会上王小云宣布了她的研究小组完成了对MD5杂凑函数的杂凑冲撞,也就是从理论上说使用MD5的数字签名可以伪造。这也意味着MD5可能需要和其他加密算法共用才可以保证数字签名的安全。不过,说MD5已被破解,那也有些杞人忧天了。可以肯定的告诉你,网络上所有的针对MD5提供的破解服务,全部使用的是字典法暴力破解的数据包,没有一个是真正伪造出来的数字签名。试想想,动用美国军方的巨型计算机,利用王小云研究理论,来破解一个我们的单片机或网站认证程序?没必要吧。所以MD5依然可用呵,只不过再加上3DES、AES或SHA来防止字典就好了。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2MXwyMjM0ODU2YjExYjU4OGZjNTUxNzZmMWMyOWY5NDJlM3wxMzM0MjUyNzg3&request=yes&_f=.rar

SHA---著名的哈希算法,不可逆算法。也是多用在数字签名上。SHA-1和MD5一样,也被王小云教授找出杂凑冲撞的漏洞,不过也是停留在理论上的。SHA-256是很NB的,它光密钥就有64个long,恐怕想要破解已经是天文数字了。最NB的是SHA-512,咱们这里没有收录,这里恐怕还没有人能用得上。
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2NHwxYmEwMzYyNzgzN2Y5OWYyN2NkMTA5MTNhOTA3YmNjZnwxMzM0MjUyNzg3&request=yes&_f=.rar
http://www.ourdev.cn/forum.php?mod=attachment&aid=ODQ2NXw5MjE2NDE3MjUwYWY1ZjE3YmMwODBlOTUxOTRmNThjOHwxMzM0MjUyNzg3&request=yes&_f=.rar

所有的程序均为C源程序,不用其他文件,里面都附带了测试程序,在KEIL 4.21上跑过仿真,放心使用。程序大多不是我自己编的,有C++的源程改的,也有别人的C源程,为了尊重别人的劳动成果,里面会带有人家的名字。我只是做了整理和测试。
3
发表于 2012-4-13 01:56:17 | 只看该作者
DES---研究过加密的朋友十分熟悉,老牌的加密方法了。这是一个可逆的对称加密算法,也是应用最广泛的密钥系统。好像是从1977年美国Z.F.正式采用。大家都看过U-571吧,DES的思路就是参照二战时期盟军缴获的德军恩格玛加密机,不过DES比那个要NB的多多了。到现在为止,除了差分分析法和线性分析法外只有暴力穷举法了。前两种方法不是密码学家或数学家都不懂呵,不过穷举DES,以现有我们大家都可以掌握的技术手段,恐怕没个几百上千年下不来呵。不过,咱们破解不了,不能说明就没人或没有设备破解不了。正因为如此,所以才衍生出了3重DES加密。常规的DES密钥是64位的(实际上有8位是校验用),而3DES是128位(当然有16位也是校验用)。增加密钥长度并增加运算量来防止破解,并在后来的AES出来之前确定为过度方案。不过现在即便有了AES,3DES也没少用,它依然很NB。
http://www.ourdev.cn/forum.php?m ... est=yes&_f=.rar

链接文件是 aes.rar 不是des.rar ?

顺便把文件打包上传, 再次感谢lz !

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4
 楼主| 发表于 2012-4-13 02:04:55 | 只看该作者
新论坛功能还不太会用呵。
5
发表于 2012-4-13 02:07:12 | 只看该作者
现在可以下载 des.rar 了, 楼主好人
6
发表于 2012-4-13 02:08:00 来自手机 | 只看该作者
这个要置酷啊
7
发表于 2012-4-13 06:26:58 | 只看该作者
收藏了.楼主好人
8
发表于 2012-4-13 06:42:58 来自手机 | 只看该作者
好贴收藏
9
发表于 2012-4-13 06:54:52 | 只看该作者
下了,谢谢
10
发表于 2012-4-13 07:23:35 | 只看该作者
不是一般的强!学习中
11
发表于 2012-4-13 07:27:25 | 只看该作者
这种资料超强,谢谢楼主共享
12
发表于 2012-4-13 07:27:52 来自手机 | 只看该作者
厉害,赞一个!
13
发表于 2012-4-13 07:29:32 | 只看该作者
这个强,先MARK!
14
发表于 2012-4-13 07:57:36 | 只看该作者
强悍,收藏
15
发表于 2012-4-13 08:00:05 | 只看该作者
支持一下。
16
发表于 2012-4-13 08:17:00 | 只看该作者
好资料啊 ~~~  收藏下 以后可能会用到 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
多谢楼主共享            
17
发表于 2012-4-13 08:18:38 | 只看该作者
谢楼主。
18
发表于 2012-4-13 08:19:20 | 只看该作者
果然好全!顶!
19
发表于 2012-4-13 08:24:29 | 只看该作者
谢谢楼主共享,这个资料好
20
发表于 2012-4-13 08:25:14 | 只看该作者
这个很不错,不用到处去找了
21
发表于 2012-4-13 08:25:37 | 只看该作者
收藏!
22
发表于 2012-4-13 08:25:42 | 只看该作者
NB
23
发表于 2012-4-13 08:31:10 | 只看该作者
下载失败,楼主能打包上传到115之类的网盘吗???
24
发表于 2012-4-13 08:42:13 | 只看该作者
楼主功劳不小啊。以后想做加密的东西就方便了
25
发表于 2012-4-13 08:48:26 | 只看该作者
很好,谢谢
26
发表于 2012-4-13 08:53:53 | 只看该作者
学习了

27
发表于 2012-4-13 09:28:26 | 只看该作者
MARK
以后慢慢看
28
发表于 2012-4-13 09:36:35 | 只看该作者
虽说现在还用不到,长长见识吧!
29
发表于 2012-4-13 09:51:38 | 只看该作者
NB的人啊,那么好的资源,值得我们学习。谢谢楼主,下载了~~~
30
发表于 2012-4-13 10:06:24 | 只看该作者
非常好,谢谢了
31
发表于 2012-4-13 10:13:17 | 只看该作者
强大,帮顶
32
发表于 2012-4-13 10:36:22 来自手机 | 只看该作者
收藏,正需要
33
发表于 2012-4-13 10:56:30 | 只看该作者
饕餮大餐啊
34
发表于 2012-4-13 10:57:27 | 只看该作者
我也正在做STM32的脱机串口下载,也是在考虑加密算法,楼主请问一下你的思路,你是如何把密钥提供给下载方的?
方便的话可以发个站内信讨论一下。
35
发表于 2012-4-13 11:02:35 | 只看该作者
多谢楼主分享!
36
 楼主| 发表于 2012-4-13 11:07:01 | 只看该作者
chenenzhi 发表于 2012-4-13 10:57
我也正在做STM32的脱机串口下载,也是在考虑加密算法,楼主请问一下你的思路,你是如何把密钥提供给下载方 ...

通过ISP下载时数据流是没办法加密的,但是存在脱机器里的数据是要加密的,包扩生产数量。脱机下载只是把下载任务交给了企业内部的工人来完成,开发人员省事了,但无法保证下载时对数据的监听。除非先烧一个BOOT,再用加密后的IAP数据来完成最终写入。可以两把钥匙给不同的人。
37
发表于 2012-4-13 11:14:49 | 只看该作者
正在使用MD5和SHA1算法, 正好可以和楼主提供的比较运算结果,验证算法的正确性。
38
发表于 2012-4-13 11:14:53 | 只看该作者
感谢分享
39
发表于 2012-4-13 11:18:16 | 只看该作者
很好的资料,谢谢分享!
40
发表于 2012-4-13 11:28:23 | 只看该作者
弓虽 贴,谢谢奉献!
41
发表于 2012-4-13 11:30:48 | 只看该作者
整理资料 辛苦.
42
发表于 2012-4-13 11:44:42 | 只看该作者
win2kddk 发表于 2012-4-13 02:04
新论坛功能还不太会用呵。

这个资料整合得很好,顶一个
43
发表于 2012-4-13 12:10:27 | 只看该作者
好贴,学习了
44
发表于 2012-4-13 12:13:59 | 只看该作者
顶顶。。。。!!!刚好需要!!!
45
发表于 2012-4-13 12:38:25 | 只看该作者
有没有高手做过ECC192的加密算法哈?求助
46
发表于 2012-4-13 12:43:27 | 只看该作者
好贴,加密算法其实很有用,虽然自己做东西玩好像没什么意义,但是产品里用起来还是很给力的。
47
发表于 2012-4-13 12:45:02 | 只看该作者
建议置酷
48
发表于 2012-4-13 12:53:52 | 只看该作者
这个帖子太棒了 顶楼主
49
发表于 2012-4-13 13:31:44 | 只看该作者
楼主太强了,这年头确实需要防备小人。加密是保护自己辛苦劳动的一种手段。
50
发表于 2012-4-13 13:36:26 | 只看该作者
win2kddk 发表于 2012-4-13 11:07
通过ISP下载时数据流是没办法加密的,但是存在脱机器里的数据是要加密的,包扩生产数量。脱机下载只是把 ...

你好,我明白你的意思。
BOOTLOADER这块我自己做了。但是做好了,我们的密钥是否唯一了。
如果不唯一的话,每个mcu都有自己的密钥,你又让下载方如何去区分不同的代码对应不同的MCU,而且这样做的工作量也大。
但是如果只有一个密钥的话,是否存在容易被破解的问题?
51
 楼主| 发表于 2012-4-13 14:30:42 | 只看该作者
chenenzhi 发表于 2012-4-13 13:36
你好,我明白你的意思。
BOOTLOADER这块我自己做了。但是做好了,我们的密钥是否唯一了。
如果不唯一的话 ...

我想不必每个MCU都要有不同的KEY,那样的话每个MCU的固件程序都不一样了,反而没法公布了。不知道你以前有没有接触过江民软件的早期产品---DOS版本的KV200和KV300。记得当时在跟踪破解时发现KV300的母盘上有多个KEY,只是分布在不同的磁道或磁道缝里。每次升级后的EXE文件将读取不同的磁道上的KEY来完成母盘的认证。同理,我认为MCU在做BOOT时也可以做N个KEY,只是在开始IAP新程序时MCU将多个KEY重新计算一下,与发来的数据相比较来确定以后的程序具体是用哪个KEY来解密,这样做甚至可以来确定不同的解密方案。即使有个别的KEY不慎外泄,受影响的也只是某个版本,不会满锅都是腥。
52
发表于 2012-4-13 16:12:29 | 只看该作者
我想把我的STM32程序加密,想用芯片自带的ID,不知道哪位有过实际经验,求指点
53
发表于 2012-4-13 16:13:04 | 只看该作者
楼主辛苦了,归类这么多。感谢分享
54
发表于 2012-4-13 16:20:42 | 只看该作者
COOL !
55
发表于 2012-4-13 16:23:20 | 只看该作者
很好!收藏了
56
发表于 2012-4-13 17:19:02 | 只看该作者
谢谢奉献,收藏学习
57
发表于 2012-4-13 18:42:34 | 只看该作者
确实强贴,一定要顶
58
发表于 2012-4-13 21:23:46 | 只看该作者
谢谢楼主分享!
59
发表于 2012-4-13 21:41:10 | 只看该作者
很好的资料,有时间有用时可以学习研究一下
60
发表于 2012-4-13 21:47:43 | 只看该作者
超强贴,必须顶!
61
发表于 2012-4-13 23:12:13 | 只看该作者
这种资料超强,谢谢楼主共享
62
发表于 2012-4-13 23:35:50 | 只看该作者
太强大了,学习了
63
 楼主| 发表于 2012-4-14 00:32:27 | 只看该作者
leoside 发表于 2012-4-13 16:12
我想把我的STM32程序加密,想用芯片自带的ID,不知道哪位有过实际经验,求指点 ...

请参考http://www.ourdev.cn/forum.php?m ... p;extra=#pid5743876
64
发表于 2012-4-14 01:10:24 来自手机 | 只看该作者
这个不能没有啊,呵呵,确实不错
65
发表于 2012-4-14 04:34:35 | 只看该作者
很好的资料,谢谢楼主分享
66
发表于 2012-4-14 08:04:18 | 只看该作者
支持一个
67
发表于 2012-4-14 08:35:43 | 只看该作者

很好的资料,谢谢分享!
68
发表于 2012-4-14 08:36:45 | 只看该作者
这个要好好研究一下,谢谢楼主
69
发表于 2012-4-14 10:01:47 | 只看该作者
弓虽 贴,谢谢奉献!
70
发表于 2012-4-14 11:09:48 | 只看该作者
楼主好人
71
发表于 2012-4-14 12:05:08 | 只看该作者
不错下载收藏
72
发表于 2012-4-14 13:43:30 来自手机 | 只看该作者
非常好,自己以前没找到
73
发表于 2012-4-14 18:11:27 | 只看该作者
十分感谢
加密学问真大啊
74
发表于 2012-4-14 22:47:53 | 只看该作者
本帖最后由 richards 于 2012-4-14 22:51 编辑

感觉楼主好棒 收集了这么多,正好在研究 stm32的usb 顺便可以试试做个usb加密狗试试呢。虽然明天就考试了,但是还是想在阿莫的论坛来逛逛,发现时养成习惯了。 好了,消失赶紧抱佛脚去。
75
发表于 2012-4-15 21:02:19 | 只看该作者
相当Cool,整理的不错,值得参考
76
发表于 2012-4-15 21:30:28 | 只看该作者
天文数字帖。。。膜拜下!
77
发表于 2012-4-15 21:41:10 | 只看该作者
果然是非常强悍的东西。值得收藏,慢慢研究下,扩充自己的资料库。
78
发表于 2012-4-22 11:29:39 | 只看该作者
正好需要
79
发表于 2012-4-22 11:55:48 | 只看该作者
可以指定一个数据块为签名块到固定位置,当然放到hex剩余空间。下载器下载的时读取UID,加密签名块写入。MCU BOOT的时候使用UID来解密签名块就可以知道签名是否正确了。这里使用UID作为密钥,每个MCU都不一样,签名也都不一样,hex代码也不一样;就算破解读出hex写到别的MCU也不能运行;需要进一步解密加密算法才能破解。
80
发表于 2012-4-22 15:30:48 | 只看该作者
     好东西,收藏
81
发表于 2012-4-25 12:04:25 | 只看该作者
这个以后可以用到
82
发表于 2012-4-25 12:41:16 | 只看该作者
单片机上能用这些加密算法么
83
发表于 2012-4-25 12:49:32 | 只看该作者
这个加密不错,学习一下
84
发表于 2012-4-25 12:52:51 | 只看该作者
了解下..........
85
发表于 2012-4-25 13:05:07 | 只看该作者
酷贴留名。不错的资料。
86
发表于 2012-4-25 13:05:10 | 只看该作者
这个必须顶,要收藏啊!
87
发表于 2012-4-25 13:08:42 | 只看该作者
好东西!谢谢分享
88
发表于 2012-4-25 13:12:34 | 只看该作者
谢谢!学习了
89
发表于 2012-4-25 13:28:52 | 只看该作者
mark,慢慢体会,现在不是很懂
90
发表于 2012-4-25 13:29:01 | 只看该作者
感谢分享
91
发表于 2012-4-25 13:34:05 | 只看该作者
学习加密的好帖子,谢谢
92
发表于 2012-4-25 13:42:50 | 只看该作者
好贴啊,我现在通讯数据也要加密。先普及下
93
发表于 2012-4-25 14:04:09 | 只看该作者
感谢共享,以后可能会用到
94
发表于 2012-4-25 14:48:04 | 只看该作者
感谢分享, 先标记下!
95
发表于 2012-4-26 13:42:26 | 只看该作者
加密以后会用的越来越多,
这方面还真要学习一下。
96
发表于 2012-4-26 13:55:19 | 只看该作者
太复杂了~~~
97
发表于 2012-4-26 14:15:02 | 只看该作者
感谢LZ,先从最简单的加密算法用起。
98
发表于 2012-5-29 17:21:17 | 只看该作者
mark!!!!!!!!!!!!!!!!!!!!!!!!!!1
99
发表于 2012-5-31 11:31:24 | 只看该作者
非常好,收藏了
100
发表于 2012-5-31 11:41:46 | 只看该作者
mark                                    
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号-1 )

GMT+8, 2020-4-6 22:35

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表