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语言和标准线性代数运算,提供所提系统的实用数值实现。
  • 通过将窃听者的难题建模为欠定方程组,分析该方案的安全性。

提出的方法

  • 系统使用两个公开矩阵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̃)推导得出,由于矩阵多项式具有交换性,两者相等。
  • 安全性基于求解方程组Ψα = A的困难性,其中Ψ的列由U^m V^n构成,α包含乘积a_m ∼_n,未知数个数为K = M×N,方程个数为N²。
  • 实现使用C语言在Linux系统上完成,矩阵和密钥以十六进制和复数格式表示,以供验证。

实验结果

研究问题

  • RQ1矩阵多项式的交换性能否有效用于构建安全的公钥密钥交换协议?
  • RQ2与基于离散对数的传统系统(如Diffie-Hellman)相比,该基于矩阵的系统的安全性如何?
  • RQ3从公开矩阵和公开密钥中恢复私钥的计算复杂度是多少?
  • RQ4该系统如何实现数值稳定性和正确性的实际部署?
  • RQ5在什么维度条件M, N, J下,系统能有效抵御代数攻击?

主要发现

  • 所提密码系统通过矩阵多项式乘积的交换性成功实现密钥协商,确保双方计算出相同的秘密密钥S_a = S_b。
  • 该系统的安全性基于求解一个包含K = M₁M₂N₁N₂个未知数和N²个方程的欠定方程组,当M₁, M₂, J₁, J₂ ≫ N时,该问题在计算上不可行。
  • 数值仿真证实,爱丽丝与鲍勃计算出的密钥完全一致,Sa与Sb在实现输出中完全匹配。
  • 实现展示了功能性正确性,使用16×16复数矩阵和32位无符号整数,密钥以十六进制表示以增强可移植性。
  • 该系统避免了对因数分解或离散对数等数论假设的依赖,为传统公钥密码学提供了一种新的代数替代方案。
  • 在假设攻击者无法高效求解系统Ψα = A的前提下,该方案保持安全,因为当系数向量维度远大于矩阵尺寸时,该系统高度欠定。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。