公開鍵暗号
秘密鍵と公開鍵が異なる暗号方式
両方できるのはRSA
暗号 (RSA)
公開鍵で暗号化したものは、プライベート鍵(私有鍵 private key)で復号化できる。ブロック暗号などと同じで長さは modules の長さまでという制限がある。ブロック暗号という使い方もできなくはないが低速。
安全強度を保つには鍵長などが長くなるため他のアルゴリズムに移行が進んでいる。
暗号に利用できるのは、RSAが有限体で閉じているためモジュラ逆数で元に戻すことができる
証明書の署名・検証用途ではまだ利用しているがECDSA, EdDSAなどへの移行が進んでいる。
署名・検証のみ利用できるのがDSA系
RSAより短いということでECDSA, EdDSAが利用される傾向にある。DSAは古いため廃止の方向。
table:役割
鍵 暗号化 署名・検証
プライベート鍵 私有鍵 秘密鍵 private key 復号(RSAのみ) 署名
公開鍵 public key 暗号化(RSAのみ) 検証
共通鍵 秘密鍵 secret key ○共通鍵暗号 MAC?
速度は遅い
暗号、署名・検証に利用可能
RSAEP 暗号 (旧式)
RSADP 復号 (旧式)
RSASP1 署名 (旧式)
RSAVP1 検証 (旧式)
暗号化スキーム
RSAES-OAEP 新
署名・検証スキーム
RSASSA-PSS 新
RSAでは秘密鍵と公開鍵の機能(原理)が同じ。
逆の使い方で暗号と署名・検証に使えるが同じ鍵を利用すると脆弱なため、単純な暗号化、署名・検証では安全ではない。
そのためRSAES、RSASSAのスキームで別々の方式になるように使われるのが一般的
署名・検証のみ利用可能
DSA Digital Signature Algorithm SM2 (中国)