本公开涉及实现snow-3g密码电路的mul64函数的集成电路以及运算方法。
背景技术:
1、作为通信中的数据的加密方式,已知有snow-3g。在snow-3g中,将用于完整性验证的mul64函数标准化。
2、在mul64函数中,递归地定义mul64xpow函数。在通过电路实现递归定义的函数的情况下,能够通过嵌套结构的组合电路来实现。然而,在不知道执行嵌套结构的电路的次数的情况下、或者执行嵌套结构的电路的次数多的情况下,无法制作嵌套结构,所以一般通过顺序电路来实现。
3、另一方面,在顺序电路中存在到输出运算结果为止花费时间的问题。另外,在顺序电路中还存在如下问题:通过简单功率分析(spa:simple power analysis)和差分功率分析(dpa:differential power analysis)这样的电源电流分析而容易读取值。因此,需要通过组合电路来实现mul64函数的技术。
4、中国专利申请公开第113971015号说明书中公开了以组合电路实现mul64函数的方法。
技术实现思路
1、本发明所要解决的技术问题
2、但是,由于mul64xpow函数的第二自变量的最大值为63,所以在中国专利申请公开第113971015号说明书所记载的组合电路中成为64级的嵌套构造,成为复杂的结构。
3、根据本公开的一方式,其目的在于能够利用简易的组合电路实现snow-3g加密电路的mul64函数。
4、用于解决技术问题的技术方案
5、为了解决上述问题,本公开的一方式所涉及的集成电路是实现snow-3g加密电路的mul64函数的集成电路,其具备:计算电路11,针对满足n=x+y(n为0~127的整数)的整数x和y的组合,计算所述mul64函数的第一自变量64比特的v的第x比特的值即v[x]和第二自变量64比特的p的第y比特的值即p[y]的逻辑积的全部的逻辑异或即128个1比特的运算结果n(n);以及输出电路2,使用表示128个m(n)的数据以及128个所述n(n),通过进行逻辑积以及逻辑异或的一种或两种运算来输出mul64函数值[63:0],所述m(n)是对所述mul64函数所包含的mul64xpow函数的第一自变量将应用1,对第二自变量应用n,对第三自变量应用规定值,从而算出的值。
6、此外,为了解决上述问题,本公开的一方式所涉及的运算方法是实现snow-3g加密电路的mul64函数的运算方法,其具备:计算步骤,针对满足n=x+y(n为0~127的整数)的整数x和y的组合,计算所述mul64函数的第一自变量64比特的v的第x比特的值即v[x]和第二自变量64比特的p的第y比特的值即p[y]的逻辑积的全部的逻辑异或即128个1比特的运算结果n(n);以及输出步骤,使用表示128个m(n)的数据以及128个n(n),通过进行逻辑积以及逻辑异或的一种或两种运算来输出mul64函数值[63:0],所述m(n)是对所述mul64函数所包含的mul64xpow函数的第一自变量将应用1,对第二自变量应用n,对第三自变量应用规定值,从而算出的值。
7、有益效果
8、根据本公开的一方式,能够利用组合电路实现snow-3g加密电路的mul64函数。
1.一种集成电路,其实现snow-3g加密电路的mul64函数,其特征在于,包括:
2.根据权利要求1所述的集成电路,其特征在于,所述输出电路将通过所述m(n)的每个比特以及所述n(n)的逻辑积计算的128个m(n)×n(n)的逻辑异或输出作为所述mul64函数值[63:0]。
3.根据权利要求1所述的集成电路,其特征在于,所述输出电路输出gm中包含的与多个n对应的n(n)的逻辑异或作为mul64函数值[63:0]的第m位输出,其中,gm是表示所述m(n)的数据,且为关于所述m(n)的第m位中m(n)满足[m]=1的多个n的集合,其中,m为0至63的整数。
4.一种运算方法,其实现snow-3g加密电路的mul64函数,其特征在于,包括: