[发明专利]一种轮输出为布尔掩码的ZUC序列密码算法掩码防护方法有效
申请号: | 201510221466.9 | 申请日: | 2015-05-05 |
公开(公告)号: | CN104852795B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 罗鹏;李大为;曹伟琼;张翌维;刘鹏飞 | 申请(专利权)人: | 国家密码管理局商用密码检测中心 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06 |
代理公司: | 北京东正专利代理事务所(普通合伙)11312 | 代理人: | 刘瑜冬 |
地址: | 100036*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种轮输出为布尔掩码的ZUC序列密码算法掩码防护方法,该方法包括(1)选择需要掩码的轮数,初始化前N轮,分别与掩码m0,1=m1、m0,2=m2异或作为输入;(2)异或运算通过转换函数h(x,y)转化成加法运算;(3)加法运算通过转化函数为g(x,y)转化成异或运算;(4)移位及对应分别进行L1线性L2线性运算;(5)对左、右S盒进行运算形成新的SL′及SR′;(6)对于F函数的W输出运算。本申请的技术方案设计的掩码防护方法运算中每个节点所带的掩码值均不相同,每轮S盒输出的掩码值也不相同,可抵抗汉明重量和汉明距离的一阶分析,此外,二阶分析也无法找到任何可利用的泄漏点。 | ||
搜索关键词: | 一种 输出 布尔 掩码 zuc 序列 密码 算法 防护 方法 | ||
【主权项】:
一种轮输出为布尔掩码的ZUC序列密码算法掩码防护方法,其特征在于,该方法包括如下步骤:(1)选择需要掩码的轮数,初始化前N轮,1≤N≤32,r∈{0,1,…,N‑1}为当前轮数,随机选取2个32位随机数m1、m2,每轮随机选取2个32位随机数mr,3、mr,4,在N轮中各不相同;定义mr,1、mr,2分别为第r轮轮输入R1、R2的异或掩码,若是第0轮,F函数的输入R1=0、R2=0,分别与掩码m0,1=m1、m0,2=m2异或作为输入;若是第r(r∈{1,…,N‑1})轮的R1、R2自带掩码mr,1、mr,2,无需再异或掩码值;(2)将的异或运算通过转换函数h(x,y)转化成加法运算R1+mr,1,转化函数为h(x,y)满足(3)R1+mr,1与X1‑mr,1+mr,3相加得R1+X1+mr,3,右边与异或得其中Xi(0≤i≤3)为ZUC算法LFSR寄存器单元中抽取128比特组成的4个32比特字,已知R1+X1+mr,3、mr,3,将(R1+X1)与mr,3的加法运算通过转化函数g(x,y)转化成异或运算其中W1=X1+R1,转换函数g(x,y)满足条件则(4)通过移位后,左边的及右边变换为其中mr,i,H、mr,i,L(i=3,4)分别为mr,i的高、低16比特值,在对应分别进行L1线性运算,左边转化成L2线性运算,右边转化成其中,Wi,H、Wi,L(i=1,2)分别为Wi的高、低16比特值,L1(mr,3,L||mr,4,H)=(a0,a1,a2,a3),L2(mr,4,L||mr,3,H)=(b0,b1,b2,b3);(5)对左、右S盒进行运算形成新的SL'及SR';运算方法是通过S盒预计算查表获得或通过公式在算法运算中通过S盒掩码计算获得;(6)对于每轮F函数的W输出,,对每1轮的X0加掩码防护得到则其中,X0、X1、X2、X3为ZUC算法LFSR的寄存器单元中抽取128比特组成4个32比特字;由于mr+1,2为已知,可将的异或运算转化成加法运算为由于mr+1,2为已知,可对的异或运算转化成加法运算为R2+mr+1,2;则加上R2+mr+1,2即为正确的W输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家密码管理局商用密码检测中心,未经国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510221466.9/,转载请声明来源钻瓜专利网。