当前位置:   article > 正文

ZUC、SM2、SM3、SM4、SM9对比_sm3密码杂凑算法的杂凑值长度是128比特

sm3密码杂凑算法的杂凑值长度是128比特

ZUC

SM2

SM3

SM4

SM9

用途

用于加密手机终端与基站之间的传输的语音和数据

属于同一类数学结构

ECDSA、SM9、ECDH

杂凑算法的字长

32比特

迭代结构

非平衡Fesitel网络结构

成为密码行业标准

2016年

杂凑值的长度

256比特

算法轮函数中的T置换,包括的运算有

非线性变换、S盒运算、线性变换

成为国际标准

2017年

(初始值长度和杂凑值长度相同)

256比特

轮函数包括的运算

异或、非线性变换、线性变换

SM9密钥交换协议的辅助函数;

SM9数字签名算法的辅助函数包括

杂凑函数、密钥派生函数、随机数发生器;

杂凑函数、随机数发生器;

密钥长度

ZUC-128算法:128比特

使用相同的数学难

ECDSA、SM9

消息分组长度

512比特

密钥和明文长度分别是多少比特

128、128

SM9密码算法系统参数

私钥生成函数识别符

题(椭圆曲线离散对数)

初始向量

ZUC-128算法:128比特

推荐的密钥长度为

256比特

链接变量长度

256比特

SM4算法中解密轮密钥是加密轮密钥的逆序

无穷远点的字节串表示形式是

单一零字节表示形式

8个消息字

SM4算法采用的8比特S盒与AES算法的S盒满足

仿射等价关系

选用椭圆曲线的嵌入次数

嵌入次数越大安全性越高

主算法一次输出的密钥流长度为

ZUC-128算法:32比特

基域选择Fp-256时,SM2算法的数字签名的私钥长度为

256

压缩函数一共

64轮

整体结构

Source-Heavy型广义Feistel结构

椭圆曲线双线性对

R-ate对

初始化轮数

32

基域选择Fp-256时,SM2算法的数字签名的公钥长度为

512

压缩函数的输入

768比特

非线性迭代结构

32轮

数字签名算法的辅助函数

SM3

初始化过程

迭代32轮;

基域选择Fp-256时,SM2公钥加密算法的私钥长度为

256

输入的最大消息长度不超过

2^64比特

以32比特字为单位进行加密运算

数字签名的生成会用到

主公钥

非线性函数的输出会参与LFSR的反馈运算

成为国家标准

2016年

不包含

身份认证

成为国家标准

2016年

对于SM4算法的S盒,每一个非零的输入差分,对应127个可能的输出差分

主公钥

由KGC通过主私钥结合系统参数产生

为国家密码行业标准

2012年

如果明文长度是128比特,那么经过SM2加密后的密文长度是

896

成为行业标准

2012年

SM4分组密码的解密算法与加密算法结构相同,只是解密轮密钥是加密轮密钥的逆序。

主私钥

由KGC通过随机数发生器产生

SM4算法的S盒为固定的8比特输入8比特输出的置换

成为3GPP LTE标准(3GPP LTE算法标准的3个核心算法为:ZUC、AES、SNOW 3G)

2011年

基本参数

域的规模,基点的阶,基点

成为国际标准

2018年

SM4加密算法采用 32 轮非线性迭代结构。

用户私钥

由KGC通过主私钥结合用户标识产生

SM4密钥扩展算法采用 32 轮非线性迭代结构。

使用到的运算包括

模2^{31}-1的加法;

计算复杂度

指数级

公开发布

2010年

SM4加密算法与密钥扩展算法中的轮函数基本相同,只将线性变换进行了修改。

用户公钥

根据用户标识唯一确定

模2^{32}的加法;

左循环移位

非线性函数F部分使用的两个线性变换 L1,L2采用左循环移位、比特串异或运算运算设计,降低了实现代价

非线性函数F部分使用的非线性运算

S-盒变换;

数学结构

交换群

初始值IV

256比特

SM4加密算法的轮函数是可逆的。

SM9密码算法安全性的重要基础

双线性逆、判定性双线性逆、τ-双线性逆、τ-Gap-双线性逆

模2^{32}的加法

不同于DES算法,SM4算法的密钥是128位,其中密钥有效位也是128位。

非线性函数F部分使用S盒

采用8比特S盒;

用途

可用于数字签名、密钥交换、公钥加密

用途

数字签名和验证、消息鉴别码的生成与验证、随机数的生成、口令保护、数字签名、数字证书、密钥派生

