【技术实现步骤摘要】
一种国密SM4的快速软件实现方法
本专利技术涉及计算机安全
,特别是一种SM4加密方法
技术介绍
数据加密时密码系统的基本任务。按加密密钥与解密密钥的关系,目前的各种数据加密体制可以分为两大类:对称密码加密体制和公钥密码加密体制。常用的对称密码方法有DES、AES、IDEA、RC6等。SM4是一个分组密码算法,明文、密钥、密文都是128比特,加密和解密密钥相同。通过32次循环的非线性迭代轮函数来实现加密和解密。其中包括非线性变换s盒,以及由循环异或构成的线性变换。除了256字节的s盒之外,还定义了另外两组参数FK以及cK(具体数据参考密码局网站)。基本过程是首先把128比特密钥按照32比特一组分成4组,然后根据密钥扩展算法,生成32组32比特轮密钥;再把输入的128比特数据也按照32比特一组分成4组进行循环运算。
技术实现思路
本专利技术针对目前软件实现方法中的缺陷,提出了如下改进的软件优化方法。一种国密SM4的快速软件实现方法,包括:数据编排步骤,将256组128比特的数据表示为X[256][128],X[i]表示第i组数据,i=0,1,..,255,存在比特矩阵转置变换TRANS256(·):X[128][256]=TRANS(X[256][128]),特征在于,输入为256*128比特,输出为128*256比特,实现将256组数据的同一比特聚集在同一内存块中;密钥编排步骤,将第k轮加密密钥记为RKk,[32],k=0,1,...,31,存在变换TRANS32(·):TRKk,[32][256]=TRANS32(RKk,[32]),其特征在于,定义{ ...
【技术保护点】
1.一种国密SM4的快速软件实现方法,其特征在于,包括:数据编排步骤:将256组128比特的数据表示为X[256][128],X[i]表示第i组数据,i=0,1,...,255,存在比特矩阵转置变换TRANS256(·):使得X[128][256]=TRANS(X[256][128]),输入为256*128比特,输出为128*256比特,实现将256组数据的同一比特聚集在同一内存块中;密钥编排步骤:将第k轮加密密钥记为RKk,[32],k=0,1,...,31,存在变换TRANS32(·):TRKk,[32][256]=TRANS32(RKk,[32]),定义{·}256表示将元素重复256次并拼接在一起,则TRKk,[i]={RKk,[i]}256,实现将密钥RK的第i个比特复制256次存入TRK的第i项;迭代计算步骤:将经过数据编排后的数据记为
【技术特征摘要】
1.一种国密SM4的快速软件实现方法,其特征在于,包括:数据编排步骤:将256组128比特的数据表示为X[256][128],X[i]表示第i组数据,i=0,1,...,255,存在比特矩阵转置变换TRANS256(·):使得X[128][256]=TRANS(X[256][128]),输入为256*128比特,输出为128*256比特,实现将256组数据的同一比特聚集在同一内存块中;密钥编排步骤:将第k轮加密密钥记为RKk,[32],k=0,1,...,31,存在变换TRANS32(·):TRKk,[32][256]=TRANS32(RKk,[32]),定义{·}256表示将元素重复256次并拼接在一起,则TRKk,[i]={RKk,[i]}256,实现将密钥RK的第i个比特复制256次存入TRK的第i项;迭代计算步骤:将经过数据编排后的数据记为X256表示二维数组X[128][256],指向X[128][256]的第i*32项,i=0,1,2,3,将经过密钥编排后的第k轮加密密钥记为进行32次迭代计算:其中,为异或运算;数据反编排步骤:存在比特矩阵转置TRANS256(·):X[256][128]=TRANS256(X[128][256]),将经过迭代计算后的数据从切片后的128组256比特数据组织方式恢复到正常256组128比特数据;反序计算步骤:令则输出的256组128比特的加密数据表示为其中,合成置换T的输入和输出都是32*256比特,由非线性变换τ和线性变换L复合而成T(·)=L(τ(·))。2.根据权利要求1所述的国密SM4的快速软件实现方法,其特征在于,将256组128比特数据看做两个128组128比特数据,实现数据编排和数据反编排,利用7组掩码完成比特矩阵转置;7组掩码的16进制表示为:MASK0=5555555555555555555555555555555555555555555555555555555555555555MASK1=3333333333333333333333333333333333333333333333333333333333333333MASK2=OFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFOFMASK3=OOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFOOFFMASK4=OOOOFFFFOOOOFFFFOOOOFFFFOOOOF...
【专利技术属性】
技术研发人员:王闯,郭华,张笑从,郜雅,高莹,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。