-
公开(公告)号:CN101848081A
公开(公告)日:2010-09-29
申请号:CN201010204508.5
申请日:2010-06-11
Applicant: 中国科学院软件研究所
IPC: H04L9/06
CPC classification number: H04L9/0631
Abstract: 本发明公开了一种S盒构造方法及S盒,属于通信技术领域。本方法为:1)选定一整数m以及三个n进n出的变换单元:P1、P2、P3;其中P2为置换单元,n为大于等于2的整数;2)取输入的2n比特信息x的高n位记为x1、低n位记为x2;3)将x2经P1变换后与x1异或,输出记作t1;4)将t1经P2变换后与x2异或,输出记作t2;5)将t2经P3变换后与t1异或,输出记作t3;6)将t3作为高n位,t2作为低n位连接成为一个2n比特的信息,记作t;7)将信息t循环左移m位输出。本发明的S盒包括三个异或单元A、B、C,三个变换单元P1、P2、P3,一个线序置换单元。与现有技术相比,本发明的S盒方法易于实现,且所构造的S盒具有良好密码学性质、运行效率高。
-
公开(公告)号:CN101719823A
公开(公告)日:2010-06-02
申请号:CN200910236982.3
申请日:2009-10-30
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种实现S-盒线性变换的方法,其实现的过程为:将S-盒划分为多个小S-盒,将S-盒的输入数据也分为多个块,分别为小S-盒输入数据;将上述小S-盒的输出结果合并为一个n 比特的数据块x,作为线性变换混合器的输入;然后给出4种不同的方法来实现上述过程,使之通过3次循环移位和3次整数的异或运算完成线性变换;计算出L(x)结果即为完成线性变换,实现S-盒输出。本发明在硬件实现时由原来的4个循环移位电路和4个异或门减少为3个循环移位电路和3个异或门,在效率上节省开支25%。在软件实现上同样节省了计算代价。
-
公开(公告)号:CN110011798A
公开(公告)日:2019-07-12
申请号:CN201910276961.8
申请日:2019-04-08
Applicant: 中国科学院软件研究所
IPC: H04L9/18
Abstract: 本发明公开了一种ZUC-256流密码的初始化方法和装置及通信方法。该方法包括:1)将输入的256比特的初始密钥划分为32个字节,输入的184比特初始向量划分为25个比特串;输入的常数划分为15个7比特常数;2)设置1个含16个31比特单元的线性移位寄存器和2个32比特记忆单元R1,R2的有限状态自动机,以上述32个字节、25个比特串、和15个7比特常数为输入参数,依次装载每个寄存器单元,并将R1与R2清零;3)进行前32轮带反馈值得迭代和末1轮不带反馈值迭代的迭代过程后,形成ZUC-256流密码算法的工作状态。本发明与ZUC-128算法之初始化方法兼容性高,且满足了新条件下的安全性需求。
-
公开(公告)号:CN104113543A
公开(公告)日:2014-10-22
申请号:CN201410344852.2
申请日:2014-07-18
Applicant: 中国科学院软件研究所
Abstract: 本发明提供了一种基于分组密码的消息鉴别方法。本方法为:1)消息发送者S和消息接收者R共同确定一安全强度参数d,共享密钥K0,K1,…Kd,并约定分组密码算法E、矩阵AW×d、矩阵Bd×L和d个互不相同的n比特常数Cstj;2)S和R分别计算Rj=E(K0,Cstj);然后将矩阵A与向量[R1,R2,…,Rd]T相乘,得到向量[X1,X2,..,Xw]T;3)S对消息M填充后分为L块长为n比特的数据块;4)S计算E(K0,Mi⊕Xi)=Zi;将矩阵B与向量[Z1,Z2,…,ZL]T相乘得到向量[S1,S2,…,Sd]T;然后分别使用密钥K1,K2,…,Kd结合算法E对向量[S1,S2,…,Sd]进行d轮分组加密;并将d轮计算结果的和作为该消息M的标签T;5)S将(M,T)发送给R;R计算该消息M的标签T’;如果T=T’,则接受该消息M。本方法能够保护数据的完整性及起源认证。
-
公开(公告)号:CN101719823B
公开(公告)日:2012-07-11
申请号:CN200910236982.3
申请日:2009-10-30
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种实现S盒线性变换的方法,其实现的过程为:将S-盒划分为多个小S-盒,将S-盒的输入数据也分为多个块,分别为小S-盒输入数据;将上述小S-盒的输出结果合并为一个n比特的数据块x,作为线性变换混合器的输入;然后给出4种不同的方法来实现上述过程,使之通过3次循环移位和3次整数的异或运算完成线性变换;计算出L(x)结果即为完成线性变换,实现S-盒输出。本发明在硬件实现时由原来的4个循环移位电路和4个异或门减少为3个循环移位电路和3个异或门,在效率上节省开支25%。在软件实现上同样节省了计算代价。
-
公开(公告)号:CN104852805B
公开(公告)日:2019-03-22
申请号:CN201510236365.9
申请日:2015-05-11
Applicant: 中国科学院软件研究所 , 北京中电华大电子设计有限责任公司 , 国家密码管理局商用密码检测中心
Abstract: 本发明公开了一种抵抗基于格的错误攻击的SM2签名算法防护方法。本方法为:1)签名者A对输入的待签名消息M进行哈希运算,并将运算结果ZA与消息M联合得到;2)对进行杂凑压缩,得到一预处理结果e;3)产生两随机数k,w;分别计算随机数k和基点G的标量乘kG,随机数w与公钥PA的标量乘wPA,然后相加得到一椭圆曲线点Q;4)计算e与点Q的坐标x1模n加得到一r值,5)代入私钥dA、k、w、r,得到签名结果s。使用本发明提出的新方法能够更有效、全面抵抗对SM2签名算法的格攻击。
-
公开(公告)号:CN108449171A
公开(公告)日:2018-08-24
申请号:CN201810135064.0
申请日:2018-02-09
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种轻量级杂凑密码摘要生成方法,其步骤包括:1)将输入消息M划分为多个64比特的消息块;设置一96比特状态参数Sj并将其初始化为全零96比特串;2)依次处理每一消息块;对于其中每一消息块mj,将mj异或到Sj的高位64比特上,异或之后的Sj作为内部置换IP的输入,其中,0≤j≤i,内部置换IP采用18轮Feistel结构;该内部置换IP的输出为更新后的Sj;3)将处理完最后一mi得到的状态Sj的高16比特作为该消息M的摘要。本发明在一个时钟周期实现,提高嵌入式处理器芯片的运行效率。
-
公开(公告)号:CN104113543B
公开(公告)日:2017-03-15
申请号:CN201410344852.2
申请日:2014-07-18
Applicant: 中国科学院软件研究所
Abstract: 本发明提供了一种基于分组密码的消息鉴别方法。本方法为:1)消息发送者S和消息接收者R共同确定一安全强度参数d,共享密钥K0,K1,…Kd,并约定分组密码算法E、矩阵AW×d、矩阵Bd×L和d个互不相同的n比特常数Cstj;2)S和R分别计算Rj=E(K0,Cstj);然后将矩阵A与向量[R1,R2,…,Rd]T相乘,得到向量[X1,X2,..,Xw]T;3)S对消息M填充后分为L块长为n比特的数据块;4)S计算E(K0,Mi⊕Xi)=Zi;将矩阵B与向量[Z1,Z2,…,ZL]T相乘得到向量[S1,S2,…,Sd]T;然后分别使用密钥K1,K2,…,Kd结合算法E对向量[S1,S2,…,Sd]进行d轮分组加密;并将d轮计算结果的和作为该消息M的标签T;5)S将(M,T)发送给R;R计算该消息M的标签T’;如果T=T’,则接受该消息M。本方法能够保护数据的完整性及起源认证。
-
公开(公告)号:CN102136904A
公开(公告)日:2011-07-27
申请号:CN201110078687.7
申请日:2011-03-30
Applicant: 中国科学院软件研究所
Abstract: 本发明提供了一种基于分组密码的消息鉴别方法,步骤包括:1)通信双方约定分组密码E和密钥K;2)发送方将消息M分块,得到M1,M2,…,ML-1,ML;3)发送方选择辅助量I,以n比特的常数为初始向量,以CBC-MAC方式处理I,得到秘密值X;4)发送方以X为初始向量,以CBC-MAC方式处理M1M2…ML-1构成的比特串,得到值Y;5)对Y进行循环移位操作,得到值Z;6)发送方使用分组密码E,以K为密钥,Z为明文进行加密,得密文T,将I,M,T发送给接收方;7)接收方重复操作步骤2)至6)得密文T’;8)验证是否T’=T,是则接受;否则拒绝。本方法能够在保证安全认证消息的前提下,进一步有效利用通信中的相关参数,保护数据的完整性,提高通信的效率。
-
-
-
-
-
-
-
-