CN105207978A - 一种消息鉴别方法及电子设备 - Google Patents
一种消息鉴别方法及电子设备 Download PDFInfo
- Publication number
- CN105207978A CN105207978A CN201410290466.XA CN201410290466A CN105207978A CN 105207978 A CN105207978 A CN 105207978A CN 201410290466 A CN201410290466 A CN 201410290466A CN 105207978 A CN105207978 A CN 105207978A
- Authority
- CN
- China
- Prior art keywords
- matrix
- random
- electronic equipment
- message
- pseudo
- 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.)
- Granted
Links
Abstract
本发明实施例提供了一种消息鉴别方法及电子设备,涉及信息安全和密码领域,基于短整数解困难问题构造伪随机函数,降低运算复杂度以及模数,提高了安全性和消息鉴别的准确性。包括:第一电子设备接收第二电子设备发送的第一消息和第一验证消息,伪机函数簇值域为有限交换群;第一电子设备获取比特串和伪随机函数簇,所述比特串为伪随机函数簇中函数的索引;第一电子设备从伪随机函数簇中查找索引为所述比特串的函数Fb;第一电子设备将第一消息作为参数,根据函数Fb获得第二验证消息;当第一验证消息与第二验证消息匹配时,确定第一消息为可信消息。
Description
技术领域
本发明涉及信息安全和密码领域,尤其涉及一种消息鉴别方法及电子设备。
背景技术
随着通信技术的发展,对于通信各方在开放信道进行的安全通信越来越受到关注。可以通过加密来实现秘密通信,但在很多情况下,保证信息的完整性(消息鉴别)同样重要,也就是通信各方都能确保收到的消息确实来自于另一方。而所有的加密方案都不能保证消息的完整性。在实际通信中有这样一种情况:Alice向Bob发送消息。Bob要确定两个问题:1消息是否由Alice发出,而不是敌手Eve的恶意欺骗;2消息的内容是否真的可靠,即是否是Alice发出,而不是在发送途中被敌手Eve篡改。
可以利用伪随机函数实现消息鉴别。所谓伪随机函数,即不存在有效的攻击者能判断出一个函数是随机地选取自该簇函数。对于伪随机函数输出的一组结果,攻击方会认为输出结果中各元素之间不存在确定关系,事实上,伪随机函数的输出结果中各元素存在确定关系。因此有效利用伪随机函数,可构造安全性更高的加密方案,提高消息鉴别的准确性。
现有技术可以通过两种方案构造伪随机函数,随机选择k组随机矩阵,每组中包括两个随机矩阵。利用长度为偶数k的比特串在模数为整数的随机矩阵中选取k个矩阵。对选取的k个矩阵依次两两进行凑整运算,对得到的0.5k个矩阵再依次两两进行凑整运算,如此重复,最后仅会获得一个函数。将该函数作为构造的伪随机函数。或者,在模数为整数的随机矩阵中选取k个矩阵,另外在该模数为整数q的随机矩阵中选取随机矩阵A。对选取的这k个矩阵进行指数运算,各矩阵对应的指数为比特串中其对应的数值,对获得的矩阵和随机矩阵A进行凑整运算,将最后获得的函数作为构造的伪随机函数。
上述两种方案均基于凑整的学习问题构造伪随机函数,凑整的学习问题中为了保证安全性要求模数为亚指数,这样大的模数这就会影响加密方案的安全性,进而导性消息鉴别的准确性下降。
发明内容
本发明实施例提供一种消息鉴别方法及电子设备,基于短整数解困难问题构造伪随机函数,利用构造的伪随机函数实现抗量子攻击的高效消息鉴别,提高了安全性以及消息鉴别的准确性。
为达到上述目的,本发明实施例采用的技术方案是,
本发明的实施例的第一方面公开了一种消息鉴别方法,包括:
第一电子设备接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得的;所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;
所述第一电子设备获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引;
所述第一电子设备从所述伪随机函数簇中查找索引为所述比特串的函数Fb;
所述第一电子设备将所述第一消息作为参数,根据所述函数Fb获得第二验证消息;
当所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一电子设备获取所述伪随机函数簇包括:
A1、所述第一电子设备选取2m行m列的第一随机矩阵,获取第一矩阵;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
A2、所述第一电子设备将步骤A1获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵;其中,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;
A3、所述第一电子设备将步骤A2获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵;所述第三矩阵的数量与所述第二矩阵的数量相同;
A4、所述第一电子设备将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一电子设备获取第一矩阵包括:
所述第一电子设备选取k组n行m列矩阵,其中每组矩阵包括两个矩阵,各矩阵中的元素是选取于有限交换群;
所述第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;所述长度为k的输入比特串包括k个字符。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵具体包括:
所述第一电子设备针对所述k组矩阵中的每一组矩阵,若任意一个矩阵对应所述输入长度为k的比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
结合第一方面,在第一方面的第四种可能的实现方式中,所述第一电子设备获取所述伪随机函数簇包括:
所述第一电子设备选取j个第二随机矩阵,所述第二随机矩阵中的元素均服从卡方分布,所述第二随机矩阵为m行m列的矩阵;
所述第一电子设备获取长度为j的比特串;
所述第一电子设备根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;
所述第一电子设备将所述j个第四矩阵按顺序作乘运算,获得第五矩阵;
所述第一电子设备在有限交换群上选取元素,将所述元素组成n行m列的第三随机矩阵;
所述第一电子设备将所述第三随机矩阵左乘所述第五矩阵,将获得的结果标记为伪随机函数簇。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一电子设备根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第一矩阵具体包括:
所述第一电子设备针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第四矩阵,其中所述长度为j的比特串包括j个字符。
本发明实施例的第二方面公开了一种电子设备,包括:
接收单元,用于接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得的,所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;所述第二电子设备为通信中发送消息的电子设备;
获取单元,用于获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引;
查找单元,用于从所述伪随机函数簇中查找索引为所述比特串的函数Fb;
所述获取单元还用于,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息;
确定单元,用于在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取单元包括第一构造子单元,
所述第一构造子单元用于,A1、选取2m行m列的第一随机矩阵,获取第一矩阵;A2、将获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;A3、将获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵,所述第三矩阵的数量与所述第二矩阵的数量相同;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
所述第一构造子单元还用于,A4、将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
所述第一构造子单元用于,选取k组n行m列矩阵,根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;其中,每组矩阵包括两个矩阵,序号分别为0、1,各矩阵中的元素是均匀取自于有限交,所述长度为k的输入比特串包括k个字符。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述第一构造子单元具体用于,针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输长度为k的入比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
结合第二方面,在第二方面的第四种可能的实现方式中,所述获取单元包括第二构造子单元,
所述第二构造子单元还用于,选取j个第二随机矩阵,获取长度为j的比特串,根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;将j个所述第四矩阵按顺序作乘运算,获得第五矩阵,在有限交换群上选取n行m列的第三随机矩阵,将所述第三随机矩阵左乘所述第五矩阵,将获得的结果标记为随机函数簇;所述第一随机矩阵中的元素均服从卡方分布,所述第二随机矩阵为m行m列的矩阵。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,
所述第二构造子单元具体用于,针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第四矩阵,其中所述长度为j的比特串包括j个字符。
本发明实施例提供的消息鉴别方法及电子设备,第一电子设备基于短整数解困难问题以及有限交换群构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的消息鉴别方法的流程示意图;
图2为本发明实施例2提供的一种消息鉴别方法的流程示意图;
图3为本发明实施例3提供的消息鉴别方法的流程示意图;
图4为本发明实施例4提供的电子设备的结构框图;
图5为本发明实施例5提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的伪随机函数构造方法基于短整数解困难问题构造伪随机函数。这里,对相关概念作以说明。伪随机函数(PseudorandomFunction,PRF),假设A和B为有限集合,令Γ={F:A→B}为一个函数簇,连带一个有效的抽样分布(即Γ、A、B可以由安全参数n进行索引)。称Γ是一个伪随机函数簇。计算不可区分,若两个Game满足以下条件:Game0,在伪随机函数簇Γ中选取函数F,给予敌手对F(·)适应性的Oracle预言访问权。Game1,选取一致随机函数U:A→B,给予敌手对U(·)适应性的Oracle预言访问权。则认为游戏Game0和Game1是计算不可区分的(ComputationallyIndistinguishable)。在短整数解问题中定义了SISqnmd判决问题,即给定对判断它选自SISqnmd分布还是选自上的一致分布。其中,A为随机选自的随机矩阵。当满足d≈qn/m时,短整数解问题为困难问题,即本发明所述的短整数解困难问题。
实施例1:
本发明实施例提供了一种伪随机函数构造方法,如图1所示,所述方法包括以下步骤:
101、第一电子设备接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得的;所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群。
其中,第二电子设备可以从第一电子设备处获取伪随机函数簇,也可以从预设的服务器获取,也可以自身进行构造。
在通信过程中,任何一个攻击敌手都有可能将发送方发送的消息进行篡改,导致接收方不能接收到正确的消息。另外,发送方或接收方都可以根据密钥结合伪随机函数簇获得一个输出结果,通常若发送方和接收方获得输出结果匹配,则表明消息在通信中没有被攻击者篡改。这里,第一电子设备接收到的第一消息有可能是第二电子设备发送的原始消息,也可能是被攻击者篡改后的消息。另外,借用所述第一验证消息可以鉴别所述第一消息是否被篡改。本发明实施例所述第一消息即对消息进行加密的密钥,通常可以在伪随机函数簇中选择一个函数之后,将密钥作为输入,将输出作为验证消息。
在本发明提供的伪随机函数构造方法中,根据有限交换群确定k个随机矩阵,作为初始矩阵。在并行构造方案中,参数n、k均为为正整数且满足m=2n,k=2d。串行构造方案中的参数满足:m=poly(n),且n为正整数。通常,可以通过以下递归的方式构造一个伪随机函数簇其中0≤j≤d,该函数簇的定义域为值域为Gn×m。当j=0时,随机选取Gn×m上的两个矩阵S0、S1。函数定义为且x∈{0,1}。由于Sb,b∈{0,1},是随机独立的,就可以得到F(0)上的分布。当j≥1时,函数递归地由F0,定义其中|x0|=|x1|=2j-1。这里Tj(F0(x0),F1(x1))=(F0(x0)||F1(x1))×Bj,函数F0,F1是随机选取的,矩阵Bj为2m行2n的矩阵,且各元素均服从卡方分布。这里T运算为对两个运算对象进行凑整运算,运算复杂较高,用(F0(x0)||F1(x1))×Bj来代替凑整运算就大大地降低了运算复杂程度,其中F0(x0)||F1(x1)表示对两个矩阵进行联接运算,即把两个矩阵拼接在一起,可以得到一个行数不变列数增加的新矩阵,在对获得新矩阵右乘一个随机矩阵,相比现有技术进行多次凑整运算,运算复杂度很低。
102、所述第一电子设备获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引。
其中,第一电子设备获取的伪随机函数簇与所述第二电子设备使用的伪随机函数簇相同。第一电子设备可以构造伪随机函数簇,然后发送给第二电子设备,也可以是从第二电子设备处获取伪随机函数簇,也可以是从预设的服务器处获取伪随机函数簇。
本发明实施提供第一电子设备获构造随机函数簇的两种方案,分别是并行构造方案、串行构造方案。
并行构造方案具体为:A1、所述第一电子设备选取2m行m列的第一随机矩阵,获取第一矩阵;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
A2、所述第一电子设备将步骤A1获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵;其中,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;
A3、所述第一电子设备将步骤A2获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵;所述第三矩阵的数量与所述第二矩阵的数量相同;
A4、所述第一电子设备将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将所述第三矩阵标记为伪随机函数簇。
由于第一矩阵的初始数量为偶数k,因此首次进行运算至步骤A4之后,获得k/2个第三矩阵。对这k/2个第三矩阵在进行A1至A4,即将所述第三矩阵作为步骤101中的第一矩阵再次进行运算。具体地,再次随机选择一个2m行m列的第一随机矩阵,随后对这k/2个n行m列的第三矩阵按顺序两两联接,就可以获得k/4个n行2m列的新矩阵,这k/4个n行2m列的新矩阵依次右乘新选择的2m行m列的第一随机矩阵,就可以获得k/4个n行m列的新矩阵,即可以获得k/4个n行m列的第三矩阵。每进行一次步骤A1-A4后获得的第三矩阵数量就会减半,且获得第三矩阵均为n行m列的矩阵。如此往复,假设第一矩阵的初始数量为n,且n的初始值为偶数k,因此最终可以获得一个第三矩阵。又由于k为2的d次幂,因此需要进行d次A1-A4就可以获得一个第三矩阵。具体地,n的取值是以k、k/2、k/4......2的顺序依次递减,当n等于2时,随机选取一个2m行n列的随机矩阵,将2个n行m列的第一矩阵连接就可以获得一个n行2m列的第二矩阵,再乘以本次新选取的2m行n列的随机矩阵,就可以获得一个n行m列的第三矩阵,将这个第三矩阵作为输出结果,即构造的伪随机函数。
即从k个第一矩阵开始运算,每进行一次步骤A1-A4,矩阵的数量就会减半,直至最后剩一个矩阵结束运算。
需要说明的是,所谓联接,就是将两个矩阵拼接在一起,获得的新矩阵行数不变,列数为参与运算的两个矩阵列数之和,且其中包括的元素总数也为参与运算的两个矩阵的元素数量之和。示例的,所述第一矩阵为n行m列矩阵,则两两联接后会获得n行2m列的新矩阵。另外,矩阵乘运算不满足交换律,即矩阵A乘B,与矩阵B乘A的运算结果是不同的。矩阵A乘B时还需要满足矩阵A的列数与矩阵B的行数相同,才能进行运算,且运算得到的矩阵的行数与矩阵A相同,列数与矩阵B相同。因此,在A1中,k个第一矩阵两两联接之后列数加倍但行数不变,仍为n行,即获得的第二矩阵为n行2m列的矩阵。因此只有n行2m列的矩阵乘2m行m列的随机矩阵才能保证运算正常进行。这样步骤101获得的第三矩阵为n行m列的矩阵。
另外,在A1之前,所述第一电子设备还需要根据有限交换群获取k个第一矩阵,具体实现包括:
所述第一电子设备选取k组n行m列的矩阵,其中每组矩阵包括两个矩阵,序号分别为0、1,各矩阵中的元素是均匀取自于有限交换群。所述第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;所述长度为k的输入比特串包括k个字符,且每个字符为0或1。其中,各矩阵中的元素是均匀取自于有限交换群G。之后根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵的具体做法为:针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输入比特串的相应字符为0,则选择序号为0的矩阵作为一个初始矩阵;若该组矩阵对应所述输入比特串的相应字符为1,则选择序号为1的矩阵作为一个初始矩阵。
可以对根据本实施例提供的并行伪随机函数构造方法构造的伪随机函数的安全性加以证明。为了便于叙述,可以取A0,A1分别是n×2n阶矩阵,Bj是4n×2n阶矩阵。假定T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,这里j∈[d],则本发明第一电子设备获取的是一个伪随机函数簇。对此做出证明:对于j=0,1,..,d,,证明每一个是伪随机函数。j=0时,是真正随机的函数,当然也是伪随机函数。假定是伪随机函数,根据以下几组Game(游戏)就可证明也是伪随机函数。
Game0:设A是一个针对的攻击者,我们选择也就是说独立地选F0,给定攻击者的Oracle(预言访问权)接入 其中|x0|=|x1|=2j-1。
Game1:用真正的随机函数替代F0,F1,即随机选取两个矩阵当攻击者A询问向量x0,时,输出T(j)(A0,A1)=(A0,A1)Bj。
Game2:给定攻击者A接入真正的随机函数,U:
显然,由于T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,因此Game0和Game1计算不可区分。
假定攻击者最多作Q=poly(n)次询问,设计一个有效的模拟器S,给定输入这里Zij=Tj(Xi,Yj),对于一致随机选取的i、j∈[Q],Zij是一致随机选取的。从而,模拟器S模拟了Game1和Game2,模拟器S的输入是计算不可区分的,所以Game1和Game2是计算不可区分的。又由于Game0和Game1计算不可区分,这样可判断Game0和Game2计算不可区分。由此就可判断步骤102中构造的是一个伪随机函数簇,即本发明提供的伪随机函数构造方法构造的伪随机函数具有安全性。
串行构造方案包括:一、所述第一电子设备选取j个第一随机矩阵,所述第一随机矩阵中的元素均服从χ分布,所述第一随机矩阵为m行m列的矩阵。
在本发明提供的所述第一电子设备通过串行构造的方案获取伪随机函数簇的方法中,设n为安全参数,m=poly(n),输入比特串的长度为k,其中k>1。根据有限交换群G随机选取一个m行m列的随机矩阵A。对于任意的i满足1≤i≤k,根据χ分布随机生成m行m列的矩阵Si,其中Si中各元素均服从χ分布。另外,还需要定义函数
即伪随机函数簇为:
二、所述第一电子设备获取长度为j的比特串。
三、所述第一电子设备根据所述长度为j的比特串依次对所述第一随机矩阵作指数运算,获得j个第一矩阵。
针对j个所述第一随机矩阵中的每一个,将所述第一随机矩阵对应所述输入比特串的相应字符作为所述随机矩阵的指数,获得j个所述第一矩阵。由于所述输入比特串包括j个字符,且每个字符为0或1,因此若所述第一随机矩阵对应所述输入比特串的相应字符为0,则所述第一矩阵为单位矩阵,其中所谓单位矩阵指的是矩阵中所有元素都是1的方阵。若所述随机矩阵对应所述输入比特串的字符为1,则所述第一矩阵为所述第一随机矩阵。示例的,上述Si即本发明实施例提供的伪随机函数构造方法中的第一随机矩阵。
四、所述第一电子设备将j个所述第一矩阵按顺序作乘运算,获得第二矩阵。
依据矩阵乘法的运算规律,由于所述第一随机矩阵Si均为m行m列的矩阵因此对j个第一随机矩阵作指数运算,获得的j个第一矩阵为m行m列的矩阵或m行m列的单位矩阵。对j个所述第一矩阵作乘运算,获得的第二矩阵也是m行m列的矩阵,其中,作乘运算可以是左乘也可以是右乘。
五、所述第一电子设备在有限交换群G上均匀选取n行m列的第二随机矩阵。
其中,所述第二随机矩阵中的元素均匀取自于有限交换群G。
六、所述第一电子设备将所述第二随机矩阵左乘所述第二矩阵,将获得的结果记为所述伪随机函数簇。
需要说明的是,由于步骤四获得的第二矩阵为m行m列的矩阵,步骤五随机选取的第二随机矩阵A为n行m列的矩阵,因此只有第二随机矩阵A左乘第二矩阵,才符合矩阵相乘规则,才能保证运算的正常进行。
另外,对根据本实施例提供串行构造方案构造的伪随机函数构造方法构造的伪随机函数的安全性加以证明。设每一个Bi独立的选取自χm×m,并假定判决SISn,m,x成立,那么本发明实施例串行构造的函数簇是伪随机的。这里Bi即为上述Si。
类似于对并行构造方案构造的伪随机函数安全性的证明。对于j=1,2......d,可以证明每一个是伪随机函数。对j=1,可以通过以下Game(游戏)证明是伪随机函数。
Game1:设A是一个针对的攻击者,选择即独立地选取(这里是将G特殊化为),B←χm×m,给定攻击者的Oracle接入FA,B(x)=A·Bx,其中x∈{0,1}。
Game2:给定攻击者接入真正的随机函数U:
通过以下论证过程可证明Game1和Game2是计算不可区分的。
首先设计一个有效的模拟器S模拟Game1和Game2。模拟器S随机的选取元素 或 其中B←χm×m,显然S模拟了Game1和Game2,在判定SISn,m,x的困难假设下,上述两个矩阵是计算不可区分的,也就证明了结论。
另外,为了便于证明上面定理,可以定义一个函数簇这里i≥1。对于任意的i≥1,函数簇是一簇{0,1}i到上的函数。将函数定义为: 其中x=(x′,xi),|x|=i-1,且Bi←χm×m。
假定是伪随机函数,以下Game用以证明是伪随机函数。
Game1:设A是一个针对的攻击者,随机的选择F←F(j),给定攻击者A的Oracle接入F(·)。
Game2:随机地选取给定攻击者A的Oracle接入H(·)。
证明Gamel和Game2是计算不可区分的。首先设计一个有效的模拟器S模拟Game1和Game2。
给定S接入Oracle函数F:其中F随机的选自真正随机的函数,或者随机的选取F(j-1)。S模拟Game1和Game2给攻击者。
S选取Bi←χm×m,若攻击者询问x=(x′,xi),|x|=i-1,S询问Oracle函数F得到F(x′),计返回给攻击者,显然模拟器模拟了Game1和Game2。由归纳假设,Game1和Game2是计算不可区分的。
Game3:我们给定攻击者接入真正的随机函数,U:给其U(·),即U(·)为真正的随机函数。类似于j=1,Game2和Game3是计算不可区分的。
因此,Game1和Game2计算不可区分。由此可判定本发明实施例步骤204构造的函数是伪随机的。
另外,现有技术基于随机选取随机矩阵,即矩阵中各元素均小于等于qd,且qd≥qd-1......≥q0≥2。对比现有技术的方案,本发明提供的方法具有以下优势:
第一、所需的密钥量渐进减少。首先,现有技术方案需要2k个n×n阶矩阵,本方案需要2k个n×2m(m=2n)阶矩阵的同时需要log2k个4n×2n阶矩阵。虽然本方案需要的矩阵比较多,可是最大的元素是Zq上的,而现有技术方案中的最大元素是上的元素。其次,现有技术方案的安全性基于凑整的学习问题,其中条件表示现有技术方案所需密钥量的最大值为2k·n2·(log2q+log2B+ω(1)log2n)比特,而本发明提供的方案所需密钥量为4k·n2·log2poly(n)+8log2k·n2log2s比特。由于n-ω(1)是可忽略参数,所以ω(1)渐进很大,s是常数,显然现有技术方案中的密钥量渐进地大于本发明提供的方案所需的密钥量。
第二、更大的值域范围。本方案的值域选取的是满足条件的有限可换群G,与格上构造的其它伪随机函数相比,更具一般性。
第三、对参数进行优化。本发明基于短整数解困难问题构造伪随机函数,参数选取优于基于大整数分解和离散对数问题构造的伪随机函数。当有限可换群时,一般认为l(n)>1.0629n,K(G,χ)的单向性问题可归约到寻找格上最短向量问题。因此,可取χ为0-1分布,l(n)=1.063n。实际上,当l(n)=n时,攻击K(G,χ)单向性的时间复杂度为o(2n/2),空间复杂度为o(2n/4),所以取n=256,采用上面方法就可以构造伪随机函数。假定是单向函数,其中p是素数,i≤e,pi=poly(n)。而现有技术方案的安全性基于凑整学习问题,要求模数q是安全参数的亚指数,一种方案要求q≥p·B·nω(1),另一种要求正是这样大的q影响了整个方案的性能。那么本方案的多项式模数明显优于现有技术方案的亚指数模数。总之,基于的困难问题不同导致模数不同。
第四、运算速度渐进快速。虽然,现有技术方案每次运算为模qj(其中0≤j≤log2k-1)的n×n阶矩阵之间的运算,本方案每次是模q上的n×4n阶矩阵和稀疏的4n×2n阶矩阵乘积,易知本发明参与运算的矩阵比现有技术方案中参与运算的矩阵大。但本发明参与运算的矩阵模数小,因此各矩阵中元素小,可采用快速算法。现有技术方案为保证方案的安全性,其模数qj要远大于本方案中的模数q,这就导致现有技术方案中矩阵的元素很大,而本方案矩阵中的元素比较小,通过适当的选模q可以使矩阵乘法的速度加快。若在整数环中实现,利用快速傅里叶变换,速度可以更快。
103、所述第一电子设备从所述伪随机函数簇中查找索引为所述比特串的函数Fb。
伪随机函数簇中包括多个函数,因此第一电子设备需要以输入比特串为索引选取一个函数,对第二电子设备发送的第一消息进行加密,以鉴别所述第一消息是否被篡改。
104、所述第一电子设备将所述第一消息作为参数,根据所述函数Fb获得第二验证消息。
第一电子设备将所述第一消息作为函数Fb的输入参数,就可以获得一个输出。同样的,发送方第二电子设备也是借由同样的方法获得的第一验证消息。
105、当所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
这里,所谓匹配不仅仅是相同,当第一验证消息和第二消息之间符合某种匹配关系时就可以判断第一消息在通信传输过程中未被攻击这篡改,即所述第一消息是可信消息。
本发明实施例提供的消息鉴别方法,第一电子设备基于短整数解困难问题以及有限交换群构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
实施例2:
本发明实施例提供了一种消息鉴别方法,基于短整数解困难问题构造伪随机函数,如图2所示,所述方法包括以下步骤:
201、第一电子设备接收第二电子设备发送的第一消息和第一验证消息。
其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得;所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群。
在通信过程中,任何一个攻击敌手都有可能将发送方发送的消息进行篡改,导致接收方不能接收到正确的消息。另外,发送方或接收方都可以根据密钥结合伪随机函数簇获得一个输出结果,通常若发送方和接收方获得输出结果匹配,则表明消息在通信中没有被攻击者篡改。这里,第一电子设备接收到的第一消息有可能是第二电子设备发送的原始消息,也可能是被攻击者篡改后的消息。本发明实施例所述第一消息即对消息进行加密的密钥,通常可以在伪随机函数簇中选择一个函数之后,将密钥作为输入,将输出作为验证消息。
202、第一电子设备选取k组n行m列矩阵,其中每组矩阵包括两个矩阵。
具体的,每组包括的两个矩阵的序号分别为0、1,各矩阵中的元素是均匀取自于有限交换群。与现有技术中根据模数为q的有限群选取k组矩阵不同,根据有限交换群随机选取2k个n行m列矩阵,更具有一般性。本发明实施例是基于短整数解困难问题实现消息鉴别比现有技术基于凑整学习问题实现消息鉴别更具安全性。
203、第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵。
其中,所述输入比特串包括k个字符,且每个字符为0或1。由于步骤202随机选取了k组随机矩阵,因此第一电子设备在每组矩阵中选取一个就可以获得k个随机矩阵。具体地,针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输入比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
204、第一电子设备随机选取2m行m列的第一随机矩阵;将k个第一矩阵按顺序两两联接,获得k/2个第二矩阵;k/2个所述第二矩阵依次右乘所述随机矩阵,获得k/2个第三矩阵。
其中,所述随机矩阵中的元素均服从χ分布(即卡方分布),所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述k等于2的d次幂。这里存在k个第一矩阵是因为步骤202随机选取了k组随机矩阵,在每组矩阵中选取一个就可以获得k个第一矩阵。每进行一次步骤203,矩阵的数量就会减半,直至最后剩一个矩阵结束运算。
在本发明提供的消息鉴别方法中,根据有限交换群G确定x个随机矩阵,作为初始矩阵。参数n为正整数且满足参数n、k均为为正整数,m=2n,k=2d。可以通过以下递归的方式构造一个伪随机函数簇其中0≤j≤d,该函数簇的定义域为值域为Gn×m。当j=0时,随机选取Gn×m上的两个矩阵S0、S1。函数定义为且x∈{0,1}。由于Sb,b∈{0,1},是随机独立的,就可以得到F(0)上的分布。当j≥1时,函数递归地由F0,定义其中|x0|=|x1|=2j-1。这里Tj(F0(x0),F1(x1))=(F0(x0)||F1(x1))×Bj,函数F0,F1是随机选取的,矩阵Bj为2m行2n的矩阵,且各元素均服从χ分布。这里T运算为对两个运算对象进行凑整运算,运算复杂较高,用(F0(x0)||F1(x1))×Bj来代替凑整运算就大大地降低了运算复杂程度,其中F0(x0)||F1(x1)表示对两个矩阵进行联接运算,即把两个矩阵拼接在一起,可以得到一个行数不变列数增加的新矩阵,在对获得新矩阵右乘一个随机矩阵,相比现有技术进行多次凑整运算,运算复杂度很低。
需要说明的是,所谓联接,就是将两个矩阵拼接在一起,获得的新矩阵行数不变,列数为参与运算的两个矩阵列数之和,且其中包括的元素总数也为参与运算的两个矩阵的元素数量之和。示例的,所述第一矩阵为n行m列矩阵,则两两联接后会获得n行2m列的新矩阵。另外,矩阵乘运算不满足交换律,即矩阵A乘B,与矩阵B乘A的运算结果是不同的。矩阵A乘B时还需要满足矩阵A的列数与矩阵B的行数相同,才能进行运算,且运算得到的矩阵的行数与矩阵A相同,列数与矩阵B相同。因此,在步骤204中,k个第一矩阵两两联接之后列数加倍但行数不变,仍为n行,即获得的第二矩阵为n行2m列的矩阵。因此只有n行2m列的矩阵乘2m行m列的随机矩阵才能保证运算正常进行。这样步骤204获得的第三矩阵为n行m列的矩阵。
205、第一电子设备将获得的第三矩阵作为所述第一矩阵进行步骤204、205;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
由于所述第三矩阵的初始数量为偶数k,因此步骤204获得k/2个第三矩阵。对这k/2个第三矩阵在进行步骤204,即将所述第三矩阵作为步骤203中的第一矩阵再次进行运算。具体地,再次随机选择一个2m行m列的随机矩阵,随后对这k/2个n行m列的第三矩阵按顺序两两联接,就可以获得k/4个n行2m列的新矩阵,这k/4个n行2m列的新矩阵依次乘新选择的2m行m列的随机矩阵,就可以获得k/4个n行m列的新矩阵,即可以获得k/4个n行m列的第三矩阵。每进行一次步骤204后获得的第三矩阵数量就会减半,且获得第三矩阵均为n行m列的矩阵。如此往复,由于初始值有k个第一矩阵,且K为偶数,因此最终可以获得一个第三矩阵。又由于k为2的d次幂,因此需要进行d次步骤204就可以获得一个第三矩阵。具体地,x的取值是以k、k/2、k/4......2的顺序依次递减,当n等于2时,随机选取一个2m行n列的随机矩阵,将2个n行m列的第一矩阵连接就可以获得一个n行2m列的第二矩阵,再乘以本次新选取的2m行n列的随机矩阵,就可以获得一个n行m列的第三矩阵,将这个第三矩阵作为输出结果,即第一电子设备获取的伪随机函数簇。
另外,对根据本实施例提供的并行伪随机函数构造方法构造的伪随机函数的安全性加以证明。可以对根据本实施例提供的并行伪随机函数构造方法构造的伪随机函数的安全性加以证明。为了便于叙述,可以取A0,A1分别是n×2n阶矩阵,Bj是4n×2n阶矩阵。假定T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,这里j∈[d],则本发明第一电子设备获取的是一个伪随机函数簇。对此做出证明:对于j=0,1,..,d,,证明每一个是伪随机函数。j=0时,是真正随机的函数,当然也是伪随机函数。假定是伪随机函数,根据以下几组Game(游戏)就可证明也是伪随机函数。
Game0:设A是一个针对的攻击者,我们选择也就是说独立地选F0,给定攻击者的Oracle(预言访问权)接入 其中|x0|=|x1|=2j-1。
Game1:用真正的随机函数替代F0,F1,即随机选取两个矩阵当攻击者A询问向量x0,时,输出T(j)(A0,A1)=(A0,A1)Bj。
Game2:给定攻击者A接入真正的随机函数,U:
显然,由于T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,因此Game0和Game1计算不可区分。
假定攻击者最多作Q=poly(n)次询问,设计一个有效的模拟器S,给定输入这里Zij=Tj(Xi,Yj),对于一致随机选取的i、j∈[Q],Zij是一致随机选取的。从而,模拟器S模拟了Game1和Game2,模拟器S的输入是计算不可区分的,所以Game1和Game2是计算不可区分的。又由于Game0和Game1计算不可区分,这样可判断Game0和Game2计算不可区分。由此就可判断步骤204获得的是一个伪随机函数簇,即本发明提供的消息鉴别方法中第一电子设备获取的伪随机函数簇具有安全性。
另外,现有技术基于随机选取随机矩阵,即矩阵中各元素均小于等于qd,且qd≥qd-1...q0≥2。对比现有技术的方案,本发明提供的方法具有以下优势:
第一、所需的密钥量渐进减少。首先,现有技术方案需要2k个n×n阶矩阵,本方案需要2k个n×2n(m=2n)阶矩阵的同时需要log2k个4n×2n阶矩阵。虽然本方案需要的矩阵比较多,可是最大的元素是Zq上的,而现有技术方案中的最大元素是上的元素。其次,现有技术方案的安全性基于凑整的学习问题,其中条件qi≥q·B·nω(1)表示现有技术方案所需密钥量的最大值为2k·n2·(log2q+log2B+ω(1)log2n)比特,而本发明提供的方案所需密钥量为4k·n2·log2poly(n)+8log2k·n2log2s比特。由于n-ω(1)是可忽略参数,所以ω(1)渐进很大,s是常数,显然现有技术方案中的密钥量渐进地大于本发明提供的方案所需的密钥量。
第二、更大的值域范围。本方案的值域选取的是满足条件的有限可换群G,与格上构造的其它伪随机函数相比,更具一般性。
第三、对参数进行优化。本发明基于短整数解困难问题构造伪随机函数,参数选取优于基于大整数分解和离散对数问题构造的伪随机函数。当有限交换群时,一般认为l(n)>1.0629n,K(G,χ)的单向性问题可归约到寻找格上最短向量问题。因此,可取χ为0-1分布,l(n)=1.063n。实际上,当l(n)=n时,攻击K(G,χ)单向性的时间复杂度为o(2n/2),空间复杂度为o(2n/4),所以取n=256,采用上面方法就可以构造伪随机函数。假定是单向函数,其中p是素数,i≤e,pi=poly(n)。而现有技术方案的安全性基于凑整学习问题,要求模数q是安全参数的亚指数,一种方案要求q≥p·B·nω(1),另一种要求正是这样大的q影响了整个方案的性能。那么本方案的多项式模数明显优于现有技术方案的亚指数模数。总之,基于的困难问题不同导致模数不同。
第四、运算速度渐进快速。虽然,现有技术方案每次运算为模qj(其中0≤j≤log2k-1)的n×n阶矩阵之间的运算,本方案每次是模q上的n×4n阶矩阵和稀疏的4n×2n阶矩阵乘积,易知本发明参与运算的矩阵比现有技术方案中参与运算的矩阵大。但本发明参与运算的矩阵模数小,因此各矩阵中元素小,可采用快速算法。现有技术方案为保证方案的安全性,其模数qj要远大于本方案中的模数q,这就导致现有技术方案中矩阵的元素很大,而本方案矩阵中的元素比较小,通过适当的选模q可以使矩阵乘法的速度加快。若在整数环中实现,利用快速傅里叶变换,速度可以更快。
206、第一电子设备获取所述比特串,所述比特串为所述伪随机函数簇中函数的索引。
第一电子设备可以借由所述比特串在获取的伪随机函数簇中选取一个函数对所述第一消息进行加密,鉴别所述第一消息是否被篡改。
207、所述第一电子设备从所述伪随机函数簇中查找索引为所述比特串的函数Fb,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息,在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
伪随机函数簇中包括多个函数,因此第一电子设备需要以输入比特串为索引选取一个函数,对第二电子设备发送的第一消息进行加密,以鉴别所述第一消息是否被篡改。第一电子设备将所述第一消息作为函数Fb的输入参数,就可以获得一个输出。同样的,发送方第二电子设备也是借由同样的方法获得的第一验证消息。这里,所谓匹配不仅仅是相同,当第一验证消息和第二消息之间符合某种匹配关系时就可以判断第一消息在通信传输过程中未被攻击这篡改,即所述第一消息是可信消息。
本发明实施例提供的消息鉴别方法,第一电子设备基于短整数解困难问题以及有限交换群构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
实施例3:
本发明实施例提供了一种伪随机函数构造方法,基于短整数解困难问题构造伪随机函数,如图3所示,所述方法包括以下步骤:
301、第一电子设备接收第二电子设备发送的第一消息和第一验证消息。
其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得;所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群。
其中,所述第一随机矩阵中的元素均服从χ(卡方分布)分布,所述第二随机矩阵为m行m列的矩阵。
在本发明提供的伪随机函数构造方法中,设n为安全参数,m=poly(n),输入比特串的长度为k,其中k>1。根据有限交换群G随机选取一个m行m列的随机矩阵A。对于任意的i满足1≤i≤k,根据χ分布随机生成m行m列的矩阵Si,其中Si中各元素均服从χ分布。另外,还需要定义函数
即伪随机函数簇为:
302、第一电子设备获取长度为j的比特串,根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵。
具体地,第一电子设备针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第一矩阵,其中所述长度为j的比特串包括j个字符,且每个字符为0或1。
根据长度为j的输入比特串依次对所述j个第二随机矩阵作指数运算,获得j个第四矩阵,具体为将所述第一随机矩阵对应所述输入比特串的相应字符作为所述随机矩阵的指数,这样就可获得j个第四矩阵。由于所述输入比特串包括j个字符,且每个字符为0或1,因此若所述第二随机矩阵对应所述输入比特串的相应字符为0,则获得的所述第四矩阵为单位矩阵,其中所谓单位矩阵指的是矩阵中所有元素都是1的方阵。若所述第二随机矩阵对应所述输入比特串的字符为1,则获得的第四矩阵为所述第二随机矩阵。
303、第一电子设备将j个所述第四矩阵按顺序作乘运算,获得第五矩阵。
这里,j个第四矩阵进行乘运算不需要区分左乘还是右乘,这是由于获得的第五矩阵不是单位矩阵就是第二随机矩阵。当参与乘运算的矩阵都相同时,左乘右乘的结果是一样的。示例的,上述Si即本发明实施例提供的伪随机函数构造方法中的第二随机矩阵。依据矩阵乘法的运算规律,由于所述第二随机矩阵Si均为m行m列的矩阵因此对j个第二随机矩阵作指数运算,获得的j个第四矩阵为m行m列的矩阵或m行m列的单位矩阵。对j个所述第一矩阵作乘运算,获得的第五矩阵也是m行m列的矩阵。
304、所述第一电子设备在有限交换群上选取n行m列的第三随机矩阵。
305、所述第一电子设备将所述第三随机矩阵左乘所述第五矩阵,将获得的结果标记为伪随机函数簇。
需要说明的是,由于步骤303获得的第五矩阵为m行m列的矩阵,步骤304随机选取的第三随机矩阵A为n行m列的矩阵,因此只有第三随机矩阵A左乘第五矩阵,才符合矩阵相乘规则,才能保证运算的正常进行。
另外,对根据本实施例提供的伪随机函数构造方法构造的伪随机函数的安全性加以证明。设每一个Bi独立的选取自χm×m,并假定判决SISn,m,x成立,那么本发明实施例串行构造的函数簇是伪随机的。这里Bi即为上述Si。
类似于对并行构造方案构造的伪随机函数安全性的证明。对于j=1,…,d,可以证明每一个是伪随机函数。对j=1,可以通过以下Game(游戏)证明是伪随机函数。
Game1:设A是一个针对的攻击者,选择即独立地选取(这里是将G特殊化为),B←χm×m,给定攻击者的Oracle接入FA,B(x)=A·Bx,其中x∈{0,1}。
Game2:给定攻击者接入真正的随机函数U:
通过以下论证过程可证明Game1和Game2是计算不可区分的。
首先设计一个有效的模拟器S模拟Game1和Game2。模拟器S随机的选取元素 或 其中B←χm×m,显然S模拟了Game1和Game2,在判定SISn,m,x的困难假设下,上述两个矩阵是计算不可区分的,也就证明了结论。
另外,为了便于证明上面定理,可以定义一个函数簇这里i≥1。对于任意的i≥1,函数簇是一簇{0,1}i到上的函数。将函数定义为: 其中x=(x′,xi),|x|=i-1,且Bi←χm×m。
假定是伪随机函数,以下Game用以证明是伪随机函数。
Game1:设A是一个针对的攻击者,随机的选择F←F(j),给定攻击者A的Oracle接入F(·)。
Game2:随机地选取给定攻击者A的Oracle接入H(·)。
证明Gamel和Game2是计算不可区分的。首先设计一个有效的模拟器S模拟Game1和Game2。
给定S接入Oracle函数F:其中F随机的选自真正随机的函数,或者随机的选取F(j-1)。S模拟Game1和Game2给攻击者。
S选取Bi←χm×m,若攻击者询问x=(x′,xi),|x|=i-1,S询问Oracle函数F得到F(x′),计算返回给攻击者,显然模拟器模拟了Game1和Game2。由归纳假设,Game1和Game2是计算不可区分的。
Game3:我们给定攻击者接入真正的随机函数,U:给其U(·),即U(·)为真正的随机函数。类似于j=1,Game2和Game3是计算不可区分的。
因此,Game1和Game2计算不可区分。由此可判定本发明实施例构造的函数是伪随机的。
另外,现有技术基于随机选取随机矩阵,即矩阵中各元素均小于等于qd,且qd≥qd-1...q0≥2。对比现有技术的方案,本发明提供的方法具有以下优势:
第一、所需的密钥量渐进减少。首先,现有技术方案需要2k个n×n阶矩阵,本方案需要2k个n×2n(m=2n)阶矩阵的同时需要log2k个4n×2n阶矩阵。虽然本方案需要的矩阵比较多,可是最大的元素是Zq上的,而现有技术方案中的最大元素是上的元素。其次,现有技术方案的安全性基于凑整的学习问题,其中条件qi≥q·B·nω(1)表示现有技术方案所需密钥量的最大值为2k·n2·(log2q+log2B+ω(1)log2n)比特,而本发明提供的方案所需密钥量为4k·n2·log2poly(n)+8log2k·n2log2s比特。由于n-ω(1)是可忽略参数,所以ω(1)渐进很大,s是常数,显然现有技术方案中的密钥量渐进地大于本发明提供的方案所需的密钥量。
第二、更大的值域范围。本方案的值域选取的是满足条件的有限可换群G,与格上构造的其它伪随机函数相比,更具一般性。
第三、对参数进行优化。本发明基于短整数解困难问题构造伪随机函数,参数选取优于基于大整数分解和离散对数问题构造的伪随机函数。当有限可换群时,一般认为l(n)>1.0629n,K(G,χ)的单向性问题可归约到寻找格上最短向量问题。因此,可取χ为0-1分布,l(n)=1.063n。实际上,当l(n)=n时,攻击K(G,χ)单向性的时间复杂度为o(2n/2),空间复杂度为o(2n/4),所以取n=256,采用上面方法就可以构造伪随机函数。假定是单向函数,其中p是素数,i≤e,pi=poly(n)。而现有技术方案的安全性基于凑整学习问题,要求模数q是安全参数的亚指数,一种方案要求q≥p·B·nω(1),另一种要求正是这样大的q影响了整个方案的性能。那么本方案的多项式模数明显优于现有技术方案的亚指数模数。总之,基于的困难问题不同导致模数不同。
第四、运算速度渐进快速。虽然,现有技术方案每次运算为模qj(其中0≤j≤log2k-1)的n×n阶矩阵之间的运算,本方案每次是模q上的n×4n阶矩阵和稀疏的4n×2n阶矩阵乘积,易知本发明参与运算的矩阵比现有技术方案中参与运算的矩阵大。但本发明参与运算的矩阵模数小,因此各矩阵中元素小,可采用快速算法。现有技术方案为保证方案的安全性,其模数qj要远大于本方案中的模数q,这就导致现有技术方案中矩阵的元素很大,而本方案矩阵中的元素比较小,通过适当的选模q可以使矩阵乘法的速度加快。若在整数环中实现,利用快速傅里叶变换,速度可以更快。
306、第一电子设备获取所述比特串,所述比特串为所述伪随机函数簇中函数的索引。
第一电子设备可以借由所述比特串在获取的伪随机函数簇中选取一个函数对所述第一消息进行加密,鉴别所述第一消息是否被篡改。
307、所述第一电子设备从所述伪随机函数簇中查找索引为所述比特串的函数Fb,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息,在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
伪随机函数簇中包括多个函数,因此第一电子设备需要以输入比特串为索引选取一个函数,对第二电子设备发送的第一消息进行加密,以鉴别所述第一消息是否被篡改。第一电子设备将所述第一消息作为函数Fb的输入参数,就可以获得一个输出。同样的,发送方第二电子设备也是借由同样的方法获得的第一验证消息。这里,所谓匹配不仅仅是相同,当第一验证消息和第二消息之间符合某种匹配关系时就可以判断第一消息在通信传输过程中未被攻击这篡改,即所述第一消息是可信消息。
本发明实施例提供的消息鉴别方法,第一电子设备基于短整数解困难问题以及有限交换群构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
实施例4:
本发明实施例提供了一种电子设备,如图4所示,所述设备包括:接收单元401和获取单元402、查找单元403和确定单元404。
接收单元401,用于接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得,所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;所述第二电子设备为通信中发送消息的电子设备。
在通信过程中,任何一个攻击敌手都有可能将发送方发送的消息进行篡改,导致接收方不能接收到正确的消息。另外,发送方或接收方都可以根据密钥结合伪随机函数簇获得一个输出结果,通常若发送方和接收方获得输出结果匹配,则表明消息在通信中没有被攻击者篡改。这里,第一电子设备接收单元401接收到的第一消息有可能是第二电子设备发送的原始消息,也可能是被攻击者篡改后的消息。另外,确定单元404还借用所述第一验证消息可以鉴别所述第一消息是否被篡改。本发明实施例中所述第一消息即对消息进行加密的密钥,通常可以在伪随机函数簇中选择一个函数之后,将密钥作为输入,将输出作为验证消息。
获取单元402,用于获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引。
查找单元403,用于从所述伪随机函数簇中查找索引为所述比特串的函数Fb。
伪随机函数簇中包括多个函数,因此所述查找单元403需要以输入比特串为索引选取一个函数,进而使得所述电子设备可以对第二电子设备发送的第一消息进行加密,以鉴别所述第一消息是否被篡改。
所述获取单元402还用于,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息。
所述获取单元402将所述第一消息作为函数Fb的输入参数,就可以获得一个输出。同样的,发送方第二电子设备也是借由所述获取单元获得的第一验证消息。
确定单元404,用于在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
这里,所谓匹配不仅仅是相同,当第一验证消息和第二消息之间符合某种匹配关系时就可以判断第一消息在通信传输过程中未被攻击这篡改,即所述第一消息是可信消息。
获取单元402包括第一构造子单元。所述第一构造子单元用于,A1、选取2m行m列的第一随机矩阵,获取第一矩阵;A2、将获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;A3、将获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵,所述第三矩阵的数量与所述第二矩阵的数量相同;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
所述第一构造子单元还用于,A4、将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
本发明提供的电子设备的第一构造子单元,根据有限交换群G确定k个随机矩阵,作为初始矩阵。参数n为正整数且满足m=2n,k=2d。可以通过以下递归的方式构造一个伪随机函数簇其中0≤j≤d,该函数簇的定义域为,值域为Gn×m。当j=0时,随机选取Gn×m上的两个矩阵S0、S1。函数定义为且x∈{0,1}。由于Sb,b∈{0,1},是随机独立的,就可以得到F(0)上的分布。当j≥1时,函数递归地由F0,定义 其中|x0|=|x1|=2j-1。这里Tj(F0(x0),F1(x1))=(F0(x0)||F1(x1))×Bj,函数F0,F1是随机选取的,矩阵Bj为2m行2n的矩阵,且各元素均服从χ分布。这里T运算为对两个运算对象进行凑整运算,运算复杂较高,用(F0(x0)||F1(x1))×Bj来代替凑整运算就大大地降低了运算复杂程度,其中F0(x0)||F1(x1)表示对两个矩阵进行联接运算,即把两个矩阵拼接在一起,可以得到一个行数不变列数增加的新矩阵,在对获得新矩阵右乘一个随机矩阵,相比现有技术进行多次凑整运算,运算复杂度很低。
由于第一矩阵的初始数量为偶数k,因此所述第一构造子单元进行一次运算之后,获得k/2个第三矩阵。所述第一构造子单元对这k/2个第三矩阵再次进行运算,即将所述第三矩阵作为所述第一矩阵再次进行运算。具体地,再次随机选择一个2m行m列的随机矩阵,随后对这k/2个n行m列的第三矩阵按顺序两两联接,就可以获得k/4个n行2m列的新矩阵,这k/4个n行2m列的新矩阵依次乘新选择的2m行m列的随机矩阵,就可以获得k/4个n行m列的新矩阵,即可以获得k/4个n行m列的第三矩阵。所述第一构造子单元每进行一次运算后获得的第三矩阵数量就会减半,且获得第三矩阵均为n行m列的矩阵。如此往复,第一矩阵的数量初始值为偶数k,每进行一次运算过程,得到的第三矩阵数量减半。因此最终可以获得一个第三矩阵。又由于k为2的d次幂,因此所述第一构造子单元需要进行d次运算就可以获得一个第三矩阵。具体地,第一矩阵的数量是以k、k/2、k/4......2的顺序依次递减,当仅有2个第一矩阵参与运算时,随机选取一个2m行n列的第一随机矩阵,将2个n行m列的第一矩阵联接就可以获得一个n行2m列的第二矩阵,再乘以本次新选取的2m行n列的随机矩阵,就可以获得一个n行m列的第三矩阵,将这个第三矩阵作为输出结果,记为获取单元402获取的伪随机随机函数簇。
初始时,有k个第一矩阵,每进行一次运算,矩阵的数量就会减半,直至最后剩一个矩阵结束运算。
需要说明的是,所谓联接,就是将两个矩阵拼接在一起,获得的新矩阵行数不变,列数为参与运算的两个矩阵列数之和,且其中包括的元素总数也为参与运算的两个矩阵的元素数量之和。示例的,所述第一矩阵为n行m列矩阵,则两两联接后会获得n行2m列的新矩阵。另外,矩阵乘运算不满足交换律,即矩阵A乘B,与矩阵B乘A的运算结果是不同的。矩阵A乘B时还需要满足矩阵A的列数与矩阵B的行数相同,才能进行运算,且运算得到的矩阵的行数与矩阵A相同,列数与矩阵B相同。因此,k个第一矩阵两两联接之后列数加倍但行数不变,仍为n行,即获得的第二矩阵为n行2m列的矩阵。因此只有n行2m列的矩阵乘2m行m列的随机矩阵才能保证运算正常进行。这样,所述获取单元402获得的第三矩阵为n行m列的矩阵。
所述第一构造子单元用于,选取k组n行m列矩阵,根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;其中,每组矩阵包括两个矩阵,序号分别为0、1,各矩阵中的元素是均匀取自于有限交换群G,所述长度为k的输入比特串包括k个字符,且每个字符为0或1。
所述第一构造子单元具体用于,针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输长度为k的入比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
可以对根据本实施例提供的并行伪随机函数构造方法构造的伪随机函数的安全性加以证明。为了便于叙述,可以取A0,A1分别是n×2n阶矩阵,Bj是4n×2n阶矩阵。假定T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,这里j∈[d],则本发明第一电子设备获取的是一个伪随机函数簇。对此做出证明:对于j=0,1,..,d,,证明每一个是伪随机函数。j=0时,是真正随机的函数,当然也是伪随机函数。假定是伪随机函数,根据以下几组Game(游戏)就可证明也是伪随机函数。
Game0:设A是一个针对的攻击者,我们选择也就是说独立地选F0,给定攻击者的Oracle(预言访问权)接入 其中|x0|=|x1|=2j-1。
Game1:用真正的随机函数替代F0,F1,即随机选取两个矩阵当攻击者A询问向量x0,时,输出T(j)(A0,A1)=(A0,A1)Bj。
Game2:给定攻击者A接入真正的随机函数,U:
显然,由于T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,因此Game0和Game1计算不可区分。
假定攻击者最多作Q=poly(n)次询问,设计一个有效的模拟器S,给定输入这里Zij=Tj(Xi,Yj),对于一致随机选取的Xi,i、j∈[Q],Zij是一致随机选取的。从而,模拟器S模拟了Game1和Game2,模拟器S的输入是计算不可区分的,所以Game1和Game2是计算不可区分的。又由于Game0和Game1计算不可区分,这样可判断Game0和Game2计算不可区分。由此就可判断步骤102中构造的是一个伪随机函数簇,即本发明提供的伪随机函数构造方法构造的伪随机函数具有安全性。
获取单元402还包括第二构造子单元。
第二构造子单元用于,选取j个第二随机矩阵,获取长度为j的比特串,根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;将j个所述第四矩阵按顺序作乘运算,获得第五矩阵,在有限交换群上选取n行m列的第三随机矩阵,将所述第三随机矩阵左乘所述第五矩阵,将获得的结果记为所述伪随机函数簇;所述第一随机矩阵中的元素均服从χ分布(卡方分布),所述第二随机矩阵为m行m列的矩阵。
所述第二构造子单元具体用于,针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第第四矩阵,其中所述长度为j的比特串包括j个字符,且每个字符为0或1。
本发明提供的电子设备的第二构造子单元,设n为安全参数,m=poly(n),输入比特串的长度为k,其中k>1。根据有限交换群G随机选取一个m行m列的随机矩阵A。对于任意的i满足1≤i≤k,根据χ分布随机生成m行m列的矩阵Si,其中Si中各元素均服从χ分布。另外,还需要定义函数
即伪随机函数簇为:
另外,对根据本实施例提供串行构造方案构造的伪随机函数构造方法构造的伪随机函数的安全性加以证明。设每一个Bi独立的选取自χm×m,并假定判决SISn,m,x成立,那么本发明实施例串行构造的函数簇是伪随机的。这里Bi即为上述Si。
类似于对并行构造方案构造的伪随机函数安全性的证明。对于j=1,…,d,可以证明每一个是伪随机函数。对j=1,可以通过以下Game(游戏)证明是伪随机函数。
Game1:设A是一个针对的攻击者,选择即独立地选取(这里是将G特殊化为),B←χm×m,给定攻击者的Oracle接入FA,B(x)=A·Bx,其中x∈{0,1}。
Game2::给定攻击者接入真正的随机函数U:
通过以下论证过程可证明Game1和Game2是计算不可区分的。
首先设计一个有效的模拟器S模拟Game1和Game2。模拟器S随机的选取元素 或 其中B←χm×m,显然S模拟了Game1和Game2,在判定SISn,m,x的困难假设下,上述两个矩阵是计算不可区分的,也就证明了结论。
另外,为了便于证明上面定理,可以定义一个函数簇这里i≥1。对于任意的i≥1,函数簇是一簇{0,1}i到上的函数。将函数定义为: 其中x=(x′,xi),|x|=i-1,且Bi←χm×m。
假定是伪随机函数,以下Game用以证明是伪随机函数。
Game1:设A是一个针对的攻击者,随机的选择F←F(j),给定攻击者A的Oracle接入F(·)。
Game2:随机地选取给定攻击者A的Oracle接入H(·)。
证明Gamel和Game2是计算不可区分的。首先设计一个有效的模拟器S模拟Game1和Game2。
给定S接入Oracle函数F:其中F随机的选自真正随机的函数,或者随机的选取F(j-1)。S模拟Game1和Game2给攻击者。
S选取Bi←χm×m,若攻击者询问x=(x′,xi),|x|=i-1,S询问Oracle函数F得到F(x′),计算返回给攻击者,显然模拟器模拟了Game1和Game2。由归纳假设,Game1和Game2是计算不可区分的。
Game3:我们给定攻击者接入真正的随机函数,U:给其U(·),即U(·)为真正的随机函数。类似于j=1,Game2和Game3是计算不可区分的。
因此,Game1和Game2计算不可区分。由此可判定本发明实获取单元402获取的的函数是伪随机的。
另外,现有技术基于随机选取随机矩阵,即矩阵中各元素均小于等于qd,且qd≥qd-1......≥q0≥2。对比现有技术的方案,本发明提供的方法具有以下优势:
第一、所需的密钥量渐进减少。首先,现有技术方案需要2k个n×n阶矩阵,本方案需要2k个n×2n(m=2n)阶矩阵的同时需要log2k个4n×2n阶矩阵。虽然本方案需要的矩阵比较多,可是最大的元素是Zq上的,而现有技术方案中的最大元素是上的元素。其次,现有技术方案的安全性基于凑整的学习问题,其中条件qi≥q·B·nω(1)表示现有技术方案所需密钥量的最大值为2k·n2·(log2q+log2B+ω(1)log2n)比特,而本发明提供的方案所需密钥量为4k·n2·log2poly(n)+8log2k·n2log2s比特。由于n-ω(1)是可忽略参数,所以ω(1)渐进很大,s是常数,显然现有技术方案中的密钥量渐进地大于本发明提供的方案所需的密钥量。
第二、更大的值域范围。本方案的值域选取的是满足条件的有限可换群G,与格上构造的其它伪随机函数相比,更具一般性。
第三、对参数进行优化。本发明基于短整数解困难问题构造伪随机函数,参数选取优于基于大整数分解和离散对数问题构造的伪随机函数。当有限交换群时,一般认为l(n)>1.0629n,K(G,χ)的单向性问题可归约到寻找格上最短向量问题。因此,可取χ为0-1分布,l(n)=1.063n。实际上,当l(n)=n时,攻击K(G,χ)单向性的时间复杂度为o(2n/2),空间复杂度为o(2n/4),所以取n=256,采用上面方法就可以构造伪随机函数。假定是单向函数,其中p是素数,i≤e,pi=poly(n)。而现有技术方案的安全性基于凑整学习问题,要求模数q是安全参数的亚指数,一种方案要求q≥p·B·nω(1),另一种要求正是这样大的q影响了整个方案的性能。那么本方案的多项式模数明显优于现有技术方案的亚指数模数。总之,基于的困难问题不同导致模数不同。
第四、运算速度渐进快速。虽然,现有技术方案每次运算为模qj(其中0≤j≤log2k-1)的n×n阶矩阵之间的运算,本方案每次是模q上的n×4n阶矩阵和稀疏的4n×2n阶矩阵乘积,易知本发明参与运算的矩阵比现有技术方案中参与运算的矩阵大。但本发明参与运算的矩阵模数小,因此各矩阵中元素小,可采用快速算法。现有技术方案为保证方案的安全性,其模数qj要远大于本方案中的模数q,这就导致现有技术方案中矩阵的元素很大,而本方案矩阵中的元素比较小,通过适当的选模q可以使矩阵乘法的速度加快。若在整数环中实现,利用快速傅里叶变换,速度可以更快。
本发明实施例提供的电子设备基于短整数解困难问题以及有限交换群G构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
实施例5:
本发明实施例提供了一种电子设备,如图5所示,所述设备包括:接收器501、处理器502和存储器503。在硬件实现上,图4中所述的接收单元可以是接收器,获取单元、查找单元和确定单元可以以硬件形式或软件形式内嵌于设备的处理器中。该处理器可以为中央处理单元(CPU),也可以单片机。存储器503中存储一组程序代码,且处理器502用于调用存储器503中存储的程序代码,用于执行以下操作:
处理器502用于,通过接收器501接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得,所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;所述第二电子设备为通信中发送消息的电子设备。
在通信过程中,任何一个攻击敌手都有可能将发送方发送的消息进行篡改,导致接收方不能接收到正确的消息。另外,发送方或接收方都可以根据密钥结合伪随机函数簇获得一个输出结果,通常若发送方和接收方获得输出结果匹配,则表明消息在通信中没有被攻击者篡改。这里,电子设备通过接收器501接收到的第一消息有可能是第二电子设备发送的原始消息,也可能是被攻击者篡改后的消息。另外,处理器502还借用所述第一验证消息可以鉴别所述第一消息是否被篡改。本发明实施例中所述第一消息即对消息进行加密的密钥,通常可以在伪随机函数簇中选择一个函数之后,将密钥作为输入,将输出作为验证消息。
所述处理器502,用于获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引。
所述处理器502,用于从所述伪随机函数簇中查找索引为所述比特串的函数Fb。
伪随机函数簇中包括多个函数,因此所述处理器502需要以输入比特串为索引选取一个函数,进而使得所述电子设备可以对第二电子设备发送的第一消息进行加密,以鉴别所述第一消息是否被篡改。
所述处理器502还用于,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息。
所述处理器502将所述第一消息作为函数Fb的输入参数,就可以获得一个输出。同样的,发送方第二电子设备也是借由所述获取单元获得的第一验证消息。
所述处理器502,用于在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
这里,所谓匹配不仅仅是相同,当第一验证消息和第二消息之间符合某种匹配关系时就可以判断第一消息在通信传输过程中未被攻击这篡改,即所述第一消息是可信消息。
所述所述处理器502用于,A1、选取2m行m列的第一随机矩阵,获取第一矩阵;A2、将获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;A3、将获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵,所述第三矩阵的数量与所述第二矩阵的数量相同;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
所述处理器502还用于,A4、将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
本发明提供的电子设备的所述处理器502,根据有限交换群G确定x个随机矩阵,作为初始矩阵。参数n为正整数且满足m=2n,k=2d。可以通过以下递归的方式构造一个伪随机函数簇其中0≤j≤d,该函数簇的定义域为值域为Gn×m。当j=0时,随机选取Gn×m上的两个矩阵S0、S1。函数定义为且x∈{0,1}。由于Sb,b∈{0,1},是随机独立的,就可以得到F(0)上的分布。当j≥1时,函数递归地由F0,定义 其中|x0|=|x1|=2j-1。这里Tj(F0(x0),F1(x1))=(F0(x0)||F1(x1))×Bj,函数F0,F1是随机选取的,矩阵Bj为2m行2n的矩阵,且各元素均服从χ分布。这里T运算为对两个运算对象进行凑整运算,运算复杂较高,用(F0(x0)||F1(x1))×Bj来代替凑整运算就大大地降低了运算复杂程度,其中F0(x0)||F1(x1)表示对两个矩阵进行联接运算,即把两个矩阵拼接在一起,可以得到一个行数不变列数增加的新矩阵,在对获得新矩阵右乘一个随机矩阵,相比现有技术进行多次凑整运算,运算复杂度很低。
由于第一矩阵的初始数量为偶数k,因此处理器502进行一次运算之后,获得k/2个第三矩阵。处理器502对这k/2个第三矩阵再次进行运算,即将所述第三矩阵作为所述第一矩阵再次进行运算。具体地,再次随机选择一个2m行m列的随机矩阵,随后对这k/2个n行m列的第三矩阵按顺序两两联接,就可以获得k/4个n行2m列的新矩阵,这k/4个n行2m列的新矩阵依次乘新选择的2m行m列的随机矩阵,就可以获得k/4个n行m列的新矩阵,即可以获得k/4个n行m列的第三矩阵。处理器502每进行一次运算后获得的第三矩阵数量就会减半,且获得第三矩阵均为n行m列的矩阵。如此往复,第一矩阵的初始数量为偶数k,因此最终可以获得一个第三矩阵。又由于k为2的d次幂,因此所述处理器502需要进行d次运算就可以获得一个第三矩阵。具体地,参与运算的第一矩阵的数量是以k、k/2、k/4......2的顺序依次递减,当仅有2个第一矩阵参与运算时,随机选取一个2m行n列的随机矩阵,将2个n行m列的第一矩阵连接就可以获得一个n行2m列的第二矩阵,再乘以本次新选取的2m行n列的随机矩阵,就可以获得一个n行m列的第三矩阵,将这个第三矩阵作为输出结果,记为所述处理器502获取的伪随机随机函数簇。
初始时,有k个第一矩阵,每进行一次运算,矩阵的数量就会减半,直至最后剩一个矩阵结束运算。
需要说明的是,所谓联接,就是将两个矩阵拼接在一起,获得的新矩阵行数不变,列数为参与运算的两个矩阵列数之和,且其中包括的元素总数也为参与运算的两个矩阵的元素数量之和。示例的,所述第一矩阵为n行m列矩阵,则两两联接后会获得n行2m列的新矩阵。另外,矩阵乘运算不满足交换律,即矩阵A乘B,与矩阵B乘A的运算结果是不同的。矩阵A乘B时还需要满足矩阵A的列数与矩阵B的行数相同,才能进行运算,且运算得到的矩阵的行数与矩阵A相同,列数与矩阵B相同。因此,k个第一矩阵两两联接之后列数加倍但行数不变,仍为n行,即获得的第二矩阵为n行2m列的矩阵。因此只有n行2m列的矩阵乘2m行m列的随机矩阵才能保证运算正常进行。这样,所述处理器502获得的第三矩阵为n行m列的矩阵。
所述处理器502,选取k组n行m列矩阵,根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;其中,每组矩阵包括两个矩阵,序号分别为0、1,各矩阵中的元素是均匀取自于有限交换群G,所述长度为k的输入比特串包括k个字符,且每个字符为0或1。
所述处理器502具体用于,针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输长度为k的入比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
可以对根据本实施例提供的并行伪随机函数构造方法构造的伪随机函数的安全性加以证明。为了便于叙述,可以取A0,A1分别是n×2n阶矩阵,Bj是4n×2n阶矩阵。假定T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,这里j∈[d],则本发明第一电子设备获取的是一个伪随机函数簇。对此做出证明:对于j=0,1,..,d,,证明每一个是伪随机函数。j=0时,是真正随机的函数,当然也是伪随机函数。假定是伪随机函数,根据以下几组Game(游戏)就可证明也是伪随机函数。
Game0:设A是一个针对的攻击者,我们选择也就是说独立地选F0,给定攻击者的Oracle(预言访问权)接入 其中|x0|=|x1|=2j-1。
Game1:用真正的随机函数替代F0,F1,即随机选取两个矩阵当攻击者A询问向量x0,时,输出T(j)(A0,A1)=(A0,A1)Bj。
Game2:给定攻击者A接入真正的随机函数,U:
显然,由于T(j)(A0,A1)=(A0,A1)Bj是一个伪随机综合,因此Game0和Game1计算不可区分。
假定攻击者最多作Q=poly(n)次询问,设计一个有效的模拟器S,给定输入这里Zij=Tj(Xi,Yj),对于一致随机选取的i、j∈[Q],Zij是一致随机选取的。从而,模拟器S模拟了Game1和Game2,模拟器S的输入是计算不可区分的,所以Game1和Game2是计算不可区分的。又由于Game0和Game1计算不可区分,这样可判断Game0和Game2计算不可区分。由此就可判断步骤102中构造的是一个伪随机函数簇,即本发明提供的伪随机函数构造方法构造的伪随机函数具有安全性。
所述处理器502,选取j个第二随机矩阵,获取长度为j的比特串,根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;将j个所述第四矩阵按顺序作乘运算,获得第五矩阵,在有限交换群上选取n行m列的第三随机矩阵,将所述第三随机矩阵左乘所述第五矩阵,将获得的结果记为所述伪随机函数簇;所述第一随机矩阵中的元素均服从χ分布,所述第二随机矩阵为m行m列的矩阵。
所述处理器502具体用于,针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第四矩阵,其中所述长度为j的比特串包括j个字符,且每个字符为0或1。
本发明提供的电子设备的所述处理器502,设n为安全参数,m=poly(n),输入比特串的长度为k,其中k>1。根据有限交换群G随机选取一个m行m列的随机矩阵A。对于任意的i满足1≤i≤k,根据χ分布随机生成m行m列的矩阵Si,其中Si中各元素均服从χ分布。另外,还需要定义函数
即伪随机函数簇为:
另外,对根据本实施例提供串行构造方案构造的伪随机函数构造方法构造的伪随机函数的安全性加以证明。设每一个Bi独立的选取自χm×m,并假定判决SISn,m,x成立,那么本发明实施例串行构造的函数簇是伪随机的。这里Bi即为上述Si。
类似于对并行构造方案构造的伪随机函数安全性的证明。对于j=1,…,d,可以证明每一个是伪随机函数。对j=1,可以通过以下Game(游戏)证明是伪随机函数。
Game1:设A是一个针对的攻击者,选择即独立地选取(这里是将G特殊化为),给定攻击者的Oracle接入FA,B(x)=A·Bx,其中x∈{0,1}。
Game2:给定攻击者接入真正的随机函数U:
通过以下论证过程可证明Game1和Game2是计算不可区分的。
首先设计一个有效的模拟器S模拟Game1和Game2。模拟器S随机的选取元素 或 其中B←χm×m,显然S模拟了Game1和Game2,在判定SISn,m,x的困难假设下,上述两个矩阵是计算不可区分的,也就证明了结论。
另外,为了便于证明上面定理,可以定义一个函数簇这里i≥1。对于任意的i≥1,函数簇是一簇{0,1}i到上的函数。将函数定义为: 其中x=(x′,xi),|x|=i-1,且Bi←χm×m。
假定是伪随机函数,以下Game用以证明是伪随机函数。
Game1:设A是一个针对的攻击者,随机的选择F←F(j),给定攻击者A的Oracle接入F(·)。
Game2:随机地选取给定攻击者A的Oracle接入H(·)。
证明Gamel和Game2是计算不可区分的。首先设计一个有效的模拟器S模拟Game1和Game2。
给定S接入Oracle函数F:其中F随机的选自真正随机的函数,或者随机的选取F(j-1)。S模拟Game1和Game2给攻击者。
S选取Bi←χm×m,若攻击者询问x=(x′,xi),|x|=i-1,S询问Oracle函数F得到F(x′),计算返回给攻击者,显然模拟器模拟了Game1和Game2。由归纳假设,Game1和Game2是计算不可区分的。
Game3:我们给定攻击者接入真正的随机函数,U:给其U(·),即U(·)为真正的随机函数。类似于j=1,Game2和Game3是计算不可区分的。
因此,Game1和Game2计算不可区分。由此可判定本发明实施例步骤204构造的函数是伪随机的。
另外,现有技术基于随机选取随机矩阵,即矩阵中各元素均小于等于qd,且qd≥qd-1......≥q0≥2。对比现有技术的方案,本发明提供的方法具有以下优势:
第一、所需的密钥量渐进减少。首先,现有技术方案需要2k个n×n阶矩阵,本方案需要2k个n×2n(m=2n)阶矩阵的同时需要log2k个4n×2n阶矩阵。虽然本方案需要的矩阵比较多,可是最大的元素是Zq上的,而现有技术方案中的最大元素是上的元素。其次,现有技术方案的安全性基于凑整的学习问题,其中条件qi≥q·B·nω(1)表示现有技术方案所需密钥量的最大值为2k·n2·(log2q+log2B+ω(1)log2n)比特,而本发明提供的方案所需密钥量为4k·n2·log2poly(n)+8log2k·n2log2s比特。由于n-ω(1)是可忽略参数,所以ω(1)渐进很大,s是常数,显然现有技术方案中的密钥量渐进地大于本发明提供的方案所需的密钥量。
第二、更大的值域范围。本方案的值域选取的是满足条件的有限可换群G,与格上构造的其它伪随机函数相比,更具一般性。
第三、对参数进行优化。本发明基于短整数解困难问题构造伪随机函数,参数选取优于基于大整数分解和离散对数问题构造的伪随机函数。当有限交换群时,一般认为l(n)>1.0629n,K(G,χ)的单向性问题可归约到寻找格上最短向量问题。因此,可取χ为0-1分布,l(n)=1.063n。实际上,当l(n)=n时,攻击K(G,χ)单向性的时间复杂度为o(2n/2),空间复杂度为o(2n/4),所以取n=256,采用上面方法就可以构造伪随机函数。假定是单向函数,其中p是素数,i≤e,pi=poly(n)。而现有技术方案的安全性基于凑整学习问题,要求模数q是安全参数的亚指数,一种方案要求q≥p·B·nω(1),另一种要求正是这样大的q影响了整个方案的性能。那么本方案的多项式模数明显优于现有技术方案的亚指数模数。总之,基于的困难问题不同导致模数不同。
第四、运算速度渐进快速。虽然,现有技术方案每次运算为模qj(其中0≤j≤log2k-1)的n×n阶矩阵之间的运算,本方案每次是模q上的n×4n阶矩阵和稀疏的4n×2n阶矩阵乘积,易知本发明参与运算的矩阵比现有技术方案中参与运算的矩阵大。但本发明参与运算的矩阵模数小,因此各矩阵中元素小,可采用快速算法。现有技术方案为保证方案的安全性,其模数qj要远大于本方案中的模数q,这就导致现有技术方案中矩阵的元素很大,而本方案矩阵中的元素比较小,通过适当的选模q可以使矩阵乘法的速度加快。若在整数环中实现,利用快速傅里叶变换,速度可以更快。
本发明实施例提供的电子设备基于短整数解困难问题以及有限交换群G构造伪随机函数,避免使用运算复杂度很高的凑整运算,并将模数从亚指数降到了多项式。利用第二电子设备发送的密钥和消息进行消息验证。不同于现有技术中基于模数较高的凑整学习问题实现消息鉴别,通过规避凑整运算降低运算复杂度,提高了函数生成的效率,从而保证了消息鉴别的准确性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM(ReadOnlyMemory,只读存取器)、RAM(RandomaccessMemory,随机存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种消息鉴别方法,其特征在于,包括:
第一电子设备接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得的;所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;
所述第一电子设备获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引;
所述第一电子设备从所述伪随机函数簇中查找索引为所述比特串的函数Fb;
所述第一电子设备将所述第一消息作为参数,根据所述函数Fb获得第二验证消息;
当所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备获取所述伪随机函数簇包括:
A1、所述第一电子设备选取2m行m列的第一随机矩阵,获取第一矩阵;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
A2、所述第一电子设备将步骤A1获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵;其中,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;
A3、所述第一电子设备将步骤A2获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵;所述第三矩阵的数量与所述第二矩阵的数量相同;
A4、所述第一电子设备将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
3.根据权利要求2所述的方法,其特征在于,所述第一电子设备获取第一矩阵包括:
所述第一电子设备选取k组n行m列矩阵,其中每组矩阵包括两个矩阵,各矩阵中的元素是选取于有限交换群;
所述第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;所述长度为k的输入比特串包括k个字符。
4.根据权利要求3所述的方法,其特征在于,所述第一电子设备根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵具体包括:
所述第一电子设备针对所述k组矩阵中的每一组矩阵,若任意一个矩阵对应所述输入长度为k的比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
5.根据权利要求1所述的方法,其特征在于,所述第一电子设备获取所述伪随机函数簇包括:
所述第一电子设备选取j个第二随机矩阵,所述第二随机矩阵中的元素均服从卡方分布,所述第二随机矩阵为m行m列的矩阵;
所述第一电子设备获取长度为j的比特串;
所述第一电子设备根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;
所述第一电子设备将所述j个第四矩阵按顺序作乘运算,获得第五矩阵;
所述第一电子设备在有限交换群上选取元素,将所述元素组成n行m列的第三随机矩阵;
所述第一电子设备将所述第三随机矩阵左乘所述第五矩阵,将获得的结果标记为伪随机函数簇。
6.根据权利要求5所述的方法,其特征在于,所述第一电子设备根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第一矩阵具体包括:
所述第一电子设备针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第四矩阵,其中所述长度为j的比特串包括j个字符。
7.一种电子设备,其特征在于,包括:
接收单元,用于接收第二电子设备发送的第一消息和第一验证消息,其中,所述第一验证消息是所述第二电子设备根据伪随机函数簇、比特串以及所述第一消息获得的,所述伪机函数簇为基于短整数解困难问题构造的函数簇,且值域为有限交换群;所述第二电子设备为通信中发送消息的电子设备;
获取单元,用于获取所述比特串和所述伪随机函数簇,所述比特串为所述伪随机函数簇中函数的索引;
查找单元,用于从所述伪随机函数簇中查找索引为所述比特串的函数Fb;
所述获取单元还用于,将所述第一消息作为参数,根据所述函数Fb获得第二验证消息;
确定单元,用于在所述第一验证消息与所述第二验证消息匹配时,确定所述第一消息为可信消息。
8.根据权利要求7所述的电子设备,其特征在于,所述获取单元包括第一构造子单元,
所述第一构造子单元用于,A1、选取2m行m列的第一随机矩阵,获取第一矩阵;A2、将获取的所述第一矩阵按预设顺序两两联接,获得第二矩阵,任一所述第一矩阵仅参与一次联接运算,所述第二矩阵的数量为步骤A1获得的第一矩阵的数量的二分之一;A3、将获得的所述第二矩阵依次右乘所述第一随机矩阵,获得第三矩阵,所述第三矩阵的数量与所述第二矩阵的数量相同;所述第一随机矩阵中的元素均服从卡方分布,所述第一矩阵为根据有限交换群获得的n行m列的随机矩阵,所述第一矩阵的初始数量为k,所述k等于2的d次幂,所述m=2n,所述n、k均为正整数;
所述第一构造子单元还用于,A4、将获得的第三矩阵作为所述第一矩阵执行步骤A1至A4;当仅获得一个所述第三矩阵时,将获得的结果标记为伪随机函数簇。
9.根据权利要求8所述的电子设备,其特征在于,
所述第一构造子单元用于,选取k组n行m列矩阵,根据长度为k的输入比特串在所述k组矩阵中选择k个所述第一矩阵;其中,每组矩阵包括两个矩阵,序号分别为0、1,各矩阵中的元素是均匀取自于有限交,所述长度为k的输入比特串包括k个字符。
10.根据权利要求9所述的电子设备,其特征在于,
所述第一构造子单元具体用于,针对所述k组矩阵中的每一组矩阵,若该组矩阵对应所述输长度为k的入比特串的相应字符为0,则选择序号为0的矩阵作为一个第一矩阵;若该组矩阵对应所述长度为k的输入比特串的相应字符为1,则选择序号为1的矩阵作为一个第一矩阵。
11.根据权利要求7所述的电子设备,其特征在于,所述获取单元包括第二构造子单元,
所述第二构造子单元用于,选取j个第二随机矩阵,获取长度为j的比特串,根据所述长度为j的比特串依次对所述第二随机矩阵作指数运算,获得j个第四矩阵;将j个所述第四矩阵按顺序作乘运算,获得第五矩阵,在有限交换群上选取n行m列的第三随机矩阵,将所述第三随机矩阵左乘所述第五矩阵,将获得的结果标记为随机函数簇;所述第一随机矩阵中的元素均服从卡方分布,所述第二随机矩阵为m行m列的矩阵。
12.根据权利要求11所述的电子设备,其特征在于,
所述第二构造子单元具体用于,针对j个所述第二随机矩阵中的每一个,将所述第二随机矩阵对应所述长度为j的比特串的相应字符作为所述第二随机矩阵的指数,获得j个所述第四矩阵,其中所述长度为j的比特串包括j个字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290466.XA CN105207978B (zh) | 2014-06-24 | 2014-06-24 | 一种消息鉴别方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290466.XA CN105207978B (zh) | 2014-06-24 | 2014-06-24 | 一种消息鉴别方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105207978A true CN105207978A (zh) | 2015-12-30 |
CN105207978B CN105207978B (zh) | 2018-12-07 |
Family
ID=54955416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410290466.XA Active CN105207978B (zh) | 2014-06-24 | 2014-06-24 | 一种消息鉴别方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105207978B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1665183A (zh) * | 2005-03-23 | 2005-09-07 | 西安电子科技大学 | Wapi认证机制中的密钥协商方法 |
CN1846398A (zh) * | 2003-09-02 | 2006-10-11 | 英特尔公司 | 基于成对主密钥的授权密钥交换 |
CN101111056A (zh) * | 2006-07-17 | 2008-01-23 | 西安电子科技大学 | 在无线局域网中的快速切换方法 |
CN101123501A (zh) * | 2006-08-08 | 2008-02-13 | 西安电子科技大学 | 一种wapi认证和密钥协商方法和系统 |
CN101136905A (zh) * | 2006-08-31 | 2008-03-05 | 华为技术有限公司 | 移动IPv6中的绑定更新方法及移动IPv6通讯系统 |
CN101183942A (zh) * | 2006-11-15 | 2008-05-21 | 捷讯研究有限公司 | 基于客户端证书的安全会话认证方法及设备 |
CN101714910A (zh) * | 2009-11-20 | 2010-05-26 | 西安电子科技大学 | 基于概率检测的抗污染网络编码方法 |
-
2014
- 2014-06-24 CN CN201410290466.XA patent/CN105207978B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1846398A (zh) * | 2003-09-02 | 2006-10-11 | 英特尔公司 | 基于成对主密钥的授权密钥交换 |
CN1665183A (zh) * | 2005-03-23 | 2005-09-07 | 西安电子科技大学 | Wapi认证机制中的密钥协商方法 |
CN101111056A (zh) * | 2006-07-17 | 2008-01-23 | 西安电子科技大学 | 在无线局域网中的快速切换方法 |
CN101123501A (zh) * | 2006-08-08 | 2008-02-13 | 西安电子科技大学 | 一种wapi认证和密钥协商方法和系统 |
CN101136905A (zh) * | 2006-08-31 | 2008-03-05 | 华为技术有限公司 | 移动IPv6中的绑定更新方法及移动IPv6通讯系统 |
CN101183942A (zh) * | 2006-11-15 | 2008-05-21 | 捷讯研究有限公司 | 基于客户端证书的安全会话认证方法及设备 |
CN101714910A (zh) * | 2009-11-20 | 2010-05-26 | 西安电子科技大学 | 基于概率检测的抗污染网络编码方法 |
Non-Patent Citations (1)
Title |
---|
DANIELE MICCIANCIO: "Hardness of SIS and LWE with Small parameters", 《ADVANCES IN CRYPTOLOGY》 * |
Also Published As
Publication number | Publication date |
---|---|
CN105207978B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bowe et al. | Scalable multi-party computation for zk-SNARK parameters in the random beacon model | |
US20210192498A1 (en) | Random number generation in a blockchain | |
CN103425941B (zh) | 云存储数据完整性的验证方法、设备和服务器 | |
Machida et al. | A new arbiter PUF for enhancing unpredictability on FPGA | |
CN100566246C (zh) | 保护电子芯片免受欺骗的公钥加密方法 | |
CN108370317B (zh) | 向标准的凭证添加隐私 | |
CN104488219A (zh) | 用于在射频识别标签和读取设备之间进行安全通信的方法和系统 | |
EP3096488B1 (en) | Hypersphere-based multivariable public key encryption/decryption system and method | |
CN104270247A (zh) | 适用于量子密码系统的高效泛Hash函数认证方案 | |
US10721056B2 (en) | Key processing method and device | |
Miles et al. | Shielding circuits with groups | |
CN109614790A (zh) | 基于反馈环puf的轻量级认证设备及认证方法 | |
CN103780383A (zh) | 一种基于超球面的多变量公钥签名/验证系统及方法 | |
US20240097883A1 (en) | Systems and computer-implemented methods for generating pseudo random numbers | |
CN104796250A (zh) | 针对RSA密码算法M-ary实现的侧信道攻击方法 | |
US9948463B2 (en) | Multivariate public key signature/verification system and signature/verification method | |
CN105359455A (zh) | 电子签名系统 | |
CN116108482A (zh) | 一种非平衡隐私集合求交的方法及系统 | |
CN104298897B (zh) | 基于混沌技术的嵌入式版权认证方法及专用处理器 | |
CN105207978A (zh) | 一种消息鉴别方法及电子设备 | |
CN112800438B (zh) | 在标准模型下计算安全的抗内存泄漏的多级秘密共享方法 | |
CN104104501A (zh) | 一种基于指纹特征与有限乘法群的共享模糊金库方法 | |
Dong et al. | Analysis of an optimal fault attack on the LED-64 lightweight cryptosystem | |
RU2380838C1 (ru) | Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ | |
Song | Optimization and guess-then-solve attacks in cryptanalysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210427 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |