基于查找表的制造技术

技术编号:39820903 阅读:10 留言:0更新日期:2023-12-22 19:40
本发明专利技术提出了一种基于查找表的

【技术实现步骤摘要】
基于查找表的A2B掩码转换方法、装置、设备、介质和产品


[0001]本专利技术涉及计算机
,尤其涉及一种基于查找表的
A2B
掩码转换方法

装置

设备

介质和程序产品


技术介绍

[0002]掩码是一种保护密码设备抵御侧信道攻击
(SCA

Side Channel Attack)
的一种常用方法

掩码通常分为算术掩码和布尔掩码两个大类,而在不同的密码算法抗
SCA
实现中,往往需要这两种掩码相互转换,基于查找表的算术运算转换为布尔运算
(A2B

Arithmetic to Boolean)
转换方法,由于运算速度较快因此得到了广泛的研究

[0003]而现有基于查找表的
A2B
转换方法往往需要一个进位查找表来保护方法中产生的进位,但是随着转换数据位宽的增大,该进位查找表的尺寸也会随之增大,对于资源受限的设备并不友好


技术实现思路

[0004]本专利技术的主要目的在于提供一种基于查找表的
A2B
掩码转换方法

装置

设备

介质和程序产品,以解决现有掩码转换方法无法满足内存资源受限设备的需求的技术问题

[0005]为实现上述目的,本专利技术实施例第一方面提供一种基于查找表的
A2B
掩码转换方法,包括:
[0006]获取迭代过程中处于布尔掩码域的布尔进位值;
[0007]将处于所述布尔掩码域的布尔进位值转换为处于所述算术掩码域的算术进位值;
[0008]将处于所述算术掩码域的算术进位值与处于所述算术掩码域的其它中间变量相加,得到相加结果;
[0009]利用所述相加结果进行下一次迭代,以实现
A2B
掩码转换

[0010]在本专利技术一实施例中,所述获取迭代过程中处于布尔掩码域的布尔进位值包括:
[0011]获取迭代过程中处于所述布尔掩码域的布尔共享值
D
和布尔共享值
R。
[0012]在本专利技术一实施例中,所述将处于所述布尔掩码域的布尔进位值转换为处于所述算术掩码域的算术进位值包括:
[0013]从
n

比特均匀分布的数据中随机选择一个随机数
η

[0014]将所述随机数
η
与所述布尔共享值
D
进行异或操作,得到第一异或结果;
[0015]将所述第一异或结果与所述随机数
η
进行模数为2n

的模减操作,得到第一模减结果;
[0016]将所述第一模减结果与所述布尔共享值
D
进行异或操作,得到第二异或结果;
[0017]将所述随机数
η
与所述布尔共享值
R
进行异或操作,得到第三异或结果;
[0018]将所述第三异或结果与所述布尔共享值
D
进行异或操作,得到第四异或结果;
[0019]将所述第四异或结果与所述第三异或结果进行模数为2n

的模减操作,得到第二模减结果;
[0020]将所述第二模减结果与所述第二异或结果进行异或操作,得到第五异或结果,所述第五异或结果表示所述布尔共享值
D
对应的处于算术掩码域的算术进位值
Temp。
[0021]在本专利技术一实施例中,所述将处于所述算术掩码域的算术进位值与处于所述算术掩码域的其它中间变量相加,得到相加结果包括:
[0022]将预先输入的数据与所述布尔共享值
R
进行模数为2n
的模加操作,得到第一模加结果;
[0023]将所述第一模加结果与所述算术进位值
Temp
进行模数为2n
的模加操作,得到第二模加结果,所述第二模加结果表示所述相加结果

[0024]在本专利技术一实施例中,所述将处于算术掩码域的所述值与处于算术掩码域的其它中间变量相加,得到相加结果之后,还包括:
[0025]生成一个服从均匀分布的
k
比特的随机数
r

[0026]生成一个服从均匀分布的1比特的随机数
ρ

[0027]从0开始遍历
k
位临时中间变量
m
的所有2k
个可能取值;
[0028]在每次的迭代中,将所述中间变量
m
与所述随机数
r
的模加结果与所述随机数
ρ
和所述随机数
r
的拼接结果进行异或操作,得到第六异或结果,将
k+1
比特的所述第六异或结果存储在以所述中间变量
m
的值为地址的查找表
T


