主权项 |
1、一种基于杠杆函数的公开密钥密码系统,简称REESSE2公开密钥密码系统,由密钥生成、加密和解密三个模块组成,密钥生成模块运行在第3方权威机构,用来产生用户的一对私有密钥和公开密钥,加密模块运行在发送方的机器上,发送方使用接收方的公开密钥来加密明文文件或数据,解密模块运行在接收方的机器上,接收方使用自己的私有密钥来解密密文文件或数据,其特征在于●密钥生成模块采用了下列独特步骤:(1)产生项数为n的超递增序列{A1,A2,…,An}(2)找到一个正素数M,其满足M>∑Ai,且(n/log2 M)≥0.65(3)随机产生杠杆函数值f(1)、f(2)、…、f(n),2≤f(i)≤(n+1),两两不同(4)选取合适的正素数W、Z,其满足W<M、Z<M(5)计算非超递增序列Ci=((Ai+Z*f(i))*W)mod M,(i=1,2,…,n)(6)从(Z+(-Z))mod M=0求出-Z,从(W*W-1)mod M=1求出W-1 过程结束后,以({A1,A2,…,An}、W-1、-Z、M)作为私有密钥,以({C1,C2,…,Cn)作为公开密钥,其中,私有密钥只能由密文接收方私自拥有;●加密模块采用了下列独特步骤:设({C1,C2,…,Cn}、M)为公开密钥,EF为明文文件/数据,数据块分组数m≥16,(1)随机产生m*n比特的数据块b11b12…b1nb21b22…b2n……bm1bm2…bmn,并将其划分为m个n比特的分组(2)以单向散列函数HASH(b11b12…b1n,b21b22…b2n,……,bm1bm2…bmn)之n比特输出作为会话密钥K(3)以会话密钥K对明文文件/数据EF进行分组对称加密,得到密文文件/数据CF(4)令i=1(5)令Ei=0,j=1(6)如果bij=1,贝 Ei=(Ei+Cj)modM(7)做j=j+1,如果j≤n,则转至(6)(8)做i=i+1,如果i≤m,则转至(5),否则,结束结束后,得到密文文件/数据CF和密文子集和序列E1、E2、…、Em,它们可以被安全地发送给接收方;●解密模块采用了下列独特步骤:设({A1,A2,…,An}、w-1、-Z、M)为私有密钥,CF为密文文件/数据,E1、E2、…、Em为密文子集和序列,(1)令i=1(2)做Ei=(Ei*W-1)modM(3)做Ei=(Ei+(-Z))modM(4)令bi1bi2…bin各位皆为0,Es=Ei,j=n(5)如果Es≥Aj,则bij=1并且Es=Es-Aj (6)做j=j-1,如果j≥1并且Es≠0,则转至(5)(7)如果Es≠0,则转至(3)(8)做i=i+1,如果i≤m,则转至(2)(9)以单向散列函数HASH(b11b12…b1n,b21b22…b2n,……,bm1bm2…bmn)之n比特输出作为会话密钥K(10)以会话密钥K对密文文件/数据CF进行分组对称解密,得到明文文件/数据EF结束后,接收方恢复出发送方的明文文件/数据即原始文件/数据EF。 |