博客專欄

        EEPW首頁 > 博客 > RSA加密長度限制問題

        RSA加密長度限制問題

        發布人:電子禪石 時間:2023-02-13 來源:工程師 發布文章
        RSA加密長度限制問題

        RSA加解密中必須考慮到的密鑰長度、明文長度和密文長度問題。明文長度需要小于密鑰長度,而密文長度則等于密鑰長度。因此當加密內容長度大于密鑰長度時,有效的RSA加解密就需要對內容進行分段。

        這是因為,RSA算法本身要求加密內容也就是明文長度m必須0<m<密鑰長度n。如果小于這個長度就需要進行padding,因為如果沒有padding,就無法確定解密后內容的真實長度,字符串之類的內容問題還不大,以0作為結束符,但對二進制數據就很難,因為不確定后面的0是內容還是內容結束符。而只要用到padding,那么就要占用實際的明文長度,于是實際明文長度需要減去padding字節長度。我們一般使用的padding標準有NoPPadding、OAEPPadding、PKCS1Padding等,其中PKCS#1建議的padding就占用了11個字節。

        這樣,對于1024長度的密鑰。128字節(1024bits)-減去11字節正好是117字節,但對于RSA加密來講,padding也是參與加密的,所以,依然按照1024bits去理解,但實際的明文只有117字節了。

        所以如果要對任意長度的數據進行加密,就需要將數據分段后進行逐一加密,并將結果進行拼接。同樣,解碼也需要分段解碼,并將結果進行拼接。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: rsa

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凤庆县| 大庆市| 尚义县| 平昌县| 保亭| 兴仁县| 驻马店市| 嘉义市| 桂林市| 威信县| 沽源县| 南平市| 永顺县| 宜阳县| 长寿区| 乐山市| 淮阳县| 信宜市| 沂水县| 武宁县| 德保县| 仁化县| 乌拉特后旗| 扶风县| 盐亭县| 土默特右旗| 涿鹿县| 改则县| 莱阳市| 乌鲁木齐市| 辰溪县| 尼木县| 泰和县| 夹江县| 桦南县| 绩溪县| 垫江县| 普定县| 刚察县| 台南县| 隆尧县|