LibgcryptからGnuPG2.3の機能と暗号化に関する今後を紐解く。

Libgcrypt 1.9.0のリリース(メーリングリスト)

以下に新機能を示す。

  • 新しい曲線 Ed448, X448, SM2.
    • Ed448,X448はCurve448と呼ばれる次世代の楕円曲線(と双有理同値なエドワーズ曲線)
      • セキュリティー強度は224bitで、ベース素数が\(2^{448}-2^{224}-1\)という形で他の楕円曲線に比べ高速に演算できる(カラツバ乗算に適している)
        • 同等程度に強度を持つ曲線はいくつかあるが、NSAの関与がなく安全な曲線はこれしかないかもしれん
      • EdDSAは、DSAの楕円曲線版であるECDSAとは根底から方式が異なる(primitiveは同一)デジタル署名方式で、様々な実装上の潜在的問題を回避するよう設計されている上高速。
    • SM2は中国の国家暗号局によって定められたセキュリティー強度128bitの楕円曲線。詳細はよくわからないがIETFによって標準化されている模様。
  • 新しい暗号利用モードEAX
    • 認証つき暗号化アルゴリズム。
      • CCMより優秀らしい
      • 2pass方式
      • どのようなブロック暗号でも利用可能
      • 内部で利用するのはCTRモードのブロック暗号なのでブロック暗号の実装が単純
      • 逐次実行される(“Online”)なのでデータがすべて与えられていなくても、さらに言えばデータの長さを知らなくても一定メモリで動作する
  • 新しい共通鍵暗号SM4。
  • 新しいハッシュ関数 SM3。
    • SM2と同様中国政府が制定したセキュリティー標準
      • SM4は128bit鍵128bitブロックの共通鍵暗号
      • SM3は256bitのハッシュ関数
  • 新しいハッシュ関数(変種)SHA512/224およびSHA512/256。
    • SHA2-512の初期化ベクトルを変更したものから224/256bitを取り出す
  • Blake-2 アルゴリズムのための新しい MAC アルゴリズム、新しい SHA512 変種。 SM3、SM4、およびGOST変種用。
    • 調べてみましたがわかりませんでした❗
  • 新しい便利な関数 gcry_mpi_get_ui。
    • 同上