RSA——長度問題


1、密鑰長度

RSA密鑰對包含公鑰(模數、公鑰指數),私鑰(模數、私鑰指數)

RSA密鑰長度指的是模數的位數,如2048位RSA密鑰指的是模數為2048比特的RSA密鑰對,常規選值為:1024、2048、4096等。

2、明文長度

一次RSA加密對明文長度是有限制,實際上,RSA算法本身要求加密內容也就是明文長度m必須0<m<n(模數)

如果要加密一個長度大於模數的明文塊,就需要對明文進行分塊以滿足要求。

對長度小於模數的明文進行加密,則需要進行填充,一般使用的padding標准有NoPadding、OAEPPadding、PKCS1Padding等

3、密文長度

密文長度就是對給定符合條件的明文加密出來的結果位長,這個是可以確定的,加密后的密文長度跟密鑰長度是相同的,也就是模數的長度

 

加密:

RSA算法也是一個塊加密算法( block cipher algorithm),總是在一個固定長度的塊上進行操作。一次RSA加密能處理的明文長度是受RSA填充模式限制的,但是RSA每次加密的塊長度就是key length。

 

由於有填充,對同樣的數據,用同樣的密鑰進行RSA加密, 每次的輸出都會不一樣, 但是這些加密的結果都能正確的解密。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM