首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


关于基于二进制序列的秘密共享方法的探索

2015-12-17 09:40:58 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

    作者:杜健昌

1  引言

    随着计算机网络和通信技术的迅速发展,信息安全问题日益突出。现代密码学技术在保证信息的机密性、完整性、可用性、可靠性和不可否认性方面都具有重要作用。其中,秘密共享机制是密码管理机制和分权机制的一个核心部分。

    对于目前的计算机系统和通信系统而言,大量的机密信息以文档的形式存储于计算机中,并依据不同的类型和密级使用不同的密钥去保护它们。通常为了便于管理大量的密钥,使用的全部密钥可能又被一个主密钥来保护,最终导致存储在系统中的所有信息的安全可能取决于一个主密钥。主密钥成为整个系统的安全关键点,如果将它交给单独的一个管理员保管,可能造成一些难以克服的弊端。首先,这个管理员将会具有同他保管的主密钥一样的安全敏感性,需要重点保护,如果他保管的主密钥意外丢失或者他本人遭遇不测,整个系统可能就无法使用了。其次,这个管理员的个人素质和他对组织的忠诚度将成为系统安全的关键,如果他为了某种利益而将他保管的主密钥主动泄露给他人,将会危害整个系统的安全。

    能够解决上述问题的方法称为秘密共享,此处的秘密包括但不限于密码、消息、文件信息、通信信息等,它将一个秘密信息(包括主密钥等)进行分权分责处理,从而得到多个子秘密,并将多个子秘密分别交由多个组织或用户共同保管,而且只有多个组织或用户将自己的份额都放在一起,才能够恢复出所共享的秘密,否则无法恢复出秘密。秘密共享一方面有利于防止权力过分集中,另一方面可以保证秘密的安全性和完整性。

    因此,本文从秘密共享的方法自身出发,提出了一种与传统的秘密共享方法不同的新型秘密共享方法,这也是本文的主要创新点所在。该方法是基于二进制秘密序列的位运算的秘密共享方法,秘密包括但不限于密码、消息等,秘密序列包括但不限于密码序列、消息序列等,将采用非M序列法则形成的非M序列作为其秘密共享的子秘密序列M’的构成元素,并提出了基于二进制序列的秘密共享的子秘密生成方法及对应的秘密恢复方法。实验证明该方法具有可行性与实效性,同时该方法为秘密共享方法提供了新的思路与举措,大大扩展了秘密共享方法的应用范围,具有灵活性和可控性,并且在抗抵赖性上和密码管理方面具有实用价值。

2相关研究

    当前在秘密共享方面的研究侧重于可验证的秘密共享、秘密份额的有效分发、秘密共享方案的应用场景,比如指纹模糊金库、用户管理、数据保护等。秘密共享的技术方案有很多种,最简单的就是秘密分割,其思想很简单,当不想将一个十分贵重的东西的命运完全寄托于某一个人时,可以把它分成很多份,每一份交付给一个人,当然单独的每一份没有什么价值,只有将所有份额放到一起才能重构价值。其他复杂的秘密共享方法包括:拉格朗日插值多项式门限方案、矢量门限方案、高级门限方案、同余类方案、矩阵法方案等。

    国外研究方面,Shamir利用有限域上的多项式方程结合Lagrange插值公式构造了一个(t,n)门限方案。Blakley利用关于空间中的点的知识提出了秘密共享方案,即若将共享秘密映射到t维空间中的一个点,且根据共享秘密构造的每一个秘密份额都是包含这个点的t-l维超平面的方程,那么利用t个或t个以上的这种超平面的焦点刚好确定这个点。    

国内研究方面,李慧贤等人于2008年提出了利用双线性对构造可证明安全的密码共享方案的新方法。石润华等人于2012年提出了一种基于Stern-Brocot树的秘密共享方案。宋云等人于2013年提出了基于极小线性码上的秘密共享方案,给出了极小线性码的构造方法,并研究了极小线性码的判别条件,给出所构造的密码共享方案的极小授权子集。于佳等人于2014年提出了一种无可信中心的可公开验证的多秘密共享方案。殷凤梅等人于2015年提出了一种(t,n)门限追踪匿名认证方案。荣辉桂等人于2015年提出了一种基于Shamir秘密共享的密钥分发与恢复算法。

3基于二进制序列的秘密共享新方法

    本文所提出的基于二进制序列的秘密共享新方法是基于二进制秘密序列的位运算的秘密共享方法。其中,秘密包括但不限于密码、消息等,秘密序列包括但不限于密码序列、消息序列等。

3.1  基于二进制序列的秘密共享方案流程

    基于二进制序列的秘密共享方案的流程包括多个步骤,其方案流程如图1所示。

