淺談單片機(jī)的嵌入式系統(tǒng)加密算法的分類
在現(xiàn)代社會(huì)中,信息安全所占據(jù)的地位越來越重要。但不幸的是,信息安全問題[1]正變得越來越突出。加密算法是解決上述問題的有效方法。除了消息傳輸?shù)慕邮照咧?,即使外界非法攔截密文,它也只會(huì)產(chǎn)生一些無意義的亂碼。有許多類型的加密算法,它們適應(yīng)的地方通常是不同的。在單片機(jī)和嵌入式系統(tǒng)中,信息的傳輸非常頻繁,甚至沒有很多機(jī)密信息。因此,信息傳輸?shù)陌踩宰兊迷絹碓街匾?
一、單片機(jī)加密的必要性
自單片機(jī)誕生以來,由于其成本低,環(huán)境適應(yīng)性強(qiáng),可靠性高,結(jié)構(gòu)靈活,易于生產(chǎn),引起了人們的廣泛關(guān)注。憑借其卓越的性能,它已廣泛應(yīng)用于各種行業(yè),如機(jī)器人,航空航天,儀器儀表,工業(yè)和電信。單片機(jī)的普及也對(duì)促進(jìn)各個(gè)領(lǐng)域的技術(shù)改造起到了很好的作用。然而,在通過MCU傳輸信息的過程中,它經(jīng)常遭受非法入侵者的各種攻擊,例如偽造,篡改和盜版。但無論你攻擊哪種方式,這無疑會(huì)在各個(gè)方面給用戶造成無法估量的損失。在信息傳輸中,發(fā)送信息的一方稱為發(fā)送方,信息發(fā)送的預(yù)定目標(biāo)稱為接收方。然而,在實(shí)際傳輸過程中,除了接收者之外,還有一些未知的非法攔截器將通過諸如竊聽之類的各種手段獲得傳輸?shù)男畔?。更重要的是,他們?huì)篡改,偽造,然后將收到的信息傳送給收件人。如果信息被歸類為機(jī)密信息,則由此產(chǎn)生的損失是不可想象的。因此,在發(fā)送信息之前處理該信息。要傳輸?shù)男畔⒎Q為明文,明文通過一組規(guī)則轉(zhuǎn)換的信息稱為密文。密文本是隨機(jī)的,無序的,看似毫無意義的信息,所以即使密文是由攔截器獲得的,也不需要擔(dān)心信息泄露。當(dāng)接收到密文時(shí),需要恢復(fù)明文,并將密文恢復(fù)規(guī)則稱為解密算法。通常,加密和解密算法需要一對(duì)密鑰,它們可以相同或不同,并且這兩種情況對(duì)應(yīng)于兩個(gè)不同的密碼系統(tǒng)。
二、單片機(jī)的嵌入式系統(tǒng)加密算法分類
隨著微型計(jì)算機(jī)的快速發(fā)展,微控制器和嵌入式系統(tǒng)已經(jīng)滲透到人們的日常生活中。但微型計(jì)算機(jī)的信息安全問題引起了人們的擔(dān)憂,在信息傳遞的過程中,經(jīng)常會(huì)受到非法入侵者的攻擊,導(dǎo)致信息被截取、篡改甚至偽造,從而造成巨大的損失。加密算法是保障信息安全的有效措施之一,而且加密算法還具有良好的可修改性和移植性,有關(guān)加密算法的研究及應(yīng)用是極其廣泛的?,F(xiàn)代加密算法主要分為4大類:對(duì)稱式加密算法、非對(duì)稱式加密算法、Hash算法以及輕量級(jí)密碼算法。本文就其中的2類進(jìn)行分析和研究,對(duì)稱式加密算法以DES算法(三重)和AES算法為代表,非對(duì)稱式加密算法以RSA算法和ECC算法為代表,通過詳細(xì)研究上述加密算法的加解密過程,結(jié)合各自的優(yōu)缺點(diǎn)及適用場(chǎng)所,最終選取AES算法作為單片機(jī)及嵌入式系統(tǒng)的加密算法。
(一)公鑰加密算法
公鑰密碼系統(tǒng)的概念[2]于1976年首次提到。最初提出解決私鑰密碼系統(tǒng)中的兩個(gè)眾所周知的問題(數(shù)字簽名和密鑰分發(fā))。在此之前,幾乎所有加密算法,加密過程無非就是兩種基本方式-替換和替換,與公鑰加密不同,它使用數(shù)學(xué)函數(shù)??梢哉f,公鑰加密算法的出現(xiàn)給密碼學(xué)帶來了新的方向。公鑰加密算法的最大特點(diǎn)是加密和解密使用一對(duì)不同但相關(guān)的密鑰,因此公鑰加密算法也稱為雙密鑰加密算法。在這對(duì)密鑰中,加密密鑰是公共的,并且解密密鑰對(duì)用戶是私有的。這意味著在不知道解密密鑰的情況下,知道密文想要恢復(fù)明文是不可行的。
(二)DES算法
數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法[3]是世界上最具影響力的數(shù)據(jù)包加密算法之一。DES算法是由一種稱為Lucifer算法修改以及發(fā)展而來,它有很多的優(yōu)點(diǎn):比如密鑰容易生成,加解密速度比較理想,在軟件上也易于實(shí)現(xiàn)。但是隨著密碼分析學(xué)的發(fā)展,人們發(fā)現(xiàn),過去被認(rèn)為足夠安全的DES算法已被證明不夠安全。另一方面,DES算法的密鑰長度僅為56Bit,這似乎太短。由于計(jì)算機(jī)計(jì)算能力的逐年增加,DES算法終于在1998年宣布。后來,一些學(xué)者提出DES算法可以用于多個(gè)密鑰的情況,這是三重DES的起源。三重DES對(duì)密碼分析有著很強(qiáng)的抵抗能力,但是,正由于多重使用所以產(chǎn)生了一個(gè)難以克服的缺點(diǎn),那就是實(shí)現(xiàn)算法的速度較慢。此外,三重DES的分組長度跟先前一樣,還是短了些。盡管TripleDES的復(fù)雜性,但它越來越顯示出下降的跡象。新數(shù)據(jù)加密標(biāo)準(zhǔn)最基本的要求如下:首先,必須比三重DES加解密速度快;其次,最少要與三重DES安全性一樣;最后,數(shù)據(jù)包長度和密鑰長度就足夠了。最后,Rijndael算法在許多候選算法中成功地作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。雖說DES算法已不可避免地走向衰亡,但它的出現(xiàn)對(duì)密碼學(xué)的發(fā)展有著很大的推動(dòng)作用,對(duì)于學(xué)習(xí)分組加密算法還是有著重要的參考意義。
(三)AES算法
根據(jù)AES加密算法密鑰安全性不足、加解密輪變換不對(duì)稱以及S盒存在安全隱患的缺點(diǎn),針對(duì)性地對(duì)密鑰擴(kuò)展算法、加解密算法結(jié)構(gòu)以及S盒進(jìn)行了改進(jìn)。對(duì)于加解密算法結(jié)構(gòu),在加密算法輪變換中合并了行移位和列混合,精簡(jiǎn)了輪函數(shù)的計(jì)算部件;在解密算法中首先調(diào)整了輪函數(shù)的變換順序,使其與加密輪變換順序保持了一致,之后再套用加密算法中的改進(jìn),合并了逆行移位和逆列混合,使得算法結(jié)構(gòu)進(jìn)一步得到了優(yōu)化。對(duì)于原S盒的不足,筆者提出了一種新S盒的構(gòu)造,經(jīng)測(cè)試證明新S盒比原S盒有著更好的密碼性質(zhì),有效地提高了AES算法的安全性。現(xiàn)代社會(huì)越來越多地走向信息社會(huì),信息的作用變得越來越重要。隨著微型計(jì)算機(jī)進(jìn)一步的智能化、微型化,人們的日常生活也越來越離不開它。但在微型計(jì)算機(jī)的應(yīng)用中,如果不能保證信息傳輸?shù)陌踩?,則無法保證。們的重視。因此,微控制器和嵌入式系統(tǒng)的數(shù)據(jù)加密研究是必要的,并且有關(guān)這方面的研究在今后也必定會(huì)更加廣泛和深入。
這樣你了解了嗎?