文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
安全加密算法选型
表格 7 对称与非对称算法比较
名称 | 密钥管理 | 安全性 | 速度 |
---|---|---|---|
对称算法 | 比较难,不适合互联网,一般用于内部系统 | 中 | 快好几个数量级(软件加解密速度至少快 100 倍,每秒可以加解密数 M 比特数据),适合大数据量的加解密处理 |
非对称算法 | 密钥容易管理 | 高 | 慢,适合小数据量加解密或数据签名 |
表格 8 对称加密算法(加解密密钥相同)
名称 | 英文 | 密钥长度 | 运算速度 | 安全性 | 资源消耗 |
---|---|---|---|---|---|
DES | Data Encryption Standard | 56 位 | 较快 | 低 | 中 |
3DES | Triple DES | 112 位或 168 位 | 慢 | 中 | 高 |
AES | Advanced Encryption Standar | 128、192、256 位 | 快 | 高 | 低 |
表格 9 非对称算法(加密密钥和解密密钥不同)
名称 | 英文 | 成熟度 | 安全性 | 运算速度 | 资源消耗 |
---|---|---|---|---|---|
RSA | 高 | 高 | 慢 | 高 | |
DSA | Digital Signature Algorithm | 高 | 高 | 慢 | 只能用于数字签名 |
ECC | Elliptic Curves Cryptography | 低 | 高 | 快 | 低(计算量小,存储空间占用小,带宽要求低) |
备注:非对称算法的安全性主要取决于密钥长度。
表格 10 散列算法比较
名称 | 安全性 | 速度 |
---|---|---|
SHA-1 | 高 | 慢 |
MD5 | 中 | 快 |
算法选择(从性能和安全性综合)
对称加密: AES(128 位),
非对称加密: ECC(160 位) 或 RSA(1024),
消息摘要: MD5
数字签名:DSA
轻量级:TEA、RC 系列(RC4),Blowfish (不常换密钥)
速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish
表格 11 加密算法的安全级别 (Security Level of Cryptographic Algorithms)
安全级别 (Security Level) | 工作因素 (Work Factor) | 算法 (Algorithms) |
---|---|---|
薄弱(Weak) | O(240) | DES , MD5 |
传统(Legacy) | O(264) | RC4 , SHA-1 |
基准(Baseline) | O(280) | 3DES |
标准(Standard) | O(2128) | AES-128 , SHA-256 |
较高(High) | O(2192) | AES-192 , SHA-384 |
超高(Ultra) | O(2256) | AES-256 , SHA-512 |
备注:1. 已经证实较容易破解的算法(不安全算法):MD4, MD5, SHA-0, SHA-1, DES
表格 12 非对称密钥加密算法安全性对比
攻破时间 (MIPS 年) | RSA/DSA (密钥长度) | ECC 密钥长度 | RSA/ECC 密钥长度比 |
---|---|---|---|
104 | 512 | 106 | 5:1 |
108 | 768 | 132 | 6:1 |
1011 | 1024 | 160 | 7:1 |
1020 | 2048 | 210 | 10:1 |
1078 | 21000 | 600 | 35:1 |
备注:1.MIPS 年是 1MIPS 的机器一年所能处理的数据量,如上表中的 10000MIPS 年,即表示处理速度为 10000MIPS 的 CPU 需要 1 年才能攻破。
- 表中红色表示不安全、黄色表示中等安全、绿色表示安全级别较高。
- 由上表可知,ECC 算法抗攻击能力强、计算量小、处理速度快、存储空间小、带宽要求低。使得 ECC 在无线通信安全、IC 卡数据加密等领域广泛应 用。这些特点必将使其替换 RSA 等算法,而成为通用的公钥加密算法。然而由于非对称算法本身的复杂性,使得其对大数据加解密的适用性不强,所以非对称算法 常与对称加密算法结合使用,即利用非对称算法对对称算法的密钥进行加密传输。
表格 13 AES 与 3DES 的比较
算法名称 | 算法类型 | 密钥长度 | 速度 | 解密时间 | 资源消耗 |
---|---|---|---|---|---|
AES | 对称 block 密码 | 128、192、256 位 | 高 | 1490000 亿年 | 低 |
3DES | 对称 feistel 密码 | 112 位或 168 位 | 低 | 46 亿年 | 中 |
备注:解密时间~假设机器每秒尝试 255 个密钥。
简单的加密设计:用密钥对原文做 异或,置换,代换,移位
表格 14 简单的加密设计
名称 | 数据大小(MB) | 时间(s) | 平均速度 MB/S | 评价 |
---|---|---|---|---|
DES | 256 | 10.5 | 22.5 | 低 |
3DES | 256 | 12 | 12 | 低 |
AES(256-bit) | 256 | 5 | 51.2 | 中 |
Blowfish | 256 | 3.7 | 64 | 高 |
表格 15 单钥密码算法性能比较表
名称 | 实现方式 | 运算速度 | 安 全 性 | 改进措施 | 应用场合 |
---|---|---|---|---|---|
DES | 40-56bit 密钥 | 一般 | 完全依赖密钥,易受穷举搜索法攻击 | 双重、三重 DES,AES | 适用于硬件实现 |
IDEA | 128bit 密钥 8 轮迭代 | 较慢 | 军事级,可抗差值分析和相关分析 | 加长字长为 32bit、密钥为 256bit,采用 232 模加、232+1 模乘 | 适用于 ASIC 设计 |
GOST | 256bit 密钥 32 轮迭代 | 较快 | 军事级 | 加大迭代轮数 | S 盒可随机秘 密选择,便于软件实现 |
Blowfish | 256-448bit 密钥、16 轮迭代 | 最快 | 军事级、可通过改变密钥长度调整安全性 | 适合固定密钥场合,不适合常换密钥和智能卡 | |
RC4 | 密钥长度可变 | 快 DESl0 倍 | 对差分攻击和线性攻击具有免疫能力,高度非线性 | 密钥长度放宽到 64bit | 算法简单,易于编程实现 |
RC5 | 密钥长度和迭代轮数均可变 | 速度与 参数 值选项相关 | 六轮以上时即可抗线性攻击、通过调整字长、密钥长度和迭代轮数可以在安全性和速度上取得折中 | 引入数据相倚转 | 适用于不同字长的微处理器 |
CASTl28 | 密钥长度可变、16 轮迭代 | 较快 | 可抵抗线性和差分攻击 | 增加密钥长度、形成 CAST256 | 适用于 PC 机和 UNIX 工作站 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论