SM4算法的分组长度是128位。

涉及的数据类型

比特串、字节串、有限域元素、椭圆曲线上的点

使用4个S盒

SM4算法的线性变换L存在固定点。

密钥装载时LFSR中需要装入

种子密钥;

如果SM2的密文长度是2048比特,那么相应明文长度是

1280比特

攻击方法

生日攻击、暴力破解攻击

SM4算法的线性变换L可逆。

辅助函数

SM3、SM4

初始向量;

S盒变换、线性变换L、轮密钥异或是SM4算法轮函数的组成模块

16个15比特常数

能有效抵抗的攻击有

碰撞攻击、原像攻击

当SM4算法采用ECB工作模式时,可以并行处理多组消息分组

非线性函数F部分两个记忆单元的长度均为31比特;

安全特性:算法具备单向性、密文不可区分性、密文具有不可延展性;

P置换是线性运算;

SM4算法的轮密钥由加密密钥生成,共有32个轮密钥

SM9是一种基于标识、基于椭圆曲线双线性对的公钥密码算法;

密钥载入时需要使用16个15比特长的常数;

SM2算法中的数字签名算法已经进入ISO国际标准;

一共有2个置换函数;

SM4是我国提出的商用密码算法,SM4算法进行密钥扩展时的迭代次数是32。

在SM9数字签名的生成和验证过程之前,杂凑函数对待签名消息和待验证消息都要压缩;

非线性函数F部分共使用4个8比特S-盒;

SM2算法中的密钥交换算法支持2方密钥交换;

SM3密码杂凑算法可以抵抗生日攻击;

SM4是我国提出的商用密码算法,SM4算法进行加解密时的迭代次数是32。

SM9密钥封装机制封装的秘密密钥是根据接受者的用户标识生成的;

密钥载入时两个记忆单元的值设置为全0比特串;

基域选择256比特素域时,SM2算法的数字签名的长度为512比特;

轮函数每次更新2个字;

SM4算法的轮密钥由加密密钥生成,每个轮密钥为32比特字

主要内容包括:数字签名算法、密钥交换协议、密钥封装机制、公钥加密算法;

非线性函数F采用模2^{32}的加法、比特级异或、左循环移位运算;

数字签名的签名值包含2部分;

前16轮使用全异或的布尔函数;

SM4密钥扩展算法中首先将加密密钥与系统参数异或

SM9密码算法KGC是负责选择系统参数、生成主密钥、生成用户私钥的可信机构;

非线性函数F部分包含2个32比特的记忆单元;

SM2公钥加密算法的密文值包含3部分;

SM3密码杂凑算法的消息填充方式和SHA-256基本相同;

SM4算法的非线性变换由4个并行的S盒构成

SM9密码算法椭圆曲线非无穷远点的字节串表示形式有压缩表示形式、未压缩表示形式、混合表示形式;

非线性函数F的设计采用了4个8×8比特的S盒;

公钥包含1个椭圆曲线上的点;

压缩函数一共有2种不同的布尔函数;

SM4加密轮函数中的线性变换L的输入为32比特

SM9数字签名、SM9密钥交换、SM9密钥封装、SM9公钥加密算法需要杂凑函数作为辅助函数;

驱动部分的设计使用了模2^{31}-1的环上的LFSR;

SM2算法中的数字签名算法的签名函数包含1次点乘运算;

最少填充65比特;

在SM4密钥扩展算法中,首先需要将主密钥与128位系统参数异或;

SM9数字签名、SM9密钥交换、SM9密钥封装、SM9公钥加密算法需要随机数发生器作为辅助函数;

LFSR部分采用线性移位寄存器产生算法的源序列;

SM2算法中的数字签名的签名运算最耗时的是点乘运算;

最多填充576比特;

SM4加密算法的轮密钥由加密密钥通过密钥扩展算法生成;

SM9密钥交换、SM9密钥封装、SM9公钥加密算法需要密钥派生函数作为辅助函数;

LFSR部分产生二元源序列的周期约为2^{496};

可以抵抗的攻击包括唯密文攻击,选择明文攻击,选择密文攻击,密钥恢复攻击;

填充后消息的最短长度是512比特;

SM4解密算法的轮密钥也由主密钥通过密钥扩展算法生成,只是按逆序使用;

SM9数字签名、SM9密钥交换、SM9密钥封装算法不需要消息鉴别码函数作为辅助函数;

LFSR部分由16个31比特的字单元变量构成;