由图1可知,其秘密共享方案包括以下几个步骤。

    第1步,原始秘密转化为二进制序列,即给出原始的秘密信息,并进行预处理转化为对应的二进制秘密序列。如果给出的原始秘密信息为二进制秘密序列,则采用原始的二进制秘密序列:如果给出的原始的秘密信息不是二进制格式,则需要进行预处理,转化为对应的二进制秘密序列。由于该步骤比较简单,不再进行详细介绍。

    第2步,秘密共享的子秘密生成,即根据共享人数生成对应的子秘密。这是秘密共享新方法的核心关键。具体方法会在第3.2节进行详细介绍。

    第3步,进行秘密的分发,即将生成的子秘密分发给共享的人员。

    第4步,如果后续需要,则进行秘密恢复,即根据共享人员的子秘密恢复出原始秘密。具体方法将在第3.3节中进行详细介绍。

3.2秘密共享的子秘密生成方法

    经过基于二进制序列的秘密共享方案流程的第1步,得到二进制秘密序列。此处进行如下假设,进而做出相应的定义。

    假设1假设秘密序列M是二进制序列,其位数为n位,即M =mnmn-…m2m1,且其中mi等于0或1。

    定义1  (非M序列)非M序列是针对秘密序列M而言其秘密共享的子秘密序列M’的构成元素,即:M’=m。’mn-1…m2’m1’,且其中mi’等于0或1,并至少存在一个mi’≠mi,即秘密序列的n位二进制中至少有1位与原来位的值不同。

    定义2(非M序列法则)根据上述非M序列的定义所形成的非M序列的原理则称为非M序列法则。

    定义3(非M序列法则法)非M序列法则法是指利用上述非M序列法则形成非M序列的方法。

    规则1  通过非M序列法则生成的子秘密序列,只有其秘密共享的子秘密序列M’均在一起时才能够恢复出秘密M。后续第3.3节会给出对规则1的证明过程。

    在上述定义的基础上,下面详细阐述基于二进制序列的秘密共享的子秘密生成方法。该生成方法的过程如图2所示,包括以下5个步骤。

    由图2可知,具体的基于二进制序列的秘密共享的子秘密生成方法包括以下步骤。

    步骤1  设置参数一共享人数t。根据实际的秘密共享方案的需要,设置秘密共享的人数t,作为输入参数进行参数设置。

    步骤2计算出需变化的总位数的最小值k。由于步骤1设置的共享人数为t,依据非M序列法则,设ki为实数,则存在方程2ki-1=t,解方程可得ki=1b(t+1)。

    那么需变化的总位数的最小值k(k为整数)的取值状况根据ki的值的性质可分为以下两种情况。

    ·当ki=1b(t+1)为小数时,则需对其进行向上取整,因

    此k=『 lb(t +i)]。

    ·当ki=1b(f+1)为整数时,则k=lb(t+l),又因为对于整

    数而言,其值本身与向上取整的值之间存在相等关

    系,即lb(t+l)=「lb(t+1)」,因此进一步可得到k=

    lb(t+l)=「1b(t+ 1)」。

    综上所述,则k=「lb(t+1)」,即需变化的总位数的最小值k为[lbct +i)],也即lb(t+l)向上取整的结果。

步骤3控制待变化的总位数r。由步骤2得到需变化的总位数的最小值k=「1b(t+1)」,同时由于秘密序列是n位的二进制序列,因此待变化的总位数r的取值范围为陋,[k,n],即k≤r≤n.可以在该范围之内自定义地控制待变化的总位数r。

    令r=k+p,则p≥0且p≤n-k。依据p和t,可分为以下

