RSASSA
RFC 8017 Section 8
RSASSA-PKCS1_v1_5 (旧式, 互換用)
RSASSA-PSS
FIPS PUB 186-5 から参照あり
単純なRSASP1/RSAVP1よりはこちらを使う方がよい
必要な要素
ハッシュ関数
RSA鍵
MessageDigestハッシュに対して署名をつけるので長文に対応できる
RSASSA-PSS では SHA-3系のSHAKE などのXOFをMGFとして使うこともできる RFC 8702 CMSとFIPS PUB 186-5 RSASSA-PKCS1-v1_5では RFC 9688 SHA3 One Way Hash Functions CMSで互換形式のSHA3利用が可能 RFC 4055 3. RSASSA-PSS Signature Algorithm
code:RSASSA-PSS
id-RSASSA-PSS OBJECT IDENTIFIER ::= { pkcs-1 10 }
RSASSA-PSS-params ::= SEQUENCE {
hashAlgorithm 0 HashAlgorithm DEFAULT sha1Identifier,
maskGenAlgorithm 1 MaskGenAlgorithm DEFAULT mgf1SHA1Identifier,
saltLength 2 INTEGER DEFAULT 20, trailerField 3 INTEGER DEFAULT 1 } rSASSA-PSS-Default-Identifier AlgorithmIdentifier ::= {
id-RSASSA-PSS, rSASSA-PSS-Default-Params }
rSASSA-PSS-Default-Params RSASSA-PSS-Params ::= {
sha1Identifier, mgf1SHA1Identifier, 20, 1}
hashAlgorithm
SHA1は廃止されたのでdefault以外を必ず指定したいところ
SHA3も利用しない。利用するならsha2系、SHAKE128またはSHAKE256。
maskAlgorithm
MGFは基本的にSHA2とMGF1の組み合わせ、RFC 8692ではSHAKE128/SHAKE256のXOFをMGFの代用として利用する 署名あるごりずむのついか RSASSA-PKCS1-v1_5 のみ
code:RFC 8017, 9688
OID ::= OBJECT IDENTIFIER
sigAlgs OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) 3 }
id-rsassa-pkcs1-v1-5-with-sha3-224 OID ::= { signAlgs 13 }
id-rsassa-pkcs1-v1-5-with-sha3-256 OID ::= { signAlgs 14 }
id-rsassa-pkcs1-v1-5-with-sha3-384 OID ::= { signAlgs 15 }
id-rsassa-pkcs1-v1-5-with-sha3-512 OID ::= { signAlgs 16 }
RFC 3279の拡張 RFC 4055 で署名方式として利用可能
RFC 4055 で制限できるがしなくてもいい
RFC 5756 でパラメータの修正あり
証明書にid-RSASSA-PSSを指定する場合
nonRepudiation
digitalSignature
どちらかまたは両方が必要
CAでid-RSASSA-PSS証明書を指定する場合
nonRepudiation
digitalSignature
keyCertSign
cRLSign
のどれかを含める必要あり
RFC 8692
RSASSA-PSSとSHAKE128 / SHAKE256 と組み合わせ PSSのみ
code:RFC 8692
id-RSASSA-PSS-SHAKE128 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) algorithms(6) 30 }
id-RSASSA-PSS-SHAKE256 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) algorithms(6) 31 }
ハッシュアルゴリズム、マスク生成アルゴリズムの2つどちらもSHAKE128 / SHAKE256 を利用する
マスク生成ではMGF1は経由せずSHAKEのXOFを直接利用する
table:あるごりずむ
あるごりずむ RSASSA-PKCS1-v1_5 RSASSA-PSS RFC
sha-1 1.2.840.113549.1.1.5 pkcs1 10 バラメータで指定 RFC 4056,5756,8017
sha-224 1.2.840.113549.1.1.14 RFC 4055,4056,8017
sha-256 1.2.840.113549.1.1.11 RFC 4055,4056,8017
sha-384 1.2.840.113549.1.1.12 RFC 4055,4056,8017
sha-512 1.2.840.113549.1.1.13 RFC 4055,4056,8017
sha-512/256 1.2.840.113549.1.1.16 RFC 4056,8017
sha-512/224 1.2.840.113549.1.1.15 RFC 4056,8017
sha3-224 2.16.840.1.101.3.4.3.13 RFC 9688
sha3-256 2.16.840.1.101.3.4.3.14 RFC 9688
sha3-384 2.16.840.1.101.3.4.3.15 RFC 9688
sha3-512 2.16.840.1.101.3.4.3.16 RFC 9688
shake128 1.3.6.1.5.5.7.6.30 RFC 8692
shake256 1.3.6.1.5.5.7.6.31 RFC 8692
利用例?
RFC 4055 Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
RFC 5756 RSAES-OAEP および RSASSA-PSS アルゴリズム パラメーターの更新
RFC 8702 CMS XOF