51单片机可用的AES加解密算法!
这是一个适用于C51单片机的AES加解密算法,用C语言编写,Keil C uV3编译通过。是我根据网上多见的C++的AES算法改写而成。128bit加解密。<br /> 因为我的项目中要用到AES加解密,网上虽有许多AES的C++或DELPHI的源代码,也有一些C语言的源代码,但都不适用于C51单片机使用(主要是因为都使用了查表法对运算速度进行优化,但因为占用太多内存和代码空间,不能用于C51单片机)。因此本人对这些算法进行了改写,适用于C51单片机,用Keil c编译后,约占2K代码空间,和1K多的内存。一般带有1K字节内存的C51单片机完全可用。但因为没有使用查表法优法,所以运算速度不是特别快,不适用于要对大量数据加解密的场合。此算法在C51 F020单片机中实际使用,运行正常。此算法只提供了128bit的加密级别,因为要增加加密位数,要太多代码和内存,C51单片机基本无法使用,故没有提供。<br /><br />点此下载谢了!
不谢
不知道,解密照样读片子
这个算法不是用来给程序加密的。
是用来给要传输的数据进行加密的。有共享精神,谢过了
没有TEA算法来得实用。
基本不需要额外内存,加解代码也简单,不需要太多代码。速度也快。<br />强度也算是可以的。<br />#include "tea.h"<br /><br />#define MX (z>>5^y<<2)+(y>>3^z<<4)^(sum^y)+(k^z)<br />#define DELTA 0x9e3779b9<br />#define S_LOOPTIME 5<br />#define BLOCK_SIZE PAGE_SIZE<br />/* <br />*key maybe 128bit =16 Bytes.<br />*buf maybe BLOCK_SIZE<br />*/<br />void btea_encrypt( unsigned char* buf, unsigned char* key )<br />{<br /> unsigned char n=BLOCK_SIZE/4;<br /> unsigned long *v=(unsigned long *)buf;<br /> unsigned long *k=(unsigned long *)key;<br /> unsigned long z = v,y = v,sum = 0,e ;<br /> unsigned char p,q ;<br /> // Coding Part <br /><br /> q = S_LOOPTIME + 52 / n ;<br /> while ( q-- > 0 )<br /> {<br /> sum += DELTA ;<br /> e = sum >> 2 & 3 ;<br /> for ( p = 0 ; p < n - 1 ; p++ )<br /> y = v,<br /> z = v += MX;<br /> y = v ;<br /> z = v += MX;<br /> }<br />}<br /><br />/*<br />*key maybe 128bit =16Bytes.<br />*buf maybe BLOCK_SIZE<br />inbuf == outbuf == buf<br />*/<br />void btea_decrpyt( unsigned char* buf, unsigned char* key )<br />{<br /> unsigned char n=BLOCK_SIZE/4;<br /> unsigned long *v=(unsigned long *)buf;<br /> unsigned long *k=(unsigned long *)key;<br /> unsigned long z = v,y = v,sum = 0,e ;<br /> unsigned char p,q ;<br /><br /> //Decoding Part...<br /> q = S_LOOPTIME + 52 / n ;<br /> sum = q * DELTA ;<br /> while ( sum != 0 )<br /> {<br /> e = sum >> 2 & 3 ;<br /> for ( p = n - 1 ; p > 0 ; p-- )<br /> z = v,<br /> y = v -= MX;<br /> z = v ;<br /> y = v -= MX;<br /> sum -= DELTA ;<br /> }<br />}<br />算法描述可在网上搜索。 我为什么下不了啊? 謝謝了~ 怎么下载不了…… 这个很不错不知道用的如何? 这个很不错不知道用的 如何? 厉害 一些片子支持ASE 硬件加密 水电费噶啥地方第三方阿斯顿发送到发水电费啥的发生
页:
[1]