CN108737098A - 密钥生成方法、信息加解密方法、装置、介质及电子设备 - Google Patents
密钥生成方法、信息加解密方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN108737098A CN108737098A CN201810682177.2A CN201810682177A CN108737098A CN 108737098 A CN108737098 A CN 108737098A CN 201810682177 A CN201810682177 A CN 201810682177A CN 108737098 A CN108737098 A CN 108737098A
- Authority
- CN
- China
- Prior art keywords
- matrix
- information
- prime number
- modn
- key generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种密钥生成方法、信息加密方法、信息解密方法、密钥生成装置、计算机可读存储介质及电子设备。该密钥生成方法包括:生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;根据素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;计算矩阵B、G和H;根据矩阵B、G、H和模数N生成用于加密信息的公钥;根据矩阵D、F、A‑1和素数p、q生成用于解密信息的私钥。利用本公开提供的密钥只需要进行几次简单的模乘法和模加法运算即可实现信息的加密和解密,具有运算效率高、实现成本低的优点。
Description
技术领域
本公开涉及信息加密技术领域,具体涉及一种密钥生成方法、信息加密方法、信息解密方法、密钥生成装置、计算机可读存储介质及电子设备。
背景技术
随着时代的进步,信息化技术的建设已经逐渐成为各行各业取得进一步拓展的重要手段。政府和企业为了自身的发展需要,都在积极推进信息化建设,电子公文就是在这种背景下发展起来的。通过电子公文传输、交换、共享及处理各种事务,加快了公文流转速度,提高了办公效率和资源利用率,实现了跨平台的信息交换和信息共享。目前我国很多省级及地方政府己经拥有了电子化办公***,电子政务的发展顺应了时代发展的需求,呈现出全面覆盖所有政府业务应用的趋势,它打破了时间、空间的限制,极大提高资源节约和工作效率,能够为社会公众提供更全面、更优质、更规范的管理与服务,但与此同时也带来了电子公文的安全性问题。实际上,在电子公文投入应用之日起安全问题就随之而来。电子公文同其它电子文档一样可能会遭遇伪造、篡改、增删、冒名等,而且电子公文又与传统纸质文件不同,电子公文载体易损、信息易变、形式多样和记录虚化等特点,其形成后必须及时、妥善地加以管理,否则可能对日后的档案完整性造成无法挽回的损失。目前,电子公文的内容、电子公文发送者身份的真实性和电子公文本身的合法性受到了威胁,电子公文何时归档、如何归档、如何设置电子公文管理机构等问题争论不断。因此,如何保证电子公文的安全性是政府部门亟待解决的问题。
安全是电子公文传输***的首要要求。电子公文是通过网络传送的,其传送和接收是在高度自由的网络环境中进行的,需要从制作、使用、传输、保存等各方面对电子公文和公章实现加密保护。电子公文的安全性包括公文传输流程设计,身份识辨,电子排版,电子盖章及***管理,全程加密,远程传版,收发文审计管理,可开放定制等。与一般的信息***不同,电子公文传输***对加密机制有着独特的要求。一般的信息加密都侧重于对信道加密,注重对接收方的身份识别,对合格的接收方并不做防范。但由于电子公文中的公章是不允许被接收方所掌握的,因此即使是合法接收方也要严加限定,为此电子公文安全传输***采用全程加密技术,全程加密是指公文文件从电子盖章形成电子公文开始,一直以密文形式存在,不仅在信道上传输需要加密,就是在“落地”后也需要保持在加密状态,并严格处在加密卡的保护之下。全程加密不仅实现了对公文内容的保护,同时对电子***的保护也起到了很好的作用。
国内外现有的电子公文加密方法大致可以分为两种:
(一)采用数字水印技术实现电子公文的安全性。此类***的共同点是采取了将电子公文信息进行数字签名后以数字水印的形式嵌入到***图片中。这种实现方式的优点在于它能够很好地对文档的完整性进行验证。数字签名值及用户、制造商的标识信息作为水印信息嵌入到***图像数据中,掩蔽了这些信息的存在和储存方法,由于单向散列函数的特性,使得对电子公文的任何修改都会导致公文信息哈希值的相应改变,从而在验证的时候,验证方把它与从***中提取出来的水印信息进行比较,就会发现两次的哈希值不相等,即说明电子公文被篡改过,公文验证失败。但是此类电子签章***也存在着一些缺点,首先从安全性的角度来说,这类***主要采用了数字水印技术,做到了对公文的完整性的保证以及对***图片的唯一性保证,但由于公文签署过程仅使用了公钥的数字签名技术,而没有充分利用数字证书,导致公文签署存在不安全因素。假如某个签章者签署完毕以后,由于某种原因被解除了职务,但其签署的公文仍然可以通过验证。这正是此类电子公文签章***存在的弊端;其次从***实现的代价角度来看,采用数字水印技术的电子公文安全***是把签名值用相应的水印嵌入算法嵌入到***图片中,在电子公文上可以用对应的水印提取算法来提取水印,如果把电子公文打印到纸张上,此时就需要用到相应的水印识别设备来识别水印。这就意味着额外增加硬件设备来支持,这样势必加大***实现的代价。
(二)采用公钥技术,建立认证中心(CA)中心和“***管理中心”,实现电子公文安全性。***管理中心的任务主要是受理***的制作请求,对***的制作申请进行审查,即核对申请人的身份与申请***代表的身份是否一致,申请的信息是否有效,该***的使用权利,申请者制作***时是否满足相应的标准,是否拥有对应公钥的私钥等注册期的任务,并根据审查后的信息利用***制作中心的私钥来对申请的***进行签名后颁发。用户要进行电子公文的签章,需要向***中心申请电子***,经批准后,***中心通过网络将电子***发送给申请的用户,用户收到合法的电子***后就可以对公文进行签章操作。这类***也同样存在实现代价大的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种密钥生成方法、信息加密方法、信息解密方法、密钥生成装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的加解密运算复杂、实现成本高的技术问题。
根据本公开的一个方面,提供一种密钥生成方法,其特殊之处在于,包括:
生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;
根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;
计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN);
H=(hij)n×n≡F-1E(modN)
根据矩阵B、G、H和模数N生成用于加密信息的公钥;
根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
在本公开的一种示例性实施方式中,所述根据所述素数p、q和矩阵A生成五个n阶矩阵C、D、E、F和A′包括:
生成五个n维矩阵C、D、E、F和A′,使得各个矩阵中的元素满足如下条件:
其中,aij、cij、dij、eij、fij和a′ij分别为矩阵A、C、D、E、F和A′中的元素,αij、βij和γij均为待定系数,ZN为模N的完全剩余系。
在本公开的一种示例性实施方式中,所述模数N和素数p、q满足如下条件:
|N|2=1024;
|p|2=|q|2=512。
根据本公开的一个方面,提供一种基于以上任意一项所述的密钥生成方法的信息加密方法,其特殊之处在于,包括:
获取信息明文M,所述信息明文M的长度为|M|2=ln,其中l为整数;
将所述信息明文M分割为n个字段:m1,m2,...,mn,其中每个字段的长度均为|mi|2=l;
生成2n个整数:r1,r2,...,rn,s1,s2,...,sn;
对所述信息明文M进行加密得到密文s=(U,V),其中密文对U和V满足如下条件:
在本公开的一种示例性实施方式中,所述信息加密方法还包括:
采用Shamir门限秘密分割方法将所述密文s分割为多个子秘密,并将所述子秘密分配给多个参与者。
在本公开的一种示例性实施方式中,所述采用Shamir门限秘密分割方法将所述密文s分割为多个子秘密,并将所述子秘密分配给多个参与者包括:
构造有限域GF(q),使得s∈GF(q)\{0};
在GF(q)\{0}中任意选取k-1个系数a0,a1,…,ak-1;
构造多项式f(x)=a0+a1x+…+ak-1xk-1;
为m个参与者p1,p1,…,pm分配子秘密,其中参与者pi分配到的子秘密为f(i)。
根据本公开的一个方面,提供一种基于以上任意一项所述的信息加密方法的信息解密方法,其特殊之处在于,包括:
接收密文s=(U,V);
通过以下公式计算得到信息明文M:
T=(t1,t2,...,tn)T=DU+FV(modN)
M=A-1(w1,w2,...,wn)T
其中,
根据本公开的一个方面,提供一种密钥生成装置,其特殊之处在于,包括:
参数生成模块,被配置为生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;
矩阵生成模块,被配置为根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;
矩阵计算模块,被配置为计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN);
H=(hij)n×n≡F-1E(modN)
公钥生成模块,被配置为根据矩阵B、G、H和模数N生成用于加密信息的公钥;
私钥生成模块,被配置为根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的方法。
在本公开实施方式中,提供了基于组合矩阵的公钥密码算法和以此为基础的密钥生成方法、信息加密方法和信息解密方法。其安全性是基于一类特殊的矩阵组合问题,该问题与整数分解问题有关,但并不是直接基于整数分解。因此,即使整数分解问题被有效解决,本公开的方法仍可以继续使用。在本公开提供的信息加密和解密方法中,加密和解密只需要进行几次简单的模乘法和模加法运算,具有较快的运算效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施方式中密钥生成方法的应用场景框图。
图2示意性示出本公开示例性实施方式中密钥生成方法的步骤流程图。
图3示意性示出本公开示例性实施方式中信息加密方法的步骤流程图。
图4示意性示出本公开示例性实施方式中信息加密方法的步骤流程图。
图5示意性示出本公开示例性实施方式中密钥生成装置的组成框图。
图6示意性示出本公开示例性实施方式中一种程序产品的示意图。
图7示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
参考图1所示,本公开提供的密钥生成方法可以应用于电子公文的保密传输。具体而言,可以实现政府部门与部门之间、单位与单位之间电子公文在开放网络环境下安全地分发和接收,实现高效率的无纸化办公。该方法的优点是安全、高效、轻量级,同时具有如下特点:把电子公文作为一种数字化信息,通过网络传输,可快速到达收件单位;公文收发流程与现有公文手法流程基本保持一直,操作方便,易于存档;加密方式以密码和随机数为参数,保密安全性强。下面结合具体实施方式对本公开的方法做出详细说明。
本公开的示例性实施方式中首先提供一种密钥生成方法,参考图2所示,该方法主要可以包括以下步骤:
步骤S210.生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq。
为了提高密钥的安全性,可以要求模数N和素数p、q满足如下条件:|N|2=1024,|p|2=|q|2=512。
矩阵A可以是随机生成的:
在实际应用中,一般可以选取n=4,对于矩阵A的元素aij,i=1,2,3,…,n;j=1,2,3,…,n。矩阵A在R上是可逆的并把其逆矩阵记作A-1。
步骤S220.根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′。
在本步骤中,可以先随机生成四个n维矩阵C、D、E和F,记为:
其中aij、cij、dij、eij、fij和分别为矩阵C、D、E和F中的任意元素,而且aij,cij,dij,eij,fij∈ZN,满足下面两个条件:
其中,ZN为模N的完全剩余系,αij为待定系数。
其中,βij为待定系数。
然后再选取另一个矩阵A′
其中,
其中,γij为待定系数。
为使基于该密钥生成方法的加密方法能够正确解密,要求矩阵A-1、C、D、E和F是模N的方阵可逆的,并把矩阵D和F模N的方阵逆矩阵分别记作D-1和F-1。
步骤S230.计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN)
H=(hij)n×n≡F-1E(modN)
根据步骤S220得到的相关矩阵结合模数N可以进一步计算得到矩阵B、G和H。
步骤S240.根据矩阵B、G、H和模数N生成用于加密信息的公钥。
利用本步骤生成的公钥,可以对信息明文进行加密,以提高信息传输的安全性。
步骤S250.根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
利用本步骤生成的私钥,可以对加密后的信息进行解密以得到原始的明文信息。
基于以上示例性实施方式所提供的密钥生成方法,在本公开的另一示例性实施方式中提供一种信息加密方法。参考图3所示,该信息加密方法主要可以包括以下步骤:
步骤S310.获取信息明文M,信息明文M的长度为|M|2=ln,其中l为整数。如果明文长度不是l的整数倍,则可以在明文最后进行填充,使其长度为l的整数倍,最后再对明文进行分组,然后对各个明文分组进行加密。
本步骤首先获取待加密的信息明文M。
步骤S320.将所述信息明文M分割为n个字段:m1,m2,...,mn,其中每个字段的长度均为|mi|2=l。
由步骤S310获取到信息明文M后,本步骤将把信息明文M分割为n个字段:m1,m2,...,mn,其中每个字段的长度均为|mi|2=l。
步骤S330.生成2n个整数:r1,r2,...,rn,s1,s2,...,sn。
本步骤中生成的2n个整数可以是ZN中的随机数。其中ZN为模N的完全剩余系。
步骤S340.对所述信息明文M进行加密得到密文s=(U,V),其中密文对U和V满足如下条件:
本步骤根据公钥和步骤S330生成的随机数,对信息明文M进行加密后得到的密文s是一个二元组(U,V)。
为了进一步提高密文安全性,在以上信息加密方法中还可以包括以下步骤:
步骤S350.采用Shamir门限秘密分割方法将所述密文s分割为多个子秘密,并将所述子秘密分配给多个参与者。
由本步骤进行密文分割后,密文将由多人共同掌管,并且必须多人同时到场才能恢复这一密文。如图4所示,本步骤中进行密文分割和分配的方法具体可以包括以下步骤:
步骤S351.构造有限域GF(q),使得s∈GF(q)\{0};
步骤S352.在GF(q)\{0}中任意选取k-1个系数a0,a1,…,ak-1;
步骤S353.构造多项式f(x)=a0+a1x+…+ak-1xk-1;
步骤S354.为m个参与者p1,p1,…,pm分配子秘密,其中参与者pi分配到的子秘密为f(i)。
如果任意k个参与者要想得到秘文s,利用(il,f(il)|l=1,2,...,k)构造线性方程组:
因为il(1≤l≤k)均不相同,所以可由Lagrange插值公式构造多项式:
从而可以得到密文s=f(0)。
然而,参与者仅需知道f(x)的常数项f(0)而无需知道整个多项式,所以仅根据下式就可求出s:
如果k-1个参与者要想获得秘密s,则构造出由k-1个方程构成的线性方程组,其中有k个未知量,对GF(q)中的任一值s0,可设f(0)=s0,由此可得第k个方程,并由Lagrange插值公式得出f(x),因此,对每一s0∈GF(q)都有一个惟一的多项式满足式s,所以已知k-1个子秘密得不到关于秘密s的任何信息,因此这个方案是完善的。
在以上示例性实施方式所提供的信息加密方法的基础上,本公开的另一示例性实施方式提供一种信息解密方法,该方法主要包括:
接收密文s=(U,V);
通过以下公式计算得到信息明文M:
T=(t1,t2,...,tn)T=DU+FV(modN)
M=A-1(w1,w2,...,wn)T
其中,
需要说明的是,虽然以上示例性实施例以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供一种密钥生成装置。如图5所示,密钥生成装置50主要可以包括:参数生成模块51、矩阵生成模块52、矩阵计算模块53、公钥生成模块54和私钥生成模块55。其中:
参数生成模块51被配置为生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;
矩阵生成模块52被配置为根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;
矩阵计算模块53被配置为计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN);
H=(hij)n×n≡F-1E(modN)
公钥生成模块54被配置为根据矩阵B、G、H和模数N生成用于加密信息的公钥;
私钥生成模块55被配置为根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
上述密钥生成装置的具体细节已经在对应的密钥生成方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的虚拟对象控制方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图6所示,根据本公开的实施方式的用于实现上述方法的程序产品60,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的***、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施例中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图7对本示例性实施例中的电子设备700进行描述。电子设备700仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同***组件(包括处理单元710和存储单元720)的总线730、显示单元740。
其中,存储单元720存储有程序代码,所述程序代码可以被处理单元710执行,使得处理单元710执行本公开中上述各示例性实施例中的方法步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元721(RAM)和/或高速缓存存储单元722,还可以进一步包括只读存储单元723(ROM)。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块包括但不限于:操作***、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器760可以通过总线730与电子设备700的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
本领域技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。
Claims (10)
1.一种密钥生成方法,其特征在于,包括:
生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;
根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;
计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN);
H=(hij)n×n≡F-1E(modN)
根据矩阵B、G、H和模数N生成用于加密信息的公钥;
根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
2.根据权利要求1所述的密钥生成方法,其特征在于,所述根据所述素数p、q和矩阵A生成五个n阶矩阵C、D、E、F和A′包括:
生成五个n维矩阵C、D、E、F和A′,使得各个矩阵中的元素满足如下条件:
其中,aij、cij、dij、eij、fij和a′ij分别为矩阵A、C、D、E、F和A′中的元素,αij、βij和γij均为待定系数,ZN为模N的完全剩余系。
3.根据权利要求1所述的密钥生成方法,其特征在于,所述模数N和素数p、q满足如下条件:
|N|2=1024;
|p|2=|q|2=512。
4.一种基于权利要求1-3中任意一项所述的密钥生成方法的信息加密方法,其特征在于,包括:
获取信息明文M,所述信息明文M的长度为|M|2=ln,其中l为整数;
将所述信息明文M分割为n个字段:m1,m2,...,mn,其中每个字段的长度均为|mi|2=l;
生成2n个整数:r1,r2,...,rn,s1,s2,...,sn;
对所述信息明文M进行加密得到密文s=(U,V),其中密文对U和V满足如下条件:
5.根据权利要求4所述的信息加密方法,其特征在于,所述信息加密方法还包括:
采用Shamir门限秘密分割方法将所述密文s分割为多个子秘密,并将所述子秘密分配给多个参与者。
6.根据权利要求5所述的信息加密方法,其特征在于,所述采用Shamir门限秘密分割方法将所述密文s分割为多个子秘密,并将所述子秘密分配给多个参与者包括:
构造有限域GF(q),使得s∈GF(q)\{0};
在GF(q)\{0}中任意选取k-1个系数a0,a1,…,ak-1;
构造多项式f(x)=a0+a1x+…+ak-1xk-1;
为m个参与者p1,p1,…,pm分配子秘密,其中参与者pi分配到的子秘密为f(i)。
7.一种基于权利要求4-6中任意一项所述的信息加密方法的信息解密方法,其特征在于,包括:
接收密文s=(U,V);
通过以下公式计算得到信息明文M:
T=(t1,t2,...,tn)T=DU+FV(modN)
M=A-1(w1,w2,...,wn)T
其中,
8.一种密钥生成装置,其特征在于,包括:
参数生成模块,被配置为生成一个维数为n的矩阵A和两个素数p、q,并计算模数N=pq;
矩阵生成模块,被配置为根据所述素数p、q和矩阵A生成五个维数为n的矩阵C、D、E、F和A′;
矩阵计算模块,被配置为计算矩阵B、G和H:
B=(bij)n×n≡D-1A′(modN)
G=(gij)n×n≡D-1C(modN);
H=(hij)n×n≡F-1E(modN)
公钥生成模块,被配置为根据矩阵B、G、H和模数N生成用于加密信息的公钥;
私钥生成模块,被配置为根据矩阵D、F、A-1和素数p、q生成用于解密信息的私钥。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任意一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682177.2A CN108737098A (zh) | 2018-06-27 | 2018-06-27 | 密钥生成方法、信息加解密方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682177.2A CN108737098A (zh) | 2018-06-27 | 2018-06-27 | 密钥生成方法、信息加解密方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108737098A true CN108737098A (zh) | 2018-11-02 |
Family
ID=63929310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810682177.2A Pending CN108737098A (zh) | 2018-06-27 | 2018-06-27 | 密钥生成方法、信息加解密方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737098A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392810A (zh) * | 2022-10-31 | 2022-11-25 | 江苏衡正区块链科技有限公司 | 一种基于区块链的全流程环境检测***及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060251247A1 (en) * | 2005-01-11 | 2006-11-09 | Koichiro Akiyama | Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor |
CN101783728A (zh) * | 2009-01-19 | 2010-07-21 | 赵永哲 | 隐藏域上遍历矩阵的公钥加密方法 |
CN102136911A (zh) * | 2011-03-11 | 2011-07-27 | 西京学院 | 一种电子公文的加密方法 |
-
2018
- 2018-06-27 CN CN201810682177.2A patent/CN108737098A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060251247A1 (en) * | 2005-01-11 | 2006-11-09 | Koichiro Akiyama | Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor |
CN101783728A (zh) * | 2009-01-19 | 2010-07-21 | 赵永哲 | 隐藏域上遍历矩阵的公钥加密方法 |
CN102136911A (zh) * | 2011-03-11 | 2011-07-27 | 西京学院 | 一种电子公文的加密方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392810A (zh) * | 2022-10-31 | 2022-11-25 | 江苏衡正区块链科技有限公司 | 一种基于区块链的全流程环境检测***及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7137707B2 (ja) | キー管理方法、クライアントおよびプログラム | |
JP4256415B2 (ja) | 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
KR101866935B1 (ko) | 연관된 개인 키 부분을 사용하는 보다 빠른 공개 키 암호화를 위한 시스템들 및 방법들 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
US10230697B2 (en) | User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages | |
US20190173858A1 (en) | Message server, method for operating message server and computer-readable recording medium | |
US8817986B2 (en) | Cross enterprise communication | |
KR101615137B1 (ko) | 속성 기반의 데이터 접근 방법 | |
CN106302411A (zh) | 基于Windows平台的支持文件加密的安全云存储方法及*** | |
CN112532656B (zh) | 基于区块链的数据加解密方法、装置及相关设备 | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** | |
Thilakanathan et al. | Secure multiparty data sharing in the cloud using hardware-based TPM devices | |
JP2001211154A (ja) | 秘密鍵生成方法,暗号化方法及び暗号通信方法 | |
Kaur et al. | Security in cloud computing using hybrid of algorithms | |
CN108737098A (zh) | 密钥生成方法、信息加解密方法、装置、介质及电子设备 | |
WO2020177109A1 (zh) | 抽签处理方法、可信芯片、节点、存储介质和电子设备 | |
US10892892B1 (en) | Method and apparatus for end-to-end secure sharing of information with multiple recipients without maintaining a key directory | |
Khari et al. | Secure data transference architecture for cloud computing using cryptography algorithms | |
CN104135495B (zh) | 具有隐私保护的无中央机构的密文政策的属性基加密方法 | |
Gaikwad et al. | Providing storage as a service on cloud using OpenStack | |
JP5724720B2 (ja) | 情報処理方法及び装置、並びにコンピュータシステム | |
CN108667613A (zh) | 一种对电子公文进行加密的方法 | |
Jakóbik | A cloud-aided group RSA scheme in Java 8 environment and OpenStack software | |
Akram | A study on Role and Applications of Cryptography Techniques in Cloud Computing (Cloud Cryptography) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181102 |