【技术实现步骤摘要】
用于二进制字的提取和插入的设备和方法
[0001]相关申请的交叉引用
[0002]本申请要求于2019年10月11日提交的法国申请第1911349号的权益,该申请通过引用并入于此。
[0003]本公开一般涉及电子系统、电路和方法,并且更具体地涉及被配置为对二进制字执行计算方法和电子设备(诸如例如,处理器)。本公开更具体地涉及被配置为对被掩码的数据值进行处理的方法和设备。
技术介绍
[0004]在被配置为对二进制字执行计算的各种设备中,处理器是存在于许多电子系统和电路中的电子部件,这些电子系统和电子部件被配置为通过执行来自计算机程序的命令和指令来对数据值进行处理。
[0005]在一些情况下,处理器可能必须对秘密数据值进行处理。这些秘密数据值通常例如通过掩码来加密。
[0006]希望的是能够至少部分改进被配置为对二进制字执行计算的已知设备的某些方面。
技术实现思路
[0007]存在针对被配置为在二进制字上执行计算的更多可靠设备的需要。
[0008]存在针对被配置为在二进制字上执行计算的设备的需要,该二进制值被配置为对被掩码数据值进行处理。
[0009]存在针对被配置为在二进制字上执行计算的设备的需要,该二进制值被配置为对被掩码数据值进行处理,而无需实施对这些数据值进行解掩码的操作。
[0010]一个实施例解决了被配置为在二进制字上执行计算的已知设备的缺点中的全部缺点或一些缺点。
[0011]一个实施例解决了被配置为在被掩码数据值上进行处理的已 ...
【技术保护点】
【技术特征摘要】
1.一种用于处理被掩码二进制数据值的方法,所述方法由设备实现,所述设备被配置为对二进制数据值执行计算,所述方法包括:提取第一被掩码二进制数据值(B_M;D_M;G_M)的第一部分(B1_M;D1_M;G1_M);将所述第一被掩码二进制数据值(B_M;D_M;G_M)的所述第一部分(B1_M;D1_M;G1_M)插入第二被掩码二进制数据值(Z_M;X_M;E_M;H_M)中;以及在整个所述提取和所述插入的过程中,保持所述第一被掩码二进制数据值和所述第二被掩码二进制数据值均被掩码。2.根据权利要求1所述的方法,还包括:不对所述第一被掩码二进制数据值和所述第二被掩码二进制数据值执行任何解掩码操作。3.根据权利要求1所述的方法,还包括:通过仅包括算术运算的掩码操作,来掩码所述第一被掩码二进制数据值和所述第二被掩码二进制数据值。4.根据权利要求3所述的方法,其中所述掩码操作包括:将待掩码数据值(A)添加到掩码(MA),以获得被掩码数据值(A_M)。5.根据权利要求1所述的方法,其中第三二进制数据值(Z_M;X_M;F_M;I_M)是所述提取和所述插入的结果,并且所述第三二进制数据值是由第三掩码(MZ;MX;MF;MI)掩码的数据值。6.根据权利要求5所述的方法,还包括:通过对所具有的所有位都等于“0”的二进制数据值(Z;X)执行掩码操作,来获得第二被掩码二进制数据值(Z_M;X_M)。7.根据权利要求6所述的方法,其中所述第二被掩码二进制数据值(Z_M;X_M)等于在所述掩码操作期间所使用的第二掩码(MZ;MX)。8.根据权利要求6所述的方法,其中第三被掩码二进制数据值Z_M由以下算式给出:Z_M[n-1;0]=(Z_M[n-1;p+1]*2
p+1
+CB(p+m)*2
p
+B_M[p+m-1;m])mod2
n
其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表所述第三被掩码二进制数据值Z_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CB(i)代表在导致第一被掩码数据值的所述掩码操作期间可能出现的第i位的进位数字;-B_M代表所述第一被掩码数据值,-进位数字CB(i+1)由以下算式给出,i为小于或等于n的自然整数:其中MB代表与所述第一被掩码二进制数据值相关联的第一掩码,以及与所述第三被掩码二进制数据值相关联的第三掩码MZ由以下算式给出:MZ[n-1;0]=(MZ[n-1;p+1]*2
(p+1)
+CB(m)+MB[p+m-1;m])mod2
n
。
9.根据权利要求6所述的方法,其中第三被掩码二进制数据值X_M由以下算式给出:X_M[n-1;0]=(Z_M[n-1;p+1]*2
p+1
+CB(p+m)*2
p
+B_M[p+m-1;m]-CB(m))mod2
n
其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表所述第三被掩码二进制数据值X_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CB(i)代表在导致第一被掩码数据值的所述掩码操作期间可能出现的第i位的进位数字;-B_M代表所述第一被掩码数据值,-进位数字CB(i+1)由以下算式给出,i为小于或等于n的自然整数:其中MB代表与所述第一被掩码二进制数据值相关联的第一掩码,以及与所述第三被掩码二进制数据值相关联的第三掩码MX由以下算式给出:MX[n-1;0]=(MX[n-1;p+1]*2
(p+1)
+MB[p+m-1;m])mod2
n
。10.根据权利要求5所述的方法,其中第三被掩码二进制数据值F_M由以下算式给出:F_M[n-1;0]={E_M[n-1;k+p](+CEF(k+p))*2^((k+p))+(D_M[m+p-1;m]+ME[k+p-1;k]-MD[m+p-1;m]+CE(k)-CD(k))*2^k+E_M[k-1;0]}mod^2n其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表第三被掩码二进制数据值X_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-k为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CEF(i)代表对于第i位的第一进位数字校正;-CE(i)代表在导致第一被掩码数据值的掩码操作期间可能出现的第i位的第二进位数字;-CD(i)代表在导致第二被掩码数据值的掩码操作期间可能出现的第i位的第三进位数字;-D_M代表所述第一被掩码数据值;-MD代表与所述第一被掩码数据值相关联的掩码;-E_M代表所述第二被掩码数据值;以及-ME代表与所述第二被掩码数据值相关联的掩码,
-
进位数字CD(i+1)由以下算式给出:-进位数字CE(i+1)由以下算式给出:-进位数字校正CEF(i)由以下算式给出:-与所述第三二进制数据值相关联的第三掩码等于与所述第二被掩码数据值相关联的所述掩码。11.根据权利要求5所述的方法,其中第三被掩码二进制数据值F_M由以下算式给出:F_M[n-1;0]={E_M[n-1;k+p]*2
(k+p)
+(D_M[m+p-1;m]+ME[k+p-1;k]-MD[m+p-1;m]+CE(k)-CD(k))*2
k
+E_M[k-1;0]}mod2
n
其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表第三被掩码二进制数据值X_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-k为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CD(i)代表在导致第一被掩码数据值的掩码操作期间可能出现的第i位的第一进位数字;-CD(i)代表在导致第二被掩码数据值的掩码操作期间可能出现的第i位的第二进位数字;-D_M代表所述第一被掩码数据值;-MD代表与所述第一被掩码数据值相关联的掩码;-E_M代表所述第二被掩码数据值;以及-ME代表与所述第二被掩码数据值相关联的掩码,-进位数字CD(i+1)由以下算式给出:
-
进位数字CE(i+1)由以下算式给出:-与所述第三二进制数据值相关联的第三掩码MF由以下算式给出:MF[n-1;0]=ME[n-1;0]-CEF(k+p)*2
k+p
其中CEF(i)代表由以下算式给出的对于第i位的进位数字校正:12.根据权利要求5所述的方法,其中第三被掩码二进制数据值I_M由以下算式给出:I_M[n-1;0]={(H_M(n-1;k+p]-CH(k+p))*2
(k+p)
+(G_M[m+p-1;m]-CG(m)+CCG(m+p)*2
p
)*2
k
+(H_M[k-1;0]+CH(k)*2
k
)}mod2
n
其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表第三被掩码二进制数据值X_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-k为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CG(i)代表在导致第一被掩码数据值的掩码操作期间可能出现的第i位的第一进位数字;-CH(i)代表在导致第二被掩码数据值的掩码操作期间可能出现的第i位的第二进位数字;-G_M代表所述第一被掩码数据值;-G_M代表所述第二被掩码数据值;以及-进位数字CG(i+1)由以下算式给出:-进位数字CH(i+1)由以下算式给出:
-
与所述第三被掩码二进制数据值相关联的第三掩码MI由以下算式给出:MI[n-1;0]=MH[n-1;k+p]*2
p+k
+MG[m+p-1;m]*2
k
+MH[k-1;0]其中:-MG代表与所述第一被掩码二进制数据值相关联的掩码;以及-MH代表与所述第二被掩码二进制数据值相关联的掩码。13.根据权利要求5所述的方法,其中第三被掩码二进制数据值I_M由以下算式给出:I_M[n-1;0]={H_M[n-1;k+p]*2
(k+p)
+(G_M[m+p-1;m]+CG(m+p)*2
p
)*2
k
+(H_M[k-1;0]+CH(k)*2
k
)}mod2
n
其中:
-“
+”代表加法运算;
-“
mod”代表取模运算;-n代表第三被掩码二进制数据值X_M的位数目,n为自然整数;-p为介于0与n-1之间的自然整数;-m为介于0与n-p之间的自然整数;-k为介于0与n-p之间的自然整数;-P[i;j]代表二进制数据值P的从第i位到第j位的所有位;i和j为自然整数;-CG(i)代表在导致第一被掩码数据值的掩码操作期间可能出现的第i位的第一进位数字;-CH(i)代表在导致第二被掩码数据值的掩码操作期间可能出现的第i位的第二进位数字;-G_M代表所述第一被掩码数据值;-G_M代表所述第二被掩码数据值;以及-进位数字CG(i+1)由以下算式给出:-进位数字CH(i+1)由以下算式给出:-与所述第三被掩码二进制数据值相关联的第三掩码MI由以下算式给出:MI[n-1;0]=(MH[n-1;k+p]+CH(k+p))*2
p+k
+(MG[m+p-1;m]+CG(m))*2
k
+)MH[k-1;0]其中:-MG代表与所述第一被掩码二进制数据值相关联的掩码;以及-MH代表与所述第二被掩码二进制数据值相关联的掩码。
14.一种设备,被配置为对被掩码二进制数据值执行计算,所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。