3种状况分析。

    ·p=0且lb(t+l)为整数时的状况。

    ·p=0且lb(t+l)为小数时的状况。

    ·O<p≤n,-k时的状况。

    步骤4控制待变化的r位对应的位置。由步骤3得出待变化的总位数为r,那么针对位数为n位的二进制秘密序列M=Mnma-1…m2m1而言,其位置的选择方案共有Ctn种,即从第1、2、3、…、n-1、n位中任取r位作为变化的对应位置。因此,待变化的r位对应的位置可以自定义控制。不妨假设这r个待变化的位置分别对应第al位、第a2位、…、第ar-l位、第ar位,其中al<a2<…<ar-1<ar。

    步骤5生成非M序列秘密共享方法下的t个子秘密。由于步骤4确定待变化的r位对应的位置为第a1位、第a2位、…、第ar-l位、第a,位,其中a1<a2<…<a-1<ar。同时根据假设1、定义1、定义2、定义3可知,秘密序列M是二进制序列,其位数为n位,即M =mnmn-1…m2m1,且其中mi等于O或1。则将非M序列作为其秘密共享的子序列M’的构成元素,即:M’= mn’mn-1’…m2’m1’,且其中mi’等于0或1,并至少存在一个mi’≠mi,即秘密序列的n位二进制中至少有1位与原来位的值不同。因此,对于待变化的r位对应位置为第al位、第a2位、…、第ar-1,位、第ar位所构成的二进制序列mnma-1…ma2ma1,共有2t-l个不同的二进制序列ma’ma-1'…ma2’mai'使得ma’ma-1’…ma2’ma’≠mama-1…mazma。将n-r个不变的位数与变化的r位按位置组合之后得到n位二进制序列mn’mn-1’…m2’m1’,从而得到M=mnmn-1…m2m1序列在秘密共享下的2’-1个子秘密,分别记为二进制序列SSM,、SSM2、SSM3、…、SSM2-2、SSM2-1,同时把这2’-1个子秘密所构成的集合记为子秘密集SSM_Set,因此,SSM_Set={SSMl ,SSM2 ,SSM3,…,SSM2r_2 ,SSM2-1}。

    再从SSM_Set集合中自定义地控制并选择出f个作为子秘密进行后续的秘密分发,这f个子秘密分别记为SSM_Choseni、SSM_Chosen2、SSM_Chosen,3、…、SSM_Chosen¨、SSM_Chosent,其构成的集合记为SSM_Chosen,_Set,因此.SSM_Chosen_Set;{SSM_Chosenil,SSM_Chosen2,SSM_Chosen,3,…  ,SSM_Chosen't  l,SSM_Chosen},SSM_Chose n,_Set  ∈SSM_Set。并将剩余的2-l-t个子秘密作为秘密共享恢复的要素和后续秘密分发的备份要素予以保存,这2r-l_t个子秘密分别记作SSM_Un,Chosem、SSM_Un,Chosen,2、SSM_Un,Chosen,3、…、SSM_ Un,Chosn2、SSM_ Un,Chose n,2q。,其构成的集合记为SSM_UnChosen,_Set,因此,SSM_Un,Chosen_Set={SSM_Urt,Chosen,i, SSM_Un,Chosen2, SSM_ UnChosen,3,…,SSM_Un,Chosen2-2-t,SSM_Un,ChosenL2-_10,SSM_UnChosen_Set∈SSM_Set。同时,上述3个集合之间存在如下关系:SSM_Chosen:- Set+SSM_Un,Chosen,_Set--SSM_Set。

    综上,步骤5生成其秘密共享方法下的子秘密,需要依据r、k和f分为以下3种状况分析。

    ·当r=k且lb(t+l)为整数时,则依据非M序列法则 直接计算出t个子秘密,进行后续的秘密分发。-当r=k且lb(t+l)为小数时,则依据非M序列法则,计算出2k_1个子秘密,并从中选出f个子秘密进行后续的秘密分发,剩余的2k-1-t个子秘密用作秘密恢复时的要素和秘密分发的备份要素,加以保存。

    ·当k<r≤n时,则依据非M序列法则,计算出2r_l个子秘密,并从中选出t个子秘密进行后续的秘密分发,剩余的2r-l_t个子秘密加以保存,用于后期秘密恢复时的要素和秘密分发的备份要素。

3.3秘密恢复方法

    经过基于二进制序列的秘密共享方案流程的第2步,生成了基于二进制秘密序列的秘密共享的子秘密,并通过方案流程的第3步,将第2步所生成的t个子秘密分发给共享的t个人。此处作如下假设,进而作出相应的规则证明与恢复方法。

    假设2假设t个共享人员被分发到的子秘密分别记作Sl、S2、S3、…、St-l、St。

    假设3假设在方案流程第2步子秘密生成过程中未被分发而被保存的2r-l-t个子秘密分别记作R1、R2、R3、…、R2r-2-t、R2r-l-t。

    由规则l可知,通过非M序列法则生成的子秘密序列,只有其秘密共享的子秘密序列M’均在一起时才能够恢复出秘密M。

    根据定义的非M法则,结合位运算的知识,研究出其对应的秘密恢复方法为将秘密共享的所有子秘密序列M’进行按位异或运算,运算后的结果即秘密M。针对上述情况,即t个被分发的子秘密.s1、s2、s3、…、st+1、St和2r-l-t个未被分发而被保存的子秘密R1、R2、R3、…、R2r-2-t、R2r-1-t均在一起时才能够恢复出秘密M,而且恢复的方法为将这t个被分发的子秘密S1、S2、S3、…、St-1、St和2r-1-t个未被分发而被保存的子秘密R.、R2、R3、…、R2r-2-t、R2r-1-4进行按位异或运算,即

    下面对规则1进行证明。

    证明  由非M序列的定义可知,非M序列是针对秘密序列M而言其秘密共享的子秘密序列M’的构成元素,即:M’=mn’mn-1’…m2'm1' m1’,且其中m’等于0或1,并至少存在一个m’≠mi,即秘密序列的n位二进制中至少有1位与原来位的值不同。其中秘密序列M是二进制序列,其位数为n位,即M=mnmm-1…m2m1,且mi等于0或1,因此,S1、S2、.S3、…、St-1、St和R2、R2、R3、…、R2r-2-tR2r-l-t共同形成针对r位进行非M序列法则变化后的2r—1个序列。把这2r_l个序列统计编号记为T1、T2、T3、…、T2r-2 T2r-1,其中任

    由于发生变化的总位数为r位,不妨假设后r位发生了变化。对于其他变化位按此情形可同理证明。因此继续证明。

    对于前n,-r位未发生变化的位而言,当r+l≤j≤n时,

对于后r位发生变化的位而言,当1≤j≤r时,则

综合上述证明,则:

4  实例与结果分析

    根据第3节所给出的秘密共享的新方法,本文给出了实例并获取了相应的结果。以原始秘密序列为二进制序列M=10101111为例,把右边第1位定义为第1位,左边第1位定义为第8位。因此,共8位,即n均为8。实例的具体过程分别如下。

    第1组实例设置参数一共享人数t为3,计算出ki=2,k=2,进而取p=l,得到控制待变化的总位数r=3,进而自主选择出待变化的3位分别为第1、2、3位,即右边3位。生成的所有7个子秘密集合SSM_Set为{10101011,10101101, 10101110, 10101001, 10101010,10101100,10101000l,任意选取其中3个(分别为10101011、10101101、10101110)分发给共享人员,因此SSM_Chosen,_Set={10101011,10101101,10101110),剩余的4个子秘密形成SSM_Chosen_Set={10101001.10101010,10101100,101010001。

    最后由子秘密进行秘密恢复.10101011+10101101+10101110+10101001+10101010+10101100+ 10101000=10101111=M。

    第2组实例设置参数一共享人数t为4,计算出ki=2.32,k=3;进而取p=0,得到控制待变化的总位数r=3;进而自主选择出待变化的3位分别为第1、7、8位,即右边1位,左边2位;生成的所有7个子秘密集合SSM_Set为{00101111, 11101111, 10101110, 01101111, 00101110,11101110,01101110},任意选取其中4个(00101111、11101111、10101110、01101111)分发给共享人员,因此SSM_Chosen,_Set={00101111,11101111,10101110, 01101111},剩余的4个子秘密形成SSM_Chosen_Set={00101110 ,11101110, 01101110}.

    最后由子秘密进行秘密恢复.00101111+11101111+10101110+ 01101111+ 00101110+11101110+01101110=10101111=M。

    综合实例过程与结果可知,基于二进制序列的秘密共享新方法在秘密共享的子秘密生成与秘密恢复方面都是可行并有效的,具有实际应用效果。

5  结束语

    本文从秘密共享的方法自身出发,提出了一种与传统的秘密共享方法不同的新型的秘密共享方法——基于二进制序列的秘密共享新方法。这也是本文的主要创新点所在。该方法是基于二进制秘密序列的位运算的秘密共享方法,秘密包括但不限于密码、消息等,秘密序列包括但不限于密码序列、消息序列等,采用非M序列法则形成的非M序列作为其秘密共享的子秘密序列M'的构成元素,并提出了基于二进制序列的秘密共享的子秘密生成方法及对应的秘密恢复方法。实例证明该方法具有可行性与实效性。

同时该方法的优点主要体现在以下几方面:第一,基于二进制秘密序列的位运算的秘密共享方法,其中非M序列法则对应的秘密共享的空间大,具有灵活性和抗抵赖性;第二,该方法可以结合分组运算等操作,与传统的秘密共享方法迭代使用,具有很好的扩展性;第三,该方法中,用户可以根据自己的需求对多个过程参数进行自主控制:第四,本文所提出的秘密共享方法为秘密共享方法提供了新的思路与举措,大大扩展了秘密共享方法的应用范围,具有灵活性和可控性,并且在抗抵赖性上和密码管理方面具有实用价值。

6摘要:

提出了一种与传统的秘密共享方法不同的新型的秘密共享方法,该方法是基于二进制秘密序列的位运算的秘密共享方法。秘密包括但不限于密码、消息等,秘密序列包括但不限于密码序列、消息序列等,将采用非M序列法则法形成的非M序列作为其秘密共享的子秘密序列M’的构成元素。提出了基于二进制序列的秘密共享的子秘密生成方法及对应的秘密恢复方法,该方法具有可行性与实效性。

关键字:

上一篇:关于核电厂操纵员支持系统实现技术的探讨

下一篇:关于首都机场旅客服务技术体系的探索

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.