RSA算法特點與應用注意事項
LKT系列加密產品部分具有硬件RSA算法協(xié)處理器,可以有效的為用戶開發(fā)提供更多的選擇和安全性。
3DES、AES等對稱算法雖有運算速度快、加密強度高等優(yōu)點,但密鑰存儲與傳遞卻是其最大的弱點,這也對它的應用場景造成了一定的限制。而RSA非對稱算法利用非對稱公私鑰對,解決了密鑰傳遞中的安全問題。在一些對實時性要求不是非常嚴格的系統(tǒng)中,RSA算法還是可以彌補對稱算法的弱點。當然,若兩者結合使用,既能提升運算效率,又能保證密鑰安全,是個不錯的選擇。
我們并不需要多關心RSA的算法原理與安全強度,因為它是目前最主流的非對稱算法,且短時間內地位是不可替代的。對于初次了解該算法并準備使用的工程師來說,只需要注意幾點:
1、RSA算法的公鑰是公開的,任何人都可獲取保留,因此其存儲與傳遞不需要特殊處理。私鑰不公開,必須安全存儲,嵌入式行業(yè)一般存放于加密芯片或其他硬件安全載體中。
2、公鑰先對明文運算生成密文稱為加密操作,私鑰后對密文運算還原出明文稱為解密操作;私鑰先對明文運算生成密文稱為簽名,公鑰后對密文運算生成明文成為驗簽。即公鑰只進行加密和驗簽工作,私鑰只進行解密和簽名工作,適其介入運算的先后順序而定。
3、根據(jù)公鑰模長度的不同,RSA算法又分為RSA512、RSA1024、RSA1280等。公鑰模長度即為單次運算數(shù)據(jù)的長度。以RSA1024為例,當使用公鑰加密時,單次輸入的明文長度不能超過1024bit = 1024bit / 8 = 128byte,私鑰運算亦是如此。
4、RSA算法的公私鑰參數(shù)提供方式分為兩種。第一種模式NDE模式,NE是公鑰,ND是私鑰。第二種CRT模式:NE是公鑰,P Q dP dQ Qinv這5個參數(shù)構成私鑰。上述參數(shù)中P、Q為兩個大素數(shù),如果使用RSA1024算法,則二者長度均為1024/2=512bit =64byte,dP、dQ兩個參數(shù)長度也和P、Q長度相等。N=P*Q長度為1024bit,即128byte,D為私鑰參數(shù);E為公鑰指數(shù)(一般使用0x010001)。
目前LKT加密芯片能支持CRT模式的RSA算法。加密芯片可自動生成公私鑰對。用戶在開發(fā)過程中可以放開公私鑰文件讀寫權,但是應用階段必須將私鑰文件讀權限封住。若用戶已有公私鑰對,在向加密芯片中寫入的過程中,需要先將P Q dP dQ Qinv這5個參數(shù)解析出來,然后按照手冊中規(guī)定的格式寫入到芯片中,才可以進行RSA運算。
經過本期的介紹后,相信大家對RSA算法的基本概念和應用都有了初步了解,如果通過閱讀本文,能讓各位順利過渡進入到RSA的了解和應用中,那就達到了作者的本意。
*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。