对称加密算法

对称加密

一 对称加密原理

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。自1977年美国颁布DES(Data Encryption Standard)密码算法作为美国数据加密标准以来,对称密码体制迅速发展,得到了世界各国的关注和普遍应用。对称密码体制从工作方式上可以分为分组加密和序列密码两大类。

二 对称加密体制

对称密码体制分两种:

(1)流密码

对明文的单个位(或字节)进行运算,明文加密后密文基本保
和明文同样长度。常用流密码算法有RC4、SEAL等。同步流密码:发送方和接收方在传递信息时同步进行加解密操作,密文内容如果在传输过程中被篡改删除或者插入,会导致同步失效,解密失败。必须重新同步来实现解密,恢复密文。如果传输过程中一个加密位改变,则只影响该位的恢复,对后续密文不影响。但是,主动攻击者可以选择性的对密文字符进行改动,并准确知道这些改动对明文的影响。因此,同步流密码具有同步性,无错误传递性、主动性三种特性。适用于为音频或视频供版权保护。自同步流密码:与同步流密码相比,是一种有记忆变换的密码。每一个密钥与已产生的固定数量的密文位有关,密钥由已生成的密文决定。在密文传输过程中如果一个密文位发生改变,该位的变化会影响到后续有限位(如 n 位)的密文正确解密。

(2)分组密码

将明文信息划分成不同的组(或块),分别对每个组(或块)进行运算。多用于网络加密。分组长度越长,密码分析越困难,越不利于操作和运算,分组长度应权衡安全性与实用性。常用的有 DES 、 AES 等

三 对称加密组成部分

(1) 明文(plaintext):原始消息,作为算法的输入;
(2) 加密算法(encryption algorithm):对明文进行各种替换和转换;
(3)密钥(secret key):密钥也是加密算法的输入之一,算法进行的具体替换和转换取决于密钥;
(4)密文(ciphertext):已被加密算法打乱的消息输出;
(5)解密算法(decryption algorithm):本质是加密算法的反向执行,使用密文和同一个密钥作为输入产生原始明文。

四 对称加密的四种模式

1 ECB

每次加密产生独立密文分组,每组加密结果不对别组产生影响,相同明文加密产生相同密文,无初始化向量。

优点:简单易行,没有误差传递的问题

缺点:不能隐藏明文的模式,明文重复密文也会重复,对明文进行主动攻击的可能
性较高。

用途:适合加密密钥、随机数等短数据,例如安全传递 DES 密钥, ECB 是最适合的模式。

2 CBC

明⽂加密前先与前⾯的密⽂进⾏异或后再加密,因此只要选择不同的初始向量,就会产⽣不同的密⽂。

优点:加密后的密⽂上下⽂关联,即使明⽂相同密⽂也不同;密⽂内容如果被替换、删除或在⽹络传输中发⽣错误,后 续密⽂即被破坏,⽆法解密还原。

缺点:不利于计算,误差传递,如果在加密的过程中发⽣错误,错误将会被⽆限放⼤,导致加密失败,需要初始化向量

用途:可加密任意长度的数据,适用于计算产生监测数据完整性的消息的认证码mac

3 CFB

类似于⾃同步流密码,分组加密后将密⽂和明⽂进⾏移位异或狗得到输出。

优点:隐藏了明⽂的模式,分组密码转换为流模式,可产⽣密钥流,可及时加密传送⼩于分组的数据。

缺点:与CBC相似,不利于并⾏计算,误差传送,需要初始化向量。

⽤途:引错误传播⽆界,可⽤于检查发现明⽂密⽂的篡改

4 OFB

将分组密码作为同步流密码运⾏,没有错误扩散的问题。与明⽂分组进⾏异或的输⼊部分是反复加密后得到的

优点:隐藏明⽂模式;分组密码转换为流模式;⽆误差传送问题;可及时加密传送⼩于分组的数据。

缺点:不利于进⾏计算,对明⽂的主动攻击是可能的;安全性低于CFB.

⽤途:适⽤于加密冗余性较⼤的数据,⽐如语⾳,图像数据;

五 DES Tool 工具的使用

在这里插入图片描述
如上图所示,对于输入在途图中“明文”:文本框中的字符串,在“密钥1”文本框中输入一串密钥,然后点击加密按钮,DesTool会在右面“密文”文本框中显示采用Des加密算法加密后的密文。

在这里插入图片描述
如上图所示,在解密过程中,必须使用和加密时,同一把密钥否则会出现乱码,无法解密。,

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值