在当今世界,通过网络传输机密信息需要安全性。 此外,在一系列应用中对安全性的要求也很高。
密码算法在提供数据安全以防恶意攻击方面起着主要作用。
它们消耗大量计算资源,如内存、加密时间、CPU 时间等。对称密钥的算法由于速度快而优于非对称密钥。
流密码和块密码算法是对称算法的两类。 在本文中,主要重点是区分 RC4 和 AES。
关键精华
- RC4 是一种较旧的流密码加密算法,而 AES 是一种更现代、广泛采用的分组密码加密标准。
- AES 被认为比 RC4 更安全,因为它对加密攻击和更大的密钥大小具有鲁棒性。
- 许多组织和行业已从 RC4 迁移到 AES,以增强安全性并符合当前的加密标准。
RC4 与 AES
RC4 是使用可变长度密钥的流密码,而 AES 是使用固定长度密钥的块密码。 它们被广泛用作网络浏览器、无线网络和信用卡交易。 由于其更大的密钥大小和更高效的设计,AES 提供了比 RC4 更好的安全性。
RC4 是一种流,它在数据上运行一个字节来加密该数据。
在流密码中,它是传输层安全 (TLS)/安全套接字层 (SSL) 协议、Wi-Fi 安全协议 WEP 和 IEEE 802 无线局域网标准中最常用的一种。
AES 是美国政府选择用于保护分类信息的对称分组密码。在世界范围内,AES 的实施是在硬件和软件中对敏感数据进行加密。
AES 对于政府网络安全、计算机安全和电子数据保护至关重要。
对比表
比较参数 | RC4 | AES |
---|---|---|
完整形式 | Rivest密码4 | 高级加密标准 |
密钥大小 | 256、192 和 128 位 | 128或64位 |
安保行业 | 不太安全 | 更安全 |
首次出版 | 1994 | 1998 |
设计师 | 罗恩·里维斯特 | Vincent Rijmen 和 Joan Daemen |
什么是RC4?
在密码学中,RC4 以其速度和软件漏洞的简单性而著称,已发现许多漏洞,因此不安全。
当输出密钥流的开头未被丢弃或相关,或者使用非随机密钥时,它会特别暴露。
截至 2015 年,有人猜测一些国家密码学机构在 TLS 中使用时可能具有破坏 RC4 的潜力。
IETE 的协议已发布 RFC 7465 以排除在 TLS 中使用 RC4; Microsoft 和 Mozilla 都发布了类似的建议。
RC4最致命的弱点来自关键,进度不足; 输出的第一个字节显示与密钥相关的信息。 除了简单地丢弃部分服装流的主要部分外,还可以纠正这一点。
这被称为 RC4-DropN,其中 N 是 256 的倍数,例如 1024 或 768。
与现代流密码不同,RC4 会崩溃以在密钥旁边采用可区分的随机数。
它只是意味着当一个单独的长期密钥被用来安全地加密多个流时,该协议描述了如何合并长期密钥以及一个随机数来为 RC4 构建流密钥。
什么是 AES?
AES 也以其传统名称为人所知,即 里因达尔.
Rijndael 是一个密码系列,具有不同的块和密钥大小。 对于 AES,NIST 选择了三个 Rijndael 家族成员,每个成员的块大小为 128 位,但具有三个不同的密钥长度,即 256、192 和 128 位。
美国政府采用并取代了 1977 年推出的 DES(数据加密标准)。
AES 将该算法描述为非对称密钥算法,这意味着相同的密钥用于解密和加密数据。
低 RAM 和高速要求是 AES 选择过程的标准。 AES 在从高性能计算机到 8 位智能卡的一系列硬件上表现良好。
AES 加密每字节需要 18 个时钟周期 奔腾 Pro,相当于 11 MHz 处理器的吞吐量为 200 MiB/s。
26年2002月XNUMX日,AES经美国商务部长批准成为美国联邦政府的有效标准。 它有许多独特的包装。
它是美国国家安全局批准用于绝密信息的第一个可公开访问的密码。
RC4 和 AES 之间的主要区别
- 由于RC4最初是商业机密,一些人想出办法将泄露的描述追溯到1994年,就像ARC4和ARCFOUR一样。 另一方面,AES 是公开可用的,并且不会遇到任何法律问题,可以自由使用。
- RC4 流行背后的主要原因是它可以非常快速且易于使用。 另一方面,AES 在硬件中的实施正变得越来越流行,因为它提供了优于软件实施的速度指标。
- RC4的优点是不需要更多的内存,在大数据流上实现,编码性强,易于实现。 相比之下,强大的算法、高安全性、最佳的开放式加密解决方案以及软硬件实现是 AES 的一些优势。
- 缺点方面,RC4无法提供身份验证,不能与强MAC一起使用,并且在组成新系统之前需要进行额外的分析。 相反,多轮加密要求需要在不同阶段进行大量处理,并且难以在软件上实现是AES的一些缺点。
- RC4 是一种没有离散块大小的流密码。 它使用伪随机位的密钥流,该密钥流使用异或 (XOR) 与数据组合。 同时,AES 是一种块密码,它使用固定的公式和密钥在数据的离散块上运行。
参考资料
- https://link.springer.com/article/10.1007/s10623-008-9206-6
- https://www.cs.miami.edu/home/burt/learning/Csc688.012/rijndael/rijndael_doc_V2.pdf
最后更新时间:13 年 2023 月 XNUMX 日
Sandeep Bhandari 拥有塔帕尔大学计算机工程学士学位(2006 年)。 他在技术领域拥有 20 年的经验。 他对各种技术领域都有浓厚的兴趣,包括数据库系统、计算机网络和编程。 你可以在他的网站上阅读更多关于他的信息 生物页面.