非对称加密要点

226 阅读1分钟
  1. 私钥个人持有,公钥多人持有。
  2. 公钥加密,私钥解密;用于加密传输,防止信息被破解,但是不防止信息被篡改。因为其他公钥持有者可以使用公钥加密一份内容替换原来的。
  3. 私钥加密,公钥解密;用于签名和验签,防止信息被篡改,但不防止信息被破解。
  4. 实际使用中为了防止信息被破解和篡改,A给B发消息通常为A使用B的公钥加密信息,并使用A的私钥为信息签名。

RSA原理

RSA算法原理(一) - 阮一峰的网络日志 (ruanyifeng.com)

RSA格式说明:

RFC 2437: PKCS #1: RSA Cryptography Specifications Version 2.0 (rfc-editor.org)

公钥:

RSAPublicKey ::= SEQUENCE {
   modulus           INTEGER,  -- n
   publicExponent    INTEGER   -- e
}

私钥:

RSAPrivateKey ::= SEQUENCE {
 version Version,
 modulus INTEGER, -- n
 publicExponent INTEGER, -- e
 privateExponent INTEGER, -- d
 prime1 INTEGER, -- p
 prime2 INTEGER, -- q
 exponent1 INTEGER, -- d mod (p-1)
 exponent2 INTEGER, -- d mod (q-1)
 coefficient INTEGER -- (inverse of q) mod p 
}

RSA密钥格式解析 - 简书 (jianshu.com)