一种高效的门限加密方案的制作方法

文档序号:11778165阅读:895来源:国知局

本发明涉及一种高效的门限加密方案,属于信息安全技术领域。



背景技术:

随着网络信息技术的飞速发展,计算机网络在社会、政治、经济等方面的作用日益突出,人们的日常生活和工作也越来越依赖计算机网络。计算机网络在给人们带来便利的同时,也带来了信息安全问题,如隐私数据泄漏,恶意攻击等。如何有效的防止信息的泄密,保证信息的安全,已成为信息科学领域的一个研究热点。shamira和blakleyg在1979年分别独立提出了秘密共享概念,其主要思想是将秘密分成n份影子,分发给n个参与者。其中任意t个多于t个参与者协同合作就可以恢复秘密。这种(t,n)门限加密方案的主要特点是能够分散安全风险,保证数据的安全性。在保证数据安全性的条件下,提高(t,n)门限加密方案的效率,使得多方用户在数据进行加解密过程中能够高效的操作,也是十分重要的一个问题。

下面首先对相关概念进行说明和解释:

一、hash函数

hash函数是密码学体系中的一个重要的组成部分,它也被称为散列函数,能够把任意有限长度的输入串m映射成某一固定长度的输出串h,公式表示为:h=h(m)。一个hash函数h=h(x)需要满足以下条件:

(1)输入的x的长度是任意的,但是输出的h的长度确是固定相同的;

(2)对于任意给定的输入x,计算输出h是容易的;而反过来,给定输出h,找到输入x使得h=h(x)在计算上是不可行的;

(3)找出两个不同的输入x和x',即x≠x',使得h(x)=h(x')在计算上是不可行的;给定一个输入x,找出另一个不同的输入x',即x≠x',使得h(x)=h(x')在计算上是不可行的。

二、rsa加密算法

rsa是一个基于数论的非对称(公开钥)密码体制,是一种分组密码体制。它的安全性是基于数论和计算复杂性理论中:求两个大素数的乘积在计算上是容易的,但是要分解两个大素数的积求出它的素因子在计算上是困难的。该算法的主要实现方法为:首先选取两个大素数p和q,满足|p|≈|q|,计算并公开它们的乘积n=pq;其次再确定公钥,选择一个整数e,满足gcd(e,φ(n))=1,其中φ(n)=(p-1)(q-1);最后计算解密密钥d,满足ed≡1modφ(n),则公钥为(n,e),私钥为(n,d)。那么对于数据m进行加密为:c=memodn,解密为:m=cdmodn。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种高效的门限加密方案,并且在保证数据在传输过程中安全性的同时,也保证了算法的效率。

为解决上述技术问题,本发明提供一种高效的门限加密方案,其特征是,包括如下步骤:

1)密钥生成:生成加密所需的公私钥对;

2)密钥分配:将生成的私钥分成不同的密钥片段分发给相应的实体,并公开相应的参数;

3)数据加密:对于需要传输的数据进行加密,并使用自己的密钥片段进行初步的解密,将半密文发送给数据接收方;

4)密文解密:接收到发送的半密文,使用拥有的密钥片段对半密文进行解密。

进一步的,所述密钥生成的步骤为:

首先选取两个大素数p和q,使得|p|≈|q|,计算并公开它们的乘积n=pq,其次在确定公钥e,满足gcd(e,φ(n))=1,其中φ(n)=(p-1)(q-1),最后计算相应的解密密钥d:使得d≡e-1modφ(n)。

进一步的,所述密钥分配的步骤为:

步骤2-1:随机选取一个大素数p和a0,其中a0∈zp-1,令函数f(x)=d+a0x,其中d为密钥生成过程中的解密密钥,zp-1为整数p-1的加法循环群,该群为参数选择的空间;

步骤2-2:为每一个数据接收方选取一个xi,则对于n个不同的数据接收方,有整数集合{x1,x2,…,xn},然后计算出各自的密钥片段di=f(xi)modp-1,i=1,2,…,n,xi表示系统为数据接收方选取的一个随机的整数,di表示各数据接收方计算的密钥片段;

步骤2-3:公开选取的整数集合{x1,x2,…,xn},并通过安全信道将生成的密钥片段di发送给对应的数据接收方i。

进一步的,所述数据加密的步骤为:

步骤3-1:假设数据m需要在实体i与实体j之间进行传输,则实体i对数进行rsa加密c1=memodn;

步骤3-2:随后对加密的密文c1进行初步的解密

步骤3-3:将生成的半密文ch发送给实体j。

进一步的,所述密文解密的步骤为:实体j接收到实体i发送的半密文ch,恢复数据:

进一步的,所述密文解密的解密过程的正确性由下列方程式证明:

k表示任意一个整数。

