现代社会是一个信息社会。信息技术的飞速发展引发了社会前所未有的变化,同时彻底颠覆了传统的生活方式。在现代社会中,信息安全所占据的地位越来越重要。但不幸的是,信息安全问题[1]正变得越来越突出。加密算法是解决上述问题的有效方法。除了消息传输的接收者之外,即使外界非法****密文,它也只会产生一些无意义的乱码。有许多类型的加密算法,它们适应的地方通常是不同的。在单片机和嵌入式系统中,信息的传输非常频繁,甚至没有很多机密信息。因此,信息传输的安全性变得越来越重要。
一、单片机加密的必要性
自单片机诞生以来,由于其成本低,环境适应性强,可靠性高,结构灵活,易于生产,引起了人们的广泛关注。凭借其卓越的性能,它已广泛应用于各种行业,如机器人,航空航天,仪器仪表,工业和电信。单片机的普及也对促进各个领域的技术改造起到了很好的作用。然而,在通过MCU传输信息的过程中,它经常遭受非法入侵者的各种攻击,例如伪造,篡改和盗版。但无论你攻击哪种方式,这无疑会在各个方面给用户造成无法估量的损失。在信息传输中,发送信息的一方称为发送方,信息发送的预定目标称为接收方。然而,在实际传输过程中,除了接收者之外,还有一些未知的非法****器将通过诸如窃听之类的各种手段获得传输的信息。更重要的是,他们会篡改,伪造,然后将收到的信息传送给收件人。如果信息被归类为机密信息,则由此产生的损失是不可想象的。因此,在发送信息之前处理该信息。要传输的信息称为明文,明文通过一组规则转换的信息称为密文。密文本是随机的,无序的,看似毫无意义的信息,所以即使密文是由****器获得的,也不需要担心信息泄露。当接收到密文时,需要恢复明文,并将密文恢复规则称为解密算法。通常,加密和解密算法需要一对密钥,它们可以相同或不同,并且这两种情况对应于两个不同的密码系统。
二、单片机的嵌入式系统加密算法分类
随着微型计算机的快速发展,微控制器和嵌入式系统已经渗透到人们的日常生活中。但微型计算机的信息安全问题引起了人们的担忧,在信息传递的过程中,经常会受到非法入侵者的攻击,导致信息被截取、篡改甚至伪造,从而造成巨大的损失。加密算法是保障信息安全的有效措施之一,而且加密算法还具有良好的可修改性和移植性,有关加密算法的研究及应用是极其广泛的。现代加密算法主要分为4大类:对称式加密算法、非对称式加密算法、Hash算法以及轻量级密码算法。本文就其中的2类进行分析和研究,对称式加密算法以DES算法(三重)和AES算法为代表,非对称式加密算法以RSA算法和ECC算法为代表,通过详细研究上述加密算法的加解密过程,结合各自的优缺点及适用场所,最终选取AES算法作为单片机及嵌入式系统的加密算法。
(一)公钥加密算法
公钥密码系统的概念[2]于1976年首次提到。最初提出解决私钥密码系统中的两个众所周知的问题(数字签名和密钥分发)。在此之前,几乎所有加密算法,加密过程无非就是两种基本方式-替换和替换,与公钥加密不同,它使用数学函数。可以说,公钥加密算法的出现给密码学带来了新的方向。公钥加密算法的最大特点是加密和解密使用一对不同但相关的密钥,因此公钥加密算法也称为双密钥加密算法。在这对密钥中,加密密钥是公共的,并且解密密钥对用户是私有的。这意味着在不知道解密密钥的情况下,知道密文想要恢复明文是不可行的。
(二)DES算法
数据加密标准DES算法[3]是世界上最具影响力的数据包加密算法之一。DES算法是由一种称为Lucifer算法修改以及发展而来,它有很多的优点:比如密钥容易生成,加解密速度比较理想,在软件上也易于实现。但是随着密码分析学的发展,人们发现,过去被认为足够安全的DES算法已被证明不够安全。另一方面,DES算法的密钥长度仅为56Bit,这似乎太短。由于计算机计算能力的逐年增加,DES算法终于在1998年宣布。后来,一些学者提出DES算法可以用于多个密钥的情况,这是三重DES的起源。三重DES对密码分析有着很强的抵抗能力,但是,正由于多重使用所以产生了一个难以克服的缺点,那就是实现算法的速度较慢。此外,三重DES的分组长度跟先前一样,还是短了些。尽管TripleDES的复杂性,但它越来越显示出下降的迹象。新数据加密标准最基本的要求如下:首先,必须比三重DES加解密速度快;其次,最少要与三重DES安全性一样;最后,数据包长度和密钥长度就足够了。最后,Rijndael算法在许多候选算法中成功地作为新的数据加密标准。虽说DES算法已不可避免地走向衰亡,但它的出现对密码学的发展有着很大的推动作用,对于学习分组加密算法还是有着重要的参考意义。
(三)AES算法
根据AES加密算法密钥安全性不足、加解密轮变换不对称以及S盒存在安全隐患的缺点,针对性地对密钥扩展算法、加解密算法结构以及S盒进行了改进。对于加解密算法结构,在加密算****变换中合并了行移位和列混合,精简了轮函数的计算部件;在解密算法中首先调整了轮函数的变换顺序,使其与加密轮变换顺序保持了一致,之后再套用加密算法中的改进,合并了逆行移位和逆列混合,使得算法结构进一步得到了优化。对于原S盒的不足,笔者提出了一种新S盒的构造,经测试证明新S盒比原S盒有着更好的密码性质,有效地提高了AES算法的安全性。现代社会越来越多地走向信息社会,信息的作用变得越来越重要。随着微型计算机进一步的智能化、微型化,人们的日常生活也越来越离不开它。但在微型计算机的应用中,如果不能保证信息传输的安全性,则无法保证。们的重视。因此,微控制器和嵌入式系统的数据加密研究是必要的,并且有关这方面的研究在今后也必定会更加广泛和深入。