商用国家安全保障アルゴリズム (、略称 CNSA) は、アメリカ国家安全保障局によって公布された暗号化アルゴリズムのセットである。従来のに代わるものであり、ポスト量子暗号へ移行するまでの間、最高レベルを含む国家機密の保護に用いられる。
2015年7月に公布されたCNSAには以下が含まれる:
256ビット鍵のAdvanced Encryption Standard P-384(鍵長384ビット)を用いた楕円曲線ディフィー・ヘルマン鍵共有 および 楕円曲線DSA 384ビット長のSHA-2、 最低3072ビットのディフィー・ヘルマン鍵共有 最低3072ビットのRSA暗号
Suite BからCNSAへの移行で特筆すべき点は、RSA暗号を「サポートされた」状況から「レガシーな」状況へ変更したことである。Suite Bと同様、Digital Signature Algorithmは含まれていない。
2022年9月、ポスト量子暗号アルゴリズムの最初の推奨を含むCNSA 2.0が公布された。
CNSA 2.0には以下が含まれる:
256ビット鍵のAdvanced Encryption Standard ML-KEM-1024 パラメーターを使用したModule-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM aka CRYSTALS-Kyber) ML-DSA-87 パラメーターを使用したModule-Lattice-Based Digital Signature Standard (ML-DSA aka CRYSTALS-Dilithium) 384ビット長および512ビット長のSHA-2 すべてのパラメーターでのeXtended Merkle Signature Scheme (XMSS) および Leighton-Micali Signatures (LMS、SHA256/192を推奨)
CNSA 1.0と比較したとき、CNSA 2.0 は:
ポスト量子アルゴリズム (XMSS/LMS) をソフトウェアとファームウェアの署名に分離して使用することを提唱 SHA-512を認容 CRYSTALS-Kyber および CRYSTALS-Dilithium の採用(標準規格が完成しFIPSによって認定された実装がリリースされたのちに義務付けられる) RSA暗号、ディフィー・ヘルマン鍵共有および楕円曲線暗号を廃止
CNSA 2.0 および 1.0 で採用されたアルゴリズムの詳細は以下のとおりである:
CNSA 2.0 アルゴリズム 機能 規格 パラメーター Advanced Encryption Standard (AES) ブロック暗号 FIPS PUB 197 256ビット長の鍵を使用 Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM aka CRYSTALS-Kyber) 鍵共有 FIPS PUB 203 ML-KEM-1024 パラメーターを使用 Module-Lattice-Based Digital Signature Standard (ML-DSA aka CRYSTALS-Dilithium) デジタル署名 FIPS PUB 204 ML-DSA-87 パラメーターを使用 Secure Hash Algorithm (SHA) ハッシュ関数 FIPS PUB 180-4 SHA-384 および SHA-512 を使用 Leighton-Micali Signature (LMS) ファームウェアおよびソフトウェアへのデジタル署名 NIST SP 800-208 すべて、SHA256/192を推奨 Xtended Merkle Signature Scheme (XMSS) ファームウェアおよびソフトウェアへのデジタル署名 NIST SP 800-208 すべて
CNSA 1.0 アルゴリズム 機能 規格 パラメーター Advanced Encryption Standard (AES) ブロック暗号 FIPS PUB 197 256ビット長の鍵を使用 楕円曲線ディフィー・ヘルマン鍵共有 (ECDH) 鍵共有 NIST SP 800-56A P-384を使用 楕円曲線DSA (ECDSA) 鍵共有 FIPS PUB 186-4 P-384を使用 Secure Hash Algorithm (SHA) ハッシュ関数 FIPS PUB 180-4 SHA-384 を使用 ディフィー・ヘルマン鍵共有 (DH) 鍵共有 IETF RFC 3526 最低3072ビット長を使用 RSA暗号 鍵共有 FIPS SP 800-56B 最低3072ビット長を使用 RSA暗号 デジタル署名 FIPS PUB 186-4 最低3072ビット長を使用
出典