[0029]在本专利技术一实施例中,所述利用所述相加结果进行下一次迭代,以实现
A2B
掩码转换包括:
[0030]从
nk
比特均匀分布的数据中随机选择一个输入数;
[0031]将每次迭代生成的随机数
r
进行拼接,得到第一拼接结果,并将所述输入数与所述第一拼接结果进行模数为2nk
的模减操作,得到第三模减结果,所述第三模减结果和所述布尔共享值
R
均包括
n
段数据,每段数据均为
k
比特,
n

k
均为不小于0的整数,
n
=0,1,2,
...

n
‑1;
[0032]从0开始遍历
k
位临时中间变量
m
的所有2k
个可能取值;
[0033]在每次迭代中,将所述第三模减结果中段数最小的段数据和所述布尔共享值
R
中段数最小的段数据进行模数为2(n

m)k
的模加运算,得到第三模加结果,将所述第三模加结果中段数最小的段数据作为所述查找表
T
的地址输入,得到输出结果,将第
k
比特的输出结果与所述布尔共享值
R
中段数最小的段数据进行异或操作,得到第七异或结果,将所述第三模加结果右移
k
比特,得到右移结果,将所述相加结果加在所述右移结果上,得到本次关于所述第三模加结果的迭代结果,将所述布尔共享值
R
右移
k
比特,得到本次关于所述布尔共享值
R
的迭代结果,本次关于所述第三模加结果的迭代结果作为下一次迭代的第三模加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于查找表的
A2B
掩码转换方法,其特征在于,包括:获取迭代过程中处于布尔掩码域的布尔进位值;将处于所述布尔掩码域的布尔进位值转换为处于所述算术掩码域的算术进位值;将处于所述算术掩码域的算术进位值与处于所述算术掩码域的其它中间变量相加,得到相加结果;利用所述相加结果进行下一次迭代,以实现算术运算转换为布尔运算
A2B
掩码转换
。2.
根据权利要求1所述的基于查找表的
A2B
掩码转换方法,其特征在于,所述将处于算术掩码域的所述值与处于算术掩码域的其它中间变量相加,得到相加结果之后,还包括:生成一个服从均匀分布的
k
比特的随机数
r
;生成一个服从均匀分布的1比特的随机数
ρ
;从0开始遍历
k
位临时中间变量
m
的所有2k
个可能取值;在每次的迭代中,将所述中间变量
m
与所述随机数
r
的模加结果与所述随机数
ρ
和所述随机数
r
的拼接结果进行异或操作,得到第六异或结果,将
k+1
比特的所述第六异或结果存储在以所述中间变量
m
的值为地址的查找表
T

。3.
根据权利要求1或2所述的基于查找表的
A2B
掩码转换方法,其特征在于,所述获取迭代过程中处于布尔掩码域的布尔进位值包括:获取迭代过程中处于所述布尔掩码域的布尔共享值
D
和布尔共享值
R。4.
根据权利要求3所述的基于查找表的
A2B
掩码转换方法,其特征在于,所述将处于所述布尔掩码域的布尔进位值转换为处于所述算术掩码域的算术进位值包括:从
n

比特均匀分布的数据中随机选择一个随机数
η
;将所述随机数
η
与所述布尔共享值
D
进行异或操作,得到第一异或结果;将所述第一异或结果与所述随机数
η
进行模数为2n

的模减操作,得到第一模减结果;将所述第一模减结果与所述布尔共享值
D
进行异或操作,得到第二异或结果;将所述随机数
η
与所述布尔共享值
R
进行异或操作,得到第三异或结果;将所述第三异或结果与所述布尔共享值
D
进行异或操作,得到第四异或结果;将所述第四异或结果与所述第三异或结果进行模数为2n

的模减操作,得到第二模减结果;将所述第二模减结果与所述第二异或结果进行异或操作,得到第五异或结果,所述第五异或结果表示所述布尔共享值
D
对应的处于算术掩码域的算术进位值
Temp。5.
根据权利要求4所述的基于查找表的
A2B
掩码转换方法,其特征在于,所述将处于所述算术掩码域的算术进位值与处于所述算术掩码域的其它中间变量相加,得到相加结果包括:将预先输入的数据与所述布尔共享值
R
进行模数为2n
的模加操作,得到第一模加结果;将所述第一模加结果与所述算术进位值
Temp
进行模数为2n<...

【专利技术属性】
技术研发人员:刘雷波彭硕航朱文平魏少军
申请(专利权)人:清华大学无锡应用技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1