RC4-128比AES-128位安全吗?

时间:2017-01-28 11:10:22

标签: c++ windows security encryption cryptography

我有一个客户端 - 服务器系统。客户端和服务器应用程序在Windows中编程。我使用Windows Crypto API来加密客户端和服务器之间的通信。我选择的加密数据详情如下:

提供者:Microsoft Enhanced Cryptographic Provider v1.0

提供商类型:PROV_RSA_FULL - 交换密钥:RSA

算法:RC4 stream encryption - 128 bit

我问我选择加密安全吗?他们有多安全?您能将我的规格与AES 128 bit进行比较吗?

2 个答案:

答案 0 :(得分:2)

AES-128被认为比RC4更安全。 RC4是一种旧的流密码,被认为是破碎的。即:可以获得关于密钥流的信息,因此可以获得明文信息。

这就是说:RSA和AES加密本身都不足以创建安全的传输协议。您还需要安全地建立密钥,至少对其中一个参与者进行身份验证(一个主题全部在其上),验证您的消息,避免重放和反转攻击,避免计时攻击,确保您不会泄漏太多信息密文长度...

这就是为什么你通常会被告知你应该使用(配置良好的)TLS而不是发明自己的TLS。运输安全不是你可以在过山车后面创造的。

答案 1 :(得分:1)

在加密中,密码的安全性在很大程度上取决于您使用的加密 - 解密密钥的长度。使用AES-256(256位密钥)加密16位数据比使用AES加密16位数据安全得多-128(128位密钥)。

首先,请注意AES和RC4是两种不同的密码。 AES是块密码,而RC4是流密码。您可以使用分组密码来创建流密码。两种密码都是两种不同的用法。您必须单独比较它们并确定哪一个更适合您。

RC4的受欢迎程度与其简单性和速度有关。 AES的速度并不像RC4那么快,但是沿着AES_NI的AES硬件实现,执行一轮AES的新指令,使得速度非常快!!

AES安全性对每个人来说都很明显,但RC4有一些缺点。 2005年,Andreas Klein对RC4进行了分析。 Erik Tews,[Ralf-Philipp Weinmann] [2]和Andrei Pychkine在一分钟内创建了一个破解104位RC4的工具。

我建议您在以下情况下使用AES加密:

  1. 你需要强大的安全性!!!

  2. 您的处理器有AES_NI指令。

    [2]:Erik Tews,Ralf-Philipp Weinmann,Andrei Pyshkin。在一分钟内打破104位WEP。