预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局*CN101938351A*(12)发明专利申请(10)申请公布号CN101938351A(43)申请公布日2011.01.05(21)申请号201010284552.1(22)申请日2010.09.16(71)申请人北京航空航天大学地址100191北京市海淀区学院路37号(72)发明人郑志明张筱高莹王钊邱望洁王文华(74)专利代理机构北京万象新悦知识产权代理事务所(普通合伙)11360代理人贾晓玲(51)Int.Cl.H04L9/06(2006.01)权利要求书2页说明书5页附图1页(54)发明名称一种实现分组密码加密的密钥扩展方法(57)摘要本发明提供了一种分组密码算法的密钥扩展方法,用于生成分组密码算法的各轮子密钥。本发明提供的方法主要是通过迭代函数计算生成子密钥,该迭代函数由非线性运算,常数运算和循环一位运算构成。通过本发明提供的方法,可以高效便利地生成子密钥,有效减少存储空间,具有较一般商用分组密码算法更高的实现速度,可以满足实时加密和解密的要求,同时,该算法具有比较高的安全性。CN109385ACCNN110193835101938354A权利要求书1/2页1.一种应用于分组密码加密解密算法的密钥扩展方法,其特征在于,生成轮数为8的子密钥的步骤如下:A.初始化:定义长度为80的数组W,该数组的元素长度为32比特;将256比特的种子密钥依次写入数组W[0]~W[7]作为输入;W[8]~W[79]用来存储扩展生成的子密钥;B.计算生成子密钥,采用如下迭代函数:W[i]={FS(W[i-8])+FS(W[i-7])+FS(W[i-3])+FS(W[i-2])+Fimod4+t(i)}<<<(7i+3)mod32其中:-i为数组下标,从8开始每次增加1进行迭代,i≤79;-FS为非线性变换函数;-Φ的取值为4个常数;-t为一个函数,用来将其参数转化为二进制表示;-“<<<”表示循环左移;C.输出子密钥:将数组W[i](i=8,9,…,79)中的元素顺序输出即为子密钥。2.如权利要求1所述的方法,其特征在于,所述非线性变换函数FS的实现方式如下:对于所述函数FS(x),x表示长32比特的变量,将x写成4个8比特数并联的形式,即x=x1x2x3x4,则FS(x)=M(S0(x1),S1(x2),S2(x3),S3(x4)),其中,8y1,y2,y3,y4为GF(2)中的元素;矩阵中的元素为GF(28)中元素的十六进制表示;S0,S1,S2,S3为四个不同的函数,表示8×8的S盒;S0采用配套的加密和解密运算的分组密码算法的S盒;S1,S2,S3由S0生成,生成方法如下:3.如权利要求2所述的方法,其特征在于,所述S0的取值为配套分组密码算法的S盒。4.如权利要求2所述的方法,其特征在于,所述S0的取值为自定义S盒。5.如权利要求1所述的方法,其特征在于,Φ的取值为如下4个常数:Φ0=3C2D240EΦ1=E4BB73F62CCNN110193835101938354A权利要求书2/2页Φ2=B40B34CDΦ3=6C9D6334。6.如权利要求要求1所述的方法,其特征在于,所述轮数的取值范围为4~20。3CCNN110193835101938354A说明书1/5页一种实现分组密码加密的密钥扩展方法技术领域[0001]本发明涉及一种数据加密和解密的方法,具体涉及一种分组密码算法的密钥扩展方法,用于生成分组密码算法的各轮子密钥。背景技术[0002]信息时代计算机技术迅猛发展,分组密码因为具有速度快、易于标准化和便于软硬件实现等特点,成为信息安全领域中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,在计算机、通信等领域广泛应用。[0003]分组密码算法是将需要数据保护的原始数据序列(即明文)进行分组,对每个分组在密钥作用下进行加密操作,将明文转换为不能识别的无规律数据(即密文)。将密文进行传输以保证数据安全,数据接受方使用同一组密钥即可将密文解密为明文。分组密码算法加密操作通常经过多轮函数作用,每一轮都需要对应的一组子密钥。在加密和解密的实施过程中,通信双方只共享一组初始的种子密钥,通过密钥扩展算法将种子密钥扩展生成需要的子密钥,减小存储量、通信量,提高系统性能。[0004]目前典型分组密码算法的密钥扩展算法通常适用于密钥长度为128比特、192比特或256比特的密钥扩展。256比特密钥长度是分组密码算法应用中一种典型的密钥长度,在数据安全的压力下,256比特明文分组日益受到密码设计者的青睐,相应的256比特长度的密钥使用频率逐步提升,因此,设计256比特密钥长度的分组密码算法将具有很强的实用性。[0005]密钥扩展算法首先要保证安全性,即要求密钥扩展算法的设计具有子密钥统计独立性和灵敏性。