まず、私がこれをまったく求めない理由を説明させてください。
EnvelopedCms のデフォルトの実装は AlgorithmIdentifier を使用しており、それ自体はRSA_DES_EDE3_CBC
または OIDを使用します
1.2.840.113549.3.7 暗号化アルゴリズムとして。 EnvelopedCms を使用する多くのツールは サンプルコード をコピーして貼り付けるだけのようです。今私はあなたのことを知りませんが、2017年に[〜#〜] des [〜#〜]を読んだとき、私は「ではない安全"。 DES少なくともまだここで使用されていますが、前回の推奨事項を確認したのは、AESなどのより高度なブロック暗号を使用することでした。
今私の質問のために:
RSA_DES_EDE3_CBC
は、RSAがDESの暗号化/復号化/暗号化(EDE3)バージョンと一緒に使用されることを意味します。各ステップ(E、D、E)で一意のキーが使用されている場合、Triple-DES(3-DES)を効果的に使用しています。 NISTによれば、112ビットのセキュリティがまだ提供されています。これで、今日(2017年6月-誰が知っているか...)で十分です。ただし、NISTではAES(128以上)の使用も推奨しています。
someでサポートされているOIDのリストは、次の場所にあります: https://msdn.Microsoft.com/en-us/library/windows /desktop/aa381133(v=vs.85).aspx
どのようなソフトウェアを作成しているのかはわかりません。何かを暗号化するだけの場合は、RSA
とAES
を組み合わせて使用できます。したがって、AES128_CBC
(OID 2.16.840.1.101.3.4.1.2)を使用してメッセージを暗号化し、RSAES_OAEP
(OID 1.2.840.113549.1.1.7)を使用してキーを暗号化することになります。
個人的に私はlibsodium( https://download.libsodium.org/doc/ )を試してみると、ヘーゼル(キー生成、ラッピングなど)なしで多くのことができます。 AES-GCMの代わりにChaCha20-Poly1305を使用し、RSAの代わりにEd25519を使用します。