RSS トレイル・オブ・ビッツ ブログ
フォロー
ポスト量子暗号をPythonに提供する
pyca/cryptographyライブラリを通じて、ポスト量子暗号がPythonエコシステムで容易に利用できるようになりました。このアップデートでは、NIST標準の鍵確立プリミティブであるML-KEMと、NIST標準のデジタル署名プリミティブであるML-DSAのサポートが実装されました。米国政府は、鍵確立を2030年12月31日まで、デジタル署名を2031年12月31日までにポスト量子暗号への移行を加速させています。この移行の成功は、多数の人気のあるPythonプロジェクトで使用されているpyca/cryptographyのような暗号ライブラリにかかっています。新しいポスト量子アルゴリズムは、量子耐性を提供しますが、トレードオフも伴います。公開鍵、署名、暗号文は、従来のそれらと比較して大幅に大きくなり、操作も遅くなります。例えば、ML-DSA署名はEd25519の64バイトに対して3,309バイトです。同様に、ML-KEM暗号文はX25519の32バイトの共有シークレットに対して1,088バイトです。固定サイズのデータフィールドに依存するプロトコルは調整が必要になります。pyca/cryptographyライブラリは、ML-DSAとML-KEMを使用するためのPython APIを提供するようになりました。ML-DSAは格子ベースの署名スキームであり、ML-KEMはDiffie-Hellmanとは根本的に異なる共有シークレットを確立するための鍵カプセル化メカニズムです。より保守的なアプローチを提供するNISTのハッシュベース署名標準であるSLH-DSAに関する作業が進行中です。最終的な目標は、これらのポスト量子プリミティブを実際のプロトコルやアプリケーションに統合することです。この基盤となる作業は、Sovereign Tech Agencyによって資金提供されました。