【技术实现步骤摘要】
一种轻量化S盒设计方法
本专利技术涉及通信加密
,具体涉及一种轻量化S盒设计方法。
技术介绍
国内外现有的对称密码算法设计仍然沿用香农1949年提出的“混淆”、“扩散”思想,通过对称密码算法的“混淆”和“扩散”部件使得明文、密文和密钥之间的关系异常复杂,以至于攻击者无法从密文得到明文的任何信息、或者从明密文对得到密钥的任何信息。“混淆”部件普遍采用非线性置换S盒(SubstitutionBox)。S盒首次出现在分组密码算法Lucifer中,随着美国标准化技术研究机构NIST(NationalInstituteofStandardTechnology)在1977年发布的数据加密算法标准DES(DataEncryptionStandard)的使用而广为流行。S盒是绝大多数密码算法中唯一的非线性部件,其密码性质几乎决定了整个密码算法的安全强度,也极大影响整个算法的“混淆”效果。n比特输入m比特输出的S盒(简称为n×m的S盒)定义如下:其中fi(X)为的布尔函数,i=1,2,…,m,F2表示由0 ...
【技术保护点】
1.一种轻量化S盒设计方法,其特征在于,包括以下步骤:/nS1、对选定的S盒规格n,随机选取
【技术特征摘要】
1.一种轻量化S盒设计方法,其特征在于,包括以下步骤:
S1、对选定的S盒规格n,随机选取的布尔函数f1和f2;
S2、对S盒的n比特输入数据(x0,x1,x2,…,xn-2,xn-1),依次遍历{0,1,…,2n-1}所有整数值对应的n比特二元向量{(0,0,0,…,0,0),(0,0,0,…,0,1),…,(1,1,1,…,1,1)},对任意整数值i对应的n比特二元向量(x0,x1,x2,…,xn-2,xn-1),根据布尔函数f1和f2进行3轮n支广义Feistel结构的轮变换和1轮非线性变换得到n比特中间变量,并对n比特中间变量进行比特组合,得到n×n规格的S盒Sbox在整数i的数值Sbox(i),i∈{0,1,…,2n-1};
S3、输出n×n规格的S盒Sbox。
2.根据权利要求1所述的轻量化S盒设计方法,其特征在于,所述步骤S1中布尔函数f1和f2的迭代次数不小于2次,且其代数正规型不包含1次项和常数项。
3.根据权利要求1所述的轻量化S盒设计方法,其特征在于,所述步骤S1中布尔函数f1和f2均包含2U种非零布尔函数,其中U为中间参数。
4.根据权利要求3所述的轻量化S盒设计方法,其特征在于,所述中间参数U的计算公式为:
U=2n-2-n+1。
5.根据权利要求1所述的轻量化S盒设计方法,其特征在于,所述步骤S2的具体步骤为:
S21、对输入的n比特二元向量(x0,x1,x2,…,xn-2,xn-1)计算第1轮n支广义Feistel结构的轮变换,即t01=x2,t11=x3,t21=x4,…,t(n-4)1=xn-2,t(n-3)1=xn-1,(t01,t11,t21,…,t(n-2)1,t(n-1)1)为第一轮变...
【专利技术属性】
技术研发人员:董新锋,张文政,周宇,苗旭东,胡建勇,李枫,申兵,王金波,韩羽,
申请(专利权)人:中国电子科技集团公司第三十研究所,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。