【技术实现步骤摘要】
一种基于模容错学习抗侧信道攻击的可否认公钥加密方法
[0001]本专利技术涉属于密码学隐私保护
,更具体地,涉及一种基于模容错学习抗侧信道攻击的可否认公钥加密方法。
技术介绍
[0002]可否认公钥加密是一类针对胁迫攻击者的公钥加密原语,它允许被胁迫的发送方产生“假的”(但看起来合法的)加密时的随机值,使得对已经执行了的一些加密通信,其密文可以被打开为另一条明文消息(非原始消息)。目前已有许多基于不同密码学原语的可否认公钥加密方案被提出。陈晓峰等人提出了一种基于解密可控公钥加密方案的可否认加密方法,曹艳梅等人基于双线性对提出了支持消息认证的可否认公钥加密方案,高崇志等人提出了抗选择密文攻击安全的可否认加密方案,孙龙等人提出了基于二次剩余问题和可信第三方的可否认公钥加密方案。但是,这些现有方案的安全性都是基于传统的数论困难问题,因此在未来可能的量子计算攻击下将不再安全。现有的后量子可否认公钥加密方案是刘峰豪等人提出的基于容错学习的属性加密方案,以及吴文渊等人提出的基于容错学习的发送方可否认方案和基于模容错学习的双向可否认方案。然而,以上方案都无法抵抗一些常见的侧信道攻击手段,例如简单能量分析攻击,时间攻击和缓存攻击等。因此,恶意的强迫攻击者可以对包含这些方案的应用进行侧信道分析,从而窃取数据,危害整个系统的安全性。目前还没有抗侧信道攻击的后量子可否认公钥加密方案。
[0003]侧信道攻击,是指敌手可以通过被动或主动的探测密码设备的侧信道信息(物理量),例如能量和时钟周期消耗,缓存访问命中率等,来恢复部分甚
【技术保护点】
【技术特征摘要】
1.一种基于模容错学习抗侧信道攻击的可否认公钥加密方法,其特征在于,包括以下步骤:S1.密钥生成算法:生成基于模容错学习的公钥加密方案E的公私钥(dpk,dsk);S2.加密算法:输入来自合法明文域的待加密消息m,首先采样一个长度为n,均匀随机的比特串s=(s1,
…
,s
n
)∈{0,1}
n
,将s中“1”和“0”比特所在的下标集合记为和若则重新采样;否则,使用公开的伪随机产生器选取中的元素t,接着,对所有i∈[n],执行以下操作来产生n个密文对:若s
i
=0,采样掩码消息和4个随机数以上描述中l
c
′
=l
c
+l
pad
,l
c
是方案E的密文域的长度,也即l
pad
是一个固定的正整数填充值,是方案E的随机数域;令使用公开的哈希函数来计算m
i
的哈希值利用dpk和随机数使用方案E中的加密算法来加密m
i
||h
i
,此外,利用dpk和随机数使用方案E中的加密算法来加密得到另一个密文最后,令在位置i的密文对为若s
i
=1,首先判断是否有i=t,若是,则令m
i
=m;否则,随机采样掩码消息和4个随机数和4个随机数然后,使用计算接着,利用dpk和随机数使用方案E中的加密算法来加密m
i
||h
i
,得到令此外,利用dpk和随机数使用方案E中的加密算法来加密得到令在位置i的密文对为使用本可否认公钥加密方法加密消息m得到的密文为c=(c1,
…
,c
n
);S3.解密算法,输入密文c=(c1,
…
,c
n
),首先定义一个全“0”比特串s=(s1,
…
,s
n
)=(0,
…
,0)∈{0,1}
n
,对所有i∈[n],执行以下操作来解密c:将c
i
解析为两个子密文然后,利用dsk,使用方案E中的解密算法来解密得到R,若R=
⊥
表示解密失败,则令s
i
=0;否则,计算然后,利用dsk,使用方案E中的解密算法来解密得到m
i
||h
i
,若m
i
||h
i
=
⊥
或则令s
i
=0;否则,令s
i
=1;最后,使用公开的伪随机产生器选取s中的一个“1”比特所在位置t;使用本可否认公钥加密方法解密密文c得到的明文为m
t
;S4.伪造算法:输入原始消息m,加密消息m使用的内部随机数虚假消息执行以下操作来产生伪造的随机数:令s
′
=(s
′1,
…
,s
′
n
)=(s1,
…
,s
t
‑1,0,s
t+1
,
…
,s
n
),将s
′
中“1”比特和“0”比特所在的下标集合记为和若输出“伪造失败”并停机;否则,使用选取中的元素t
′
;接着,对所有i∈[n]:若令若令若i=t,随机采样
令最后,输出伪造的内部随机数为2.根据权利要求1所述的基于模容错学习抗侧信道攻击的可否认公钥加密方法,其特征在于,步骤S1具体包括:随机采样和两个多项式向量将秘密值s嵌入到模容错学习问题中,得到伪随机多项式向量t:=As+e;压缩t得到t的部分高位比特t:=Com
q
(t,d
t
);输出加密公钥dpk:=(A,t),解密私钥dsk:=s。3.根据权利要求2所述的基于模容错学习抗侧信道攻击的可否认公钥加密方法,其特征在于,步骤S2具体包括:输入消息和加密公钥dpk,按如下步骤执行:S21.解压缩t:=Decom
q
(t,d
t
),随机采样s=(s1,
…
,s
n
)
←
{0,1}
n
,若重新采样;S22.计算接着,对所有i∈[n],随机采样进一步判断,若i=t,令m
i
:=m,否则,随机采样S23.对所有i∈[n],继续执行以下分支步骤:若令计算计算为了加密将划分为其中对j∈[4],由此计算由此计算对于计算计算经过以上操作,加密得到的密文为最后,令S24.若计算计算令为了加密同样将划分为其中对j∈[4],由此计算由此计算对于计算计算最后,令4.根据权利要求3所述的基于模容错学习抗侧信道攻击的可否认公钥加密方法,其特
征在于,步骤S3具体包括:输入密文c=(c1,
…
,c
n
)和解密私钥dsk,按如下步骤执行:S31.令s=(s1,
…
,s
n
)
←0n
,对所有i∈[n],执行以下步骤:将c
i
解析为其中对所有j∈[2,6],计算以及然后,重新赋值令接着,计算以及最后计算最后计算若重新赋值s
i
=1;S32.计算输出解密结果为m
t
。5.根据权利要求4所述的基于模容错学习抗侧信道攻击的可否认公钥加密方法,其特征在于,步骤S4具体包括:输入原消息m,随机数虚假消息按如下步骤执行:S41.令s
′
=(s
′1,
…
,s
′
n
)=(s1,
…
,s
t
‑1,0,s
t+1
,
…
,s
n
),将s
′
中“1”和“0”比特所在的下标集合记为和若输出“伪造失败”并停机;否则,令对所有i∈[n],继续执行以下步骤;S42.若i≠t,令若i=t,令...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。