首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >SM 算法 >SM 算法的加密强度如何?

SM 算法的加密强度如何?

词条归属:SM 算法

1. SM2 加密强度

SM2 采用 256 位椭圆曲线参数,基于椭圆曲线离散对数问题(ECDLP)的数学困难性,其安全强度等效于 RSA 3072 位,远高于 RSA 2048 位。在相同的 128 位安全级别下,SM2 的密钥长度仅为 RSA 的约 1/12,签名速度和验证速度均显著优于 RSA。

2. SM3 加密强度

SM3 输出 256 位哈希值,抗碰撞性设计对标并优于 SHA-256。SM3 的压缩函数融入了更复杂的非线性变换,针对差分攻击、长度扩展攻击等进行了专项优化。目前全球密码学界尚未公开 SM3 的有效攻击方法。

3. SM4 加密强度

SM4 密钥长度 128 位,安全强度与 AES-128 相当。SM4 采用 32 轮非线性迭代的 Feistel 结构,可有效抵抗线性密码分析和差分密码分析。SM4 不支持 192 位和 256 位密钥长度,在密钥长度维度上安全性弱于 AES-256,但在 128 位安全级别下与 AES-128 等效。

4. SM9 加密强度

SM9 基于 256 位椭圆曲线上的双线性对构造,安全强度同样达到 128 位级别,等效于 RSA 3072 位。由于双线性对运算的计算开销较高,SM9 的计算效率低于 SM2,但在无需证书的大规模用户场景下具有显著的运维优势。

相关文章
sm4算法加密解密
SM4的轮函数将输入部分看做了4个32bit长度的数据,每轮的后3个部分都向左移动32bit的数据长度,这三组数据异或后进入非线性部分τ和线性部分L,运算后的结果与第一组数据异或置于最右面。如此循环往复32轮,也就是数据一共左移了8个周期,将其中的混乱因素不断扩散至每个bit位中
全栈程序员站长
2022-11-08
4.8K0
sm2和sm4加密算法浅析
简介:SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 ,SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
全栈程序员站长
2022-11-08
6.5K0
SM4 加密算法_des加密算法流程
SM4是一种分组密码算法,其分组长度为128位(即16字节,4字),密钥长度也为128位(即16字节,4字)。其加解密过程采用了32轮迭代机制(与DES、AES类似),每一轮需要一个轮密钥(与DES、AES类似)。 加密过程分为两步,由32次轮迭代和1次反序变换组成。 SM4的解密过程与加密过程完全相同,也包括32轮迭代和一次反序变换。只是在轮迭代的时候,需要将轮密钥逆序使用。
全栈程序员站长
2022-11-08
3.4K0
国密sm4加密算法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022-11-11
1.1K0
java+sm4+加密算法_SM4加密算法实现Java和C#相互加密解密
近期由于项目需要使用SM4对数据进行加密,然后传给Java后台,Java后台使用的也是SM4的加密算法但是就是解密不正确,经过一步步调试发现Java中好多数据类型与C#的相同的数据类型是存在不同的比如:byte在Java中范围是-127~128,而C#中的范围是0~255,这就导致使用C#的加密的明文产生的密文到Java中解密不正确。再一次偶尔的上网中看到了这篇文章 https://www.cnblogs.com/wyongbo/p/jnaTest.html,个人做了个例子果然可以,哎哎哎发现了新大陆,哈哈哈哈^_^,然后就按照这个思路,既然C#和Java之间不能相互加密解密,那就让他们使用同一个语言进行加密解密,就是加密和解密都是用C#就可以完美的解决了。
全栈程序员站长
2022-11-10
1.6K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券