本发明所达到的有益效果:

与现有技术相比,本发明的优点在于:在整个的加密过程中将密钥分成了(2,n)的门限加密方案,在数据传输过程中保证了数据的安全性,同时任意两个密钥片段就可以对密文进行解密操作,这也提高了算法的执行效率。

附图说明

图1是本发明高效门限加密方案流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,一种高效的门限加密方案,包括如下步骤:

1)密钥生成:生成加密所需的公私钥对;

2)密钥分配:将生成的私钥分成不同的密钥片段分发给相应的实体,并公开相应的参数;

3)数据加密:对于需要传输的数据进行加密,并使用自己的密钥片段进行初步的解密,将半密文发送给数据接收方;

4)密文解密:接收到发送的半密文,使用拥有的密钥片段对半密文进行解密。

本实施例中,所述密钥生成的步骤为:

首先选取两个大素数p和q,使得|p|≈|q|,计算并公开它们的乘积n=pq,其次在确定公钥e,满足gcd(e,φ(n))=1,其中φ(n)=(p-1)(q-1),最后计算相应的解密密钥d:使得d≡e-1modφ(n)。

本实施例中,所述密钥分配的步骤为:

步骤2-1:随机选取一个大素数p和a0,其中a0∈zp-1,令函数f(x)=d+a0x,其中d为密钥生成过程中的解密密钥,zp-1为整数p-1的加法循环群,该群为参数选择的空间;

步骤2-2:为每一个数据接收方选取一个xi,则对于n个不同的数据接收方,有整数集合{x1,x2,…,xn},然后计算出各自的密钥片段di=f(xi)modp-1,i=1,2,…,n,xi表示系统为数据接收方选取的一个随机的整数,di表示各数据接收方计算的密钥片段;

步骤2-3:公开选取的整数集合{x1,x2,…,xn},并通过安全信道将生成的密钥片段di发送给对应的数据接收方i。

本实施例中,所述数据加密的步骤为:

步骤3-1:假设数据m需要在实体i与实体j之间进行传输,则实体i对数进行rsa加密c1=memodn;

步骤3-2:随后对加密的密文c1进行初步的解密

步骤3-3:将生成的半密文ch发送给实体j。

本实施例中,所述密文解密的步骤为:实体j接收到实体i发送的半密文ch,恢复数据:

本实施例中,所述密文解密的解密过程的正确性由下列方程式证明:

k表示任意一个整数。

本发明较现有的门限加密方案,由于彼此所持有的密钥片段是不同的,更适用于多用户之间数据的传输,而且数据是通过半密文进行传输的,在解密时通过自身的密钥片段就可以很快的恢复明文。与同类的门限加密方案相比,在保证数据安全性的情况下,本发明的构造简洁、高效。

下面将对本发明的高效门限加密方案应用于企业的情况进行说明。

依照本发明的步骤,当政府部门或大型企业应用本发明的门限加密系统时,如一个大型的企业有a、b、c、d这样四个分布在各地的部门,那么部门之间会需要进行文件以及技术方面的交流。在这样一个网络信息高速发展的时代,更多的企业会选择在网络之间进行数据之间的交流和传输,有些数据是在部门内部的网络上传输,而部门之间数据的传输更多的是通过公网进行传输,而有些机密的文件和技术是不能够让第三方知道的,这就需要部门之间在数据传输的过程中进行数据的加密,而该门限加密方案就可以很好的解决这一问题。由企业生成密钥,并将密钥片段发送给a、b、c、d四个部门,当企业与a、b、c、d部门中任意一个进行数据传输时,就可以很好的保证数据的安全。由于每个部门所持有的密钥片段是不同的,所以当一个部门的密钥被泄漏时,并不影响其他部门数据的安全性,同时该门限加密算法的效率很高,很适合企业使用。

所以,本发名带来的有益效果是:增强了门限加密方案的适用性,尤其适用于企业中部门之间通过公网进行数据传输的应用场景。

该方法主要是保证数据传输过程中的安全,以防信息的泄漏,并大大提高了加解密的效率。该门限加密方案有效的保护了数据在传输过程中的安全,数据在信道上传输过程中是以半密文的形式传输的,由于不同用户的密钥片段的不同,保证了数据的安全性;由于hash函数具有不可逆性,以及任意一方想通过自身密钥片段推出完整密钥等价于求解(2,n)的门限问题,在模数n足够大的情况下,推出完整密钥的概率趋于0;在保证数据安全的情况下,该方案的效率也是非常高的,用户可以使用任意两个密钥片段就可以对半密文数据进行解密,而且方案中大部分的运算的时间复杂度为o(1),除了密钥分发过程中,模加运算的复杂度为o(n),可以看出该方案在效率和功能性上均有显著提高,构造简洁、高效。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1