1. 程式人生 > >RSA 加解密 秘鑰對說明

RSA 加解密 秘鑰對說明

rsa加解密 log 工具 對稱加密 -- 在線 拼接 lan ...

rsa非對稱加密, 加解密需要不同的秘鑰,稱作一對。

rsa加解密分兩種,第一:公鑰加密私鑰解密。第二:私鑰加密公鑰解密。 需要註意的是,公加私解得到的密文是變化的,而私加公解的得到的密文是固定的。

生成密匙對需要設置一個長度,常用的設置為1024,或者2048。註意,不同長度的密匙,能夠加密的明文最長度是有限制的。說明如下:

1024的情況:

    加密時,明文最大長度: 1024/8 - 11 = 117 ,因此需要對明文做117字節長度的分片加密,再拼接。

    解密時,密文最大長度:1024/8 = 128, 因此需要對密文做128字節長度的分片解密,再拼接。

2048的情況:

    加密時,明文最大長度: 2048/8 - 11 = 245 ,因此需要對明文做245字節長度的分片加密,再拼接。

    解密時,密文最大長度:2048/8 = 256, 因此需要對密文做256字節長度的分片解密,再拼接。

C++調用openssl庫生成的密匙對是pkcs#1格式的。java調用庫生成的密匙對是pkcs#8格式的。

pkcs#1
-----BEGIN RSA PUBLIC KEY-----
......公鑰
-----END RSA PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----
......私鑰
-----END RSA PRIVATE KEY-----

pkcs#8
-----BEGIN PUBLIC KEY-----
......公鑰
-----END PUBLIC KEY-----

-----BEGIN PRIVATE KEY-----
......私鑰
-----END PRIVATE KEY-----

附1:pkcs#1 pkcs#8 在線轉換工具

附2:C++調用openssl庫生成秘鑰對

附3:pkcs#1秘鑰的格式化

RSA 加解密 秘鑰對說明