Skip to main content
QUICK REVIEW

[論文レビュー] A Matrix Public Key Cryptosystem

M. Andrecut|arXiv (Cornell University)|May 31, 2015
Coding theory and cryptography参考文献 2被引用数 7
ひとこと要約

この論文は、離散対数問題のような従来の数論的難問に代わって、可換な行列多項式鍵交換を用いる画期的な行列ベースの公開鍵暗号方式を提案する。行列多項式積の可換性を活用することで、アリスとボブは公開された行列と秘密の係数ベクトルを用いて共有秘密鍵を導出する。この方式のセキュリティは、公開行列から導かれる不定方程式系を解くことが計算的に不可能であることに依存する。

ABSTRACT

We discuss a matrix public key cryptosystem and its numerical implementation.

研究の動機と目的

  • 離散対数のような従来の数論的難問に依存しない公開鍵暗号方式の設計を目的とする。
  • 行列多項式の可換性を基盤として、安全な鍵交換を実現できるかを検討する。
  • C言語と標準的な線形代数演算を用いた、提案された方式の実用的数値実装を提供する。
  • 盗聴者の問題を不定方程式系としてモデル化することで、この方式のセキュリティを分析する。

提案手法

  • システムは、アリスとボブがそれぞれ独立にランダムに選ぶ2つの公開行列 U と V を用いる。これらの行列が可換である必要はない。
  • 秘密鍵は係数ベクトル a, ∈ ℂ^M および b, b̃ ∈ ℂ^J であり、これらを用いて行列多項式 P(U,a) = Σ a_m U^m および P(V,∼) = Σ âˆ¼_n V^n を構築する。
  • アリスは A = P(U,a)P(V,∼) を計算し、公開する。ボブは B = P(U,b)P(V,b̃) を計算し、公開する。
  • 共有秘密鍵は、アリスが S_a = P(U,a)BP(V,∼) と計算し、ボブが S_b = P(U,b)AP(V,b̃) と計算することで得られる。行列多項式の可換性により、両者は同一の鍵 S_a = S_b を得る。
  • セキュリティは、Ψα = A という方程式系を解くことが困難であることに依存する。ここで Ψ は列 U^m V^n を含み、α は積 a_m ∼_n を含む。未知数は K = M×N 個、方程式は N² 個である。
  • 実装では Linux システム上で C 言語を用い、行列と鍵を16進数および複素数形式で表現し、検証を可能にする。

実験結果

リサーチクエスチョン

  • RQ1行列多項式の可換性は、安全な公開鍵鍵交換プロトコルを構築するために効果的に利用できるか?
  • RQ2従来の Diffie-Hellman のような離散対数に基づく方式と比較して、行列ベースの方式のセキュリティはどの程度か?
  • RQ3公開行列と公開鍵から秘密鍵を回復する際の計算複雑度はどの程度か?
  • RQ4数値的安定性と正しさを確保した上で、この方式を実用的に実装するにはどうすればよいか?
  • RQ5M, N, J にどのような条件を課すと、代数的攻撃に対してシステムが安全に保たれるか?

主な発見

  • 提案された暗号方式は、行列多項式積の可換性により、両者とも同一の秘密鍵 S_a = S_b を正しく計算できることを確認した。
  • この方式のセキュリティは、K = M₁M₂N₁N₂ 個の未知数と N² 個の式からなる不定方程式系 Ψα = A を解くことの計算的困難性に依存しており、M₁, M₂, J₁, J₂ ≫ N のとき、これは計算的に不可能である。
  • 数値シミュレーションにより、アリスとボブが同一の秘密鍵を計算しており、実装出力による検証でも Sa と Sb が正確に一致することが確認された。
  • 16×16 の複素行列と32ビット符号なし整数を用いた実装により、関数的正しさが示された。鍵はポータブル性を考慮し16進数形式で表現された。
  • この方式は、因数分解や離散対数といった数論的仮定に依存せず、従来の公開鍵暗号技術の代わりに新たな代数的代替手段を提供する。
  • 盗聴者が Ψα = A の方程式系を効率よく解けないという仮定のもと、係数ベクトルの次元が行列サイズに対して十分に大きい場合には、この方式は安全に保たれる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。