文章图片
文章图片
加密算法的类型 + 每种算法都有优缺点
不同类型的加密算法旨在以一种只能使用正确密钥提取原始数据的方式来混淆数据 。 但是 , 有多种不同的方法可以实现这一点 。
加密算法的两大类是对称加密和非对称加密 。 这些加密方法中的每一种都有其优点和缺点 。
对称加密对称加密算法使用相同的密钥进行加密和解密 。 这意味着加密消息的发送者和接收者需要在开始发送加密数据之前通过安全通道共享密钥的副本 。 对称加密算法有两种不同的类型:块密码和流密码 。
分组密码分组密码以固定大小的块加密数据 。 例如 , 高级加密标准 (AES) 使用 128 位
如果明文比块长度短 , 则在加密之前将其填充到所需的长度 。 在另一端 , 消息的接收者将对其进行解密 , 然后删除填充以恢复原始消息 。
如果明文长于块长度 , 则将其分成多个不同
每种操作模式都有其优点和缺点 。 例如 , 电子密码本 (ECB) 模式是最简单的操作模式 。 使用 ECB , 每个块都是完全独立加密的 。
企鹅
这样做的缺点是具有相同明文
其他操作模式通过将每个块的加密相互关联来消除这个问题 。 有些还提供附加功能 , 例如伽罗瓦计数器模式 (GCM) , 它会生成消息验证码 (MAC) , 以验证数据在传输过程中没有被修改 。
示例:高级加密标准 (AES)最著名的分组密码是高级加密标准 (AES) 。 该加密算法被选为美国国家标准与技术研究院 (NIST) 举办的竞赛的结果 , 以取代老化的数据加密标准 (DES) 。
AES 是一组三种不同的算法 , 旨在使用 128、192 或 256 位加密密钥 。 这些算法分为密钥调度和加密算法 。
三个版本的 AES 加密算法基本相同 。 它分为轮次 , 轮次由一组数学运算组成 。 不同 AES 版本之间的主要区别在于使用的轮数:10、12 和 14 。
每一轮 AES 使用从原始密钥派生的唯一轮密钥 。 派生这些轮密钥是密钥调度的工作每个 AES 版本的密钥调度是不同的 , 因为它们采用不同长度的密钥并产生不同数量的 128 位轮密钥 。
流密码另一种对称加密算法是流密码 。 与分组密码不同 , 流密码每次加密一个明文 。
流密码
流密码是基于唯一完全牢不可破的加密算法设计的:一次性密码 (OTP) 。 OTP 采用与
使用 OTP 解密与加密相同 。 这是因为任何与自身异或的东西都是零 , 而任何与零异或的东西都是它自己 。 使用明文 P、密文 C 和密钥 K
C XOR K = (C XOR K) XOR K = C XOR (K XOR K) = C XOR 0 = C
尽管 OTP 具有很高的安全性 , 但它很少使用 , 因为安全地共享其工作所需的大量关键材料是不切实际的 。 流密码使用与 OTP 相同的想法 , 但密钥的安全性稍差 。
- 抖音|抖音闭店!互联网算法下必须去除的隐患,无货源不应该存在
- 三星|一文看尽三星2022新品发布会:后科技时代的思考
- 算法|一周刷爆LeetCode,关于数据结构与算法,看这篇刷题笔记就够了
- 旷视发布“机器人”新品,AI算法已进入大规模仓储物流环节
- 电子商务|一文看懂物联网、云计算、大数据、人工智能、5G、和区块链
- 算法|开启120HZ,你的4K电视还是4K吗?
- 算法|Web前端:要避免的常见 AngularJS 错误
- 一图读懂 | 杨浦区全力抗疫情助企业促发展的若干政策措施
- 供应链管理|“我朋友年薪百万,在盒马捞鱼”,一文看懂新零售的「哆啦A梦」
- 图解|一图读懂《广东省工业企业加强疫情防控工作指引(第二版)》