基于矩阵经典分解问题的公钥密码体制的制作方法

文档序号:7918665阅读:287来源:国知局
专利名称:基于矩阵经典分解问题的公钥密码体制的制作方法
技术领域
本发明属于信息安全领域,特别涉及到一种基于矩阵经典分解的公钥密码体制。
背景技术
公钥密码体制的出现已有26年,但至今国际上通用的主要公钥密码体制只有两大类,一类是基于因数分解问题(IFP)的公钥密码体制,其算法定义在一个整数环Zn上(如RSA和Rabin);另一类是基于离散对数问题(DLP)的公钥密码体制,其算法定义在一个Galois域GF(p)上(如ElGamal)。以上所述的几种公钥密码体制都在美国等国家获得过专利(如RSA的专利号为4-405-829)。随着计算技术和代数数论的发展,这两类公钥密码体制的安全性都受到日益增大的威胁。近年来,人们利用定义在整数环或整数域上的椭圆曲线建立了与这两类公钥密码体制相似的新的公钥密码体制,它们被统称为椭圆曲线密码体制。其中比较有应用价值的是基于椭圆曲线离散对数问题(EDLP)的公钥密码体制。引入椭圆曲线是否能够从根本上提高公钥密码体制的安全性是目前人们仍在研究的一个问题,但已经有人发现至少在理论上基于EDLP的公钥密码体制和基于DLP、IFP的公钥密码体制一样有可能被采用量子算法的攻击所破解。我们也不能排除这样一种可能性即经过几十年的分析研究,实际上已经有人找到破解基于IFP、DLP(包括EDLP)的公钥密码体制的有效方法,但这个事实被少数人或少数国家所隐瞒。因此,研究新的公钥密码体制在信息安全领域的实践中具有重大意义。

发明内容
本发明需要解决的技术问题是打破现有主要公钥密码体制都是基于IFP或DLP,包括EDLP的局限性,研究出一种全新的实用的公钥密码体制。本发明的目的,是利用高阶矩阵经典分解问题的复杂性来实现的,其特征是(a)信息加密采用的是如下的多维陷门单向函数f(k1,k2,…kr)=(k1Ar-1+k2Ar-2…+krI)2b1+(k1Ar-1+k2Ar-2…+krI)b2(1)其中A是一个根据公钥算出的r×r矩阵,b1和b2是两个任选的r维常数向量,r>4;(b)函数f(k1,k2,…kr)的单向性由矩阵A的经典分解问题(即通过相似变换将其化为对角型的问题)的难度来保障;(c)对函数f(k1,k2,…kr)求逆的陷门由矩阵A的特征值或特征向量提供。
本发明的有益效果是为信息安全实践提供一种全新的公钥密码体制,它对于威胁现有公钥密码体制安全的一些攻击方法具有更强的抵御能力。


图一是本发明的实施流程图。
具体实施例方式
以下结合附图,对本发明的具体实施,包括设计算法、制作密钥、建立陷门单向函数、加密以及解密过程进行详细的说明。(一)设计算法如附图所示,设计算法是实施本发明的第一步,它包括如下两个内容1.设计算法的定义域,并定义相应的加法和乘法运算。建议算法的定义域取为实数域,并采用普通的加法和乘法,乘法计算的实际操作过程中可按四舍五入的规则保留一定的小数位数。
2.设计各参数和加、解密计算中各种数据的取值范围。定义域取为实数域时,还要确定各中间数据和计算结果应保留的小数位数。小数位数的选择应使多余的小数尾数得以及时舍弃以节省计算资源,同时保证计算结果中数据有效位的正确性。(二)制作密钥制作密钥是实施本发明的第二步,它包括选取私钥和计算公钥两个内容1.根据第一步的设计,选取r个适当的正实数λ1,λ2…λr作为私钥,其中r>4。要求构成私钥的这些数各不相同。
2.根据私钥构造如下特征多项式ψ(λ)=(λ-λ1)(λ-λ2)...(λ-λr)=λr+σ1λr-1…+σr-1λ+σr(2)通过比较方程(2)两边各项的系数确定r个正实数σ1,σ2…σr作为公钥。(三)建立陷门单向函数从附图可以看出,这一步也是信息加密者和解密者都要完成的公共操作。因为本发明采用的陷门单向函数可用(1)表示,这一步的主要内容是计算或确定A,b1和b2三个参数。A可选为ψ(λ)的伴随矩阵,并根据公钥(σ1,σ2,…σr)按下式计算A=-σ1-σ2···-σr1010···0------(3)]]>A是陷门单向函数的重要参数矩阵,其特征值和特征向量的保密性是本密码体制的安全保障。参数向量b1和b2的选取有一定的任意性,例如可取b1=[10…0]T(4)b2=[11…1]T(5)(四)加密对用户信息进行加密是实施本发明的核心,这一步可以细分为如下五个小步骤,其中第三步可以选用3a或3b1.产生r个秘密随机正整数k1,k2,…kr。
2.计算Y=(k1Ar-1+k2Ar-2+…+krI)(6)3a.以Y的某个整型标量函数作为会话密钥并以公知的对称密码算法获取用户信息密文。建议会话密钥κ取为κ=int[θtr(YTY)] (7)其中int()代表取整运算,tr(YTY)表示矩阵YTY的迹,θ是一个常数。
3b.对矩阵Y的所有元素进行取整运算,令X=int(θY) (8)并采用X对用户信息进行加密。
4.计算d=(Y2b1+Yb2)(9)d将作为会话密钥κ或加密矩阵X的密码被用于解密。(五)解密解密的基本原理是Y可表示为Y=Hdiag(μ1,μ2,μ3…μr)H-1(mod n)(10)其中H是由A的所有特征向量构成的模态矩阵,H=λ1r-1λ2r-1···λrr-1············λ1λ2···λ411···1-----(11)]]>在方程(9)两边同时左乘H-1可将其简化为r个一元二次方程,从中可解出μ1,μ2,…μr,从而由方程(10)确定Y或直接算出会话密钥。具体解密过程可进一步细分为如下三步,其中第三步分为3a和3b,分别对应于加密第三步的两个选项1.计算H-1d=[δ1δ2δ3δ4]T(12)H-1b1=[α1α2…αr]T(13)H-1b2=[β1β2…βr]T(14)2.求解αiμi2+βiμi=δi,i=1,2,...r (15)3a.当在加密过程中采用3a时,按以下公式计算会话密钥κκ=int[θtr(YTY)]=int[θ(μ12+μ22…+μr2)] (16)3b.当在加密过程中采用3b时,按(8)和(10)两式确定加密矩阵X。
权利要求
1.一种公钥密码体制,其特征在于(a)信息加密采用的是如下的多维陷门单向函数f(k1,k2,…kr)=(k1Ar-1+k2Ar-2…+krI)2b1+(k1Ar-1+k2Ar-2…+krI)b2(1)其中A是一个根据公钥算出的r×r矩阵,b1和b2是两个任选的r维常数向量,r>4;(b)函数f(k1,k2,…kr)的单向性由矩阵A的经典分解问题(即通过相似变换将其化为对角型的问题)的难度来保障;(c)对函数f(k1,k2,…kr)求逆的陷门由矩阵A的特征值或特征向量提供。
2.如权利要求1所述的公钥密码体制的加、解密算法,其特征在于选取r个正实数λ1,λ2…λr作为私钥,根据私钥构造如下特征多项式ψ(λ)=(λ-λ1)(λ-λ2)…(λ-λr)=λr+σ1λr-1…+σr-1λ+σr(2)通过比较方程(2)两边各项的系数确定r个正实数σ1,σ2…σr作为公钥;加密时先根据公钥计算矩阵AA=-σ1-σ2···-σr1010···0------(3)]]>再产生r个秘密随机正整数k1,k2,…kr,用它们计算一个随机矩阵Y=(k1Ar-1+k2Ar-2+…+krI) (6)和一个向量d=(Y2b1+Yb2) (9)利用Y算出一个会话密钥或加密矩阵,并以d作为其密码;解密时,先把Y表示为Y=Hdiag(μ1,μ2,μ3…μr)H-1(mod n) (10)其中H是由A的所有特征向量构成的模态矩阵,H=λ1r-1λ2r-1···λrr-1············λ1λ2···λ411···1-----(11)]]>再通过在方程(9)两边同时左乘H-1将其简化为r个一元二次方程,从中解出μ1,μ2,…μr,从而由方程(10)确定Y或直接算出会话密钥。
全文摘要
一种公钥密码体制,以矩阵的经典分解问题,即通过相似变换把高阶矩阵转化为对角标准型的问题的难度保证加密运算的单向性,其优势在于对于威胁现有公钥密码体制安全的一些攻击方法具有更强的抵御能力。
文档编号H04L9/28GK1396741SQ0212933
公开日2003年2月12日 申请日期2002年9月2日 优先权日2002年9月2日
发明者郑建德 申请人:郑建德
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1