SM2算法涉及到的数据格式包括椭圆曲线点,有限域元素,比特串,字符串;

算法字的存储采用大端方式;

采用了正形置换设计思想

SM9数字签名、SM9密钥交换、SM9密钥封装、算法不需要分组密码算法作为辅助函数;

移位寄存器总长度为496比特;

SM2公钥加密算法的加密函数涉及到的运算有随机数生成、杂凑值计算、椭圆曲线点乘、KDF;

P0和P1置换中有2个异或操作;

SM4加密算法的线性变换L存在4个固定点

比特重组部分从寄存器单元抽取128比特供非线性函数和密钥导出函数使用;

SM2公钥加密算法的密文包含的元素有椭圆曲线点、杂凑值、比特串;

布尔函数的输入有3个消

SM4算法中采用了下述异或运算、循环移位运算基本运算

SM2标准中规定采用256比特的椭圆曲线域参数

息字;

SM4算法轮函数中的合成置换T由非线性变换、线性变换复合而成

密钥流产生阶段每一拍产生32比特长的密钥流;

链接变量长度一共8个消息字;

SM4分组密码算法可以用于数据保密传输、信息加密存储、消息鉴别码

初始化过程中非线性函数F的输出需要右移一位参与到LFSR的反馈运算中;

消息扩展过程一共生成132个消息字;

评估SM4算法的安全性,必须考虑差分分析、线性分析、不可能差分分析、积分分析对分组密码算法常用的分析方法

比特重组BR层主要使用了软件实现友好的字符串连接操作;

压缩函数中与当前内部状态进行计算时使用的操作是异或;

将消息分为固定长度的数据块来逐块处理的

非线性函数F部分使用的两个线性变换 L1,L2的设计与SM4算法线性扩散层的设计思想相同/类似;

P置换中有1比特输入差分,输出差分至少有3比特;

SM4的解密和加密使用相同的算法, 只是将轮密钥的使用次序反过来

非线性函数F部分使用的两个线性变换 L1,L2的设计采用了左循环移位运算;

SM3密码杂凑算法和SHA-256杂凑值的长度相同,压缩函数的轮数相同;

非线性函数F部分输入、输出长度分别96, 32;

循环移位、P置换起到扩散的作用;

模加、布尔函数起到混淆的作用

序列密码算法有ZUC、RC4、A5、RC4 、SEAL、SNOW2.0

多变量公钥密码的安全性基础是基于求解有限域上随机生成的多变量非线性多项式方程组的困难性;

SHA-1生成的杂凑值的长度为160比特;

AES 是一个数据块长度和密钥长度可分别为 128 比特、

192 比特或 256比特的分组密码算法

SM2密钥交换协议、SM9密钥交换协议没有被ISO/IEC通过为国际标准

RSA密码算法的安全性是基于大整数因子分解的困难性;

SHA-1的附加填充位操作,填充一个1和若干个0,长度模512与448同余,填充后的消息长度为512比特的整数倍;

128-10,192-12,256-14

RSA公钥密码体制(OAEP填充模式)和SM2公钥密码体制两次加密相同的明文,密文不同;

SHA-256的输入消息以512比特bit的分组为单位处理;

在AES算法中每一轮的轮密钥的长度为128位

SHA-256的输出为256bit的杂凑值;

SM4密钥长度固定,而AES密钥长度可变

SHA-512处理消息时,每个分组有80轮运算;

SM4的线性变换是面向比特的运算,而 AES的所有运算是面向字节的

MD5与SM3的杂凑值长度分别为128比特与256比特;

SM4的加密过程和解密过程一致,而AES的加密过程和解密过程不一致

MD5算法主要包括的步骤有:附加填充位、初始化链接变量、分组处理、执行步函数;

SM4是非平衡广义 Fesitel结构,而AES是SP结构

MD5算法输出报文杂凑值的长度为128;

DES是一个分组算法,数据分组长度为64比特位

MD5算法过程:附加信息填充位、初始化链接变量、迭代压缩、执行步函数;

AES是一个分组密码算法,数据分组长度为128比特位

将杂凑函数分为两大类,分别是弱碰撞自由的杂凑函数、强碰撞自由的杂凑函数;

DES和AES均为对称密钥加密算法

SHA-3是基于Sponge结构设计的,不限定输入消息的长度,输出消息的长度根据需要可变;

ZUC算法非线性函数F部分使用的S-盒其中之一基于有限域逆函数构造,与AES算法的S-盒类似。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/489172
推荐阅读
相关标签
  

闽ICP备14008679号