国际算法DES,国密算法SM4

本文介绍了DES和3DES算法的区别,3DES是DES的加强版,通过多次DES运算提高安全性。同时,讲解了两种加密模式ECB和CBC的工作原理,ECB模式简单直接,CBC模式引入初始向量增强安全性。最后提到了国密SM4算法,其在用法上类似DES,但密钥和数据长度均为16字节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因工作需要接触到了算法。开始一头雾水,经过一段时间挣扎总算是有些眉目,在此写下该文章,希望对首次接触算法的朋友带来点启发。DES算法具体实现在网上每种语言都有例子,这里只用最通俗的语言聊一聊对DES的一些理解,若有不对的地方烦请高手留言指正,以免误导他人。

1.DES与3DES 

不要理解为2种算法,其实都是DES算法,区别呢就是加密密钥长度。
DES算法:密钥长度必须为8字节,要加密的数据也得8字节,然后得到8字节的加密结果
3DES:根据密钥长度分为2Key(16字节密钥)和3Key(24字节密钥),同样是加密8字节数据,得到8字节密文。只不过是做了3次DES运算 。3DES_2Key:密钥16字节,前8字节暂叫做k1,后8字节k2,实际操作:用k1做DES加密,加密结果用k2做DES解密,解密结果再用k1做加密,得到最终密文。3DES_3Key:密钥24字节,前8字节暂叫做k1,中间8字节k2,后8字节k3,实际操作:用k1做DES加密,加密结果用k2做DES解密,解密结果再用k3做加密,得到最终密文。

2.加密模式

可以理解为加密数据超过8字节后如何处理。
如果要加密的数据长度超过8字节,比如16字节(但长度依旧是8的整数倍才可以),则有加密模式区分
 ECB模式:将数据每8字节一组,平均分配。然后对每一组数据单独加密(加密算法根据实际情况确定,可以是3DES,DES),然后得到8字节密文,最后把所有的密文串联起来得出加密结果

 CBC模式:将数据每8字节一组,平均分配。然后在最前面增加一组初始向量0x0000000000000000。前2组数据先异或,然后加密异或结果,得到8字节加密数据。然后将加密数据与后一组数据异或,然后再加密异或结果,,,以此类推,最终将每一次的加密结果串联起来得出加密结果

网上摘录:
  与ECB模式最大的不同是加入了初始向量
     定义:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米很好吃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值