线性混淆高次方程公钥密码算法的制作方法

文档序号:7602388阅读:511来源:国知局
专利名称:线性混淆高次方程公钥密码算法的制作方法
技术领域
本发明涉及了一种单向陷门函数的构造以及利用这个单向陷门函数设计的公钥 密码算法,是数据加密,数字签名,保密通信,计算机网络和信息安全领域的一种核心技术。
背景技术
和现有相关技术本领域中现有的公钥密码算法有RSA密码算法,椭圆曲线密码算法(ECC),NTRU密 码算法,隐含域方程密码算法(HFE)等,其中RSA的安全性基于大数分解问题的困难性,ECC 的安全性基于求离散对数问题的困难性,NTRU的安全性基于寻找格上最短向量问题的困难 性,HFE的安全性基于求解有限域上多元非线性方程组问题的困难性。本发明设计的密码算法和HFE有相同的背景技术,都是基于求解有限域上多元非 线性方程组这个困难问题而设计的。下面详细阐述这一技术背景。设k是一个阶为q的有限域,fi(Xl,X2,…。是k上的次数大于1的η元多项式, i = l,2, —η.令
‘fl(xi,x2,---xn) = yiΠ = \ 2 1 2 nJ ^2
/,(X丨,ι2,·.·χ ) 二八由计算复杂性理论可知,求解方程组Π是一个NP-完全问题,也就是说任何求解 方程组Π的算法的计算复杂度随着η的增大而指数的增大。那么当η足够大的时候,这个 问题是无法求解的。由方程组Π确定了一个是的函数FF (xi; X2, ... xn) = (X1, x2, ---Xn) , f2 (x17 x2, ...xn), ··· fn(x1 x2, ...xn))求(yi,y2,-yn) = F(xi;x2,…xn)只需将变量(x1; x2,…xn)代入方程组Π,这 是容易计算的,而求(X1, X2,-Xn) =F-^y1, y2,夂7 ),相当与求解方程组Π,当η足够大 时,这是不可计算的。像这样的F就叫做单向函数。如果构造单向函数F的时候预留一定 的陷门,使得当不知道该陷门的时候F是一个单向函数,其逆不可计算。但是当知道陷门的 时候可以容易的计算F的逆,这样的函数叫做单向陷门函数。设计公钥密码算法的核心就 是构造单向陷门函数。HFE是与本发明最接近的且最广为人知的一类公钥密码算法,它与本发明都是基 于求解有限域上多元非线性方程组这个困难问题而设计的,但是HFE与本发明的设计有本 质的区别。下面介绍HFE的技术特征设k是一个阶为q的有限域,g(x) e k[x]是k上的η次不可约多项式,K是k 的η次扩域,且K =α是g(x)在K中的根。于是K中的的元素可以表示为
权利要求
一种基于求解有限域上多变量非线性多项式方程组的困难问题而设计的公钥密码算法,其特征在于直接在基域k上构造公钥和私钥,加密和解密运算全部在基域上完成,所构造出的公钥方程组中多项式的次数可超过二次。
2.权利要求1中所述的在基域上构造公钥和私钥的方法,其特征在于从所有有限域 k上的η元单项式中随机选取η个,记为Hi1 (χ” x2,…,χη),m2(χ1; χ2,…,χη),…,mn(Xl, X2,…,Xn),并构造多元单项式方程组
3.权利要求1中所述的在基域上进行加密的运算,其特征在于将明文序列按变元个 数分组,并把每一组明文,记为X1,X2,…,Xn直接带入权利要求2中所构造的公钥Π中或者 G中,得到密文yi,y2,…,yn。
4.权利要求1中所述在基域上进行解密的运算,其特征在于将密文分组(yi,y2,…, yn)用权利要求2中所述的可逆仿射变换L2的逆变换Lf1作用,得到(y/ ,y2',…yn')=V1 (ι,,I2, ...yn),将 Y1',y2' yn'带入权利要求2中所述的私钥方程组M的右边,XlX2'出1' 萍 X 角(‘1·λ xn',再用权利要求2中所述的可逆仿射变换L1的逆变换L1-1作用得到Xn'),则Xl,X2,…、就是解密出的明文分组。
5.权利要求4中所述解密运算中求解有限域k上的η元单项式方程组M的算法,其特 征在于把M转化为两个维数更低的方程组Μω和Μ(2),其中Μω右边全不是零,Μ(2)右边全 是零,然后分别求解。
6.权利要求5中所述将把M转化为两个维数更低的方程组Μω和Μ(2)的方法,其特征 在于首先把出现在不为零的单项式中的变量做一个集合Α,再在所有为零的单项式中把 出现在集合A中的变量直接消去,最后所有右边不是零的方程组成Μω,所有右边是零的方 程组成Μ 。
7.权利要求5中所述的对右边全不是零的多变量单项式方程组Μ(1)的解法,其特征 在于把方程组Μω规约为等价方程组R ,按照自变量的一定顺序,比如X1 > X2 >··> χη, Nl中的每一个方程中出现自变量的最大下标严格小于前一个方程,其规约方法是每次选 取一个需要消去的自变量在原方程组中选取一个含有并且所含自变量个数最少的方程my> =<",把=JK/1)从原方程组中删去,并添加到新的方程组中去,然后在=y!X) 中把彳)看作未知的,其余变量看作已知的,把彳)用其余变量表示为
8. 一种基于以上公钥密码算法所设计数字签名方案,其特征在于对需要签名的消息 进行上述解密运算,得到的“明文”就是对该消息的签名,验证过程只需对签名进行上述加 密运算,把得到的“密文”与消息比对,如果相同则确认这个签名。
全文摘要
属于数据加密,数字签名,保密通信,网络和信息安全领域。本发明基于有限域上求解高次多变量多项式方程组的困难问题构造了一类单向陷门函数,并且给出了基于该单向陷门函数设计的公钥密码加密和解密算法。该算法具有运算速度快,安全性高等特点。
文档编号H04L9/30GK101977109SQ201010517220
公开日2011年2月16日 申请日期2010年10月21日 优先权日2010年10月21日
发明者李晨 申请人:李晨
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1