加密晶元 RSA演算法特點與應用注意事項

2021-08-06 01:47:05 字數 1018 閱讀 3092

3des、aes等對稱演算法雖有運算速度快、加密強度高等優點,但金鑰儲存與傳遞卻是其最大的弱點,這也對它的應用場景造成了一定的限制。而rsa非對稱演算法利用非對稱公私鑰對,解決了金鑰傳遞中的安全問題。在一些對實時性要求不是非常嚴格的系統中,rsa演算法還是可以彌補對稱演算法的弱點。當然,若兩者結合使用,既能提公升運算效率,又能保證金鑰安全,是個不錯的選擇。

我們並不需要多關心rsa的演算法原理與安全強度,因為它是目前最主流的非對稱演算法,且短時間內地位是不可替代的。對於初次了解該演算法並準備使用的工程師來說,只需要注意幾點:

1、rsa演算法的公鑰是公開的,任何人都可獲取保留,因此其儲存與傳遞不需要特殊處理。私鑰不公開,必須安全儲存,嵌入式行業一般存放於加密晶元或其他硬體安全載體中。

2、公鑰先對明文運算生成密文稱為加密操作,私鑰後對密文運算還原出明文稱為解密操作;私鑰先對明文運算生成密文稱為簽名,公鑰後對密文運算生成明文成為驗籤。即公鑰只進行加密和驗籤工作,私鑰只進行解密和簽名工作,適其介入運算的先後順序而定。

3、根據公鑰模長度的不同,rsa演算法又分為rsa512、rsa1024、rsa1280等。公鑰模長度即為單次運算資料的長度。以rsa1024為例,當使用公鑰加密時,單次輸入的明文長度不能超過1024bit = 1024bit / 8 = 128byte,私鑰運算亦是如此。

4、rsa演算法的公私鑰引數提供方式分為兩種。第一種模式nde模式,ne是公鑰,nd是私鑰。第二種crt模式:ne是公鑰,p q dp dq qinv這5個引數構成私鑰。上述引數中p、q為兩個大素數,如果使用rsa1024演算法,則二者長度均為1024/2=512bit =64byte,dp、dq兩個引數長度也和p、q長度相等。n=p*q長度為1024bit,即128byte,d為私鑰引數;e為公鑰指數(一般使用0x010001)。

目前lkt加密晶元能支援crt模式的rsa演算法。加密晶元可自動生成公私鑰對。使用者在開發過程中可以放開公私鑰檔案讀寫權,但是應用階段必須將私鑰檔案讀許可權封住。若使用者已有公私鑰對,在向加密晶元中寫入的過程中,需要先將p q dp dq qinv這5個引數解析出來,然後按照手冊中規定的格式寫入到晶元中,才可以進行rsa運算。

RSA加密演算法加密與解密過程解析

1.加密演算法概述 加密演算法根據內容是否可以還原分為可逆加密和非可逆加密。可逆加密根據其加密解密是否使用的同乙個金鑰而可以分為對稱加密和非對稱加密。所謂對稱加密即是指在加密和解密時使用的是同乙個金鑰 舉個簡單的例子,對乙個字串c做簡單的加密處理,對於每個字元都和a做異或,形成密文s。解密的時候再用...

RSA加密演算法加密與解密過程解析

1.加密演算法概述 加密演算法根據內容是否可以還原分為 可逆加密和非可逆加密 可逆加密根據其加密解密是否使用的同乙個金鑰而可以分為 對稱加密和非對稱加密 所謂對稱加密即是指在加密和解密時使用的是同乙個金鑰 舉個簡單的例子,對乙個字串c做簡單的加密處理,對於每個字元都和a做異或,形成密文s。解密的時候...

RSA 與 AES 加密演算法,對稱與非對稱加密演算法

客戶端 a,產生乙個 aes 金鑰 keya 對稱加密 然後,把 keya,通過公鑰 publickey 進行加密 只有 伺服器的 privatekey 才可以解密,得到 keya 然後,伺服器 和 客戶端 a,已經成功地 交換了 aes 金鑰 keya 之後,伺服器 和 客戶端 a的 資料通訊,都...