问题标签 [rc4-cipher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2260 浏览

encryption - UTF-8 ASP经典中的RC4加解密

有没有办法让它在 ASP 页面中工作?它在 charset windows-1253 上运行良好,但现在我必须将我的网站转换为 UTF-8,我唯一的问题是加密和解密。我已经加密了会员注册密码,现在使用 UTF-8,解密后密码如下所示:2��8��6

请我需要一些帮助(对不起我的英语)。这是 RC4 代码:

0 投票
1 回答
968 浏览

java - 通过 UDP 发送 byte[] 导致 byte[] 值改变

我正在尝试使用 UDP 进行服务器客户端通信,它涉及使用 RC4 相互发送加密文本。它是这样的:

  1. 启动主机。

  2. 启动客户端。

  3. 客户端使用 RC4 发送加密文本

  4. 主机接收加密文本并使用 RC4 解密

我的 RC4 取自在线资源,它似乎可以正常工作。如果我要在客户端同时进行加密和解密(出于测试目的),它就可以工作。但是在我将加密文本发送给主机后,问题就出现了。当我的主机解密消息时,输出不是预期的输出。

这是我在客户端上的代码示例:

从上面,我假设我的 RC4 正在工作,因为我似乎能够正确加密和解​​密。所以现在我将加密的文本发送给我的主机

在我的主机端,我将收到加密的文本

这种情况只发生了一半,而且我看到一种模式,只有当我的加密文本包含?作为特殊字符时才会出现这种情况。所以我猜测当我将 char 转换为字符串,然后转换为字节并通过 UDP 发送时,出现了问题。

0 投票
1 回答
2636 浏览

php - RC4逐行解密

我必须使用 php 脚本转换一些最终可能达到 250 mb 的文件。它们使用 rc4 加密方式进行加密,密钥和描述包含在文件的前 266 个字节中。我有一个正在工作的加密功能,我必须保持原样。这里是:

我的文件读取/解密代码在这里:

以前,代码接受一些小文件,并通过读取其中的空洞内容并将其传递给 rc4 函数来转换它们......现在代码需要处理一些更大的文件,我必须逐行执行线。

生成的文件已损坏...是因为 rc4 加密需要解密“字符串”孔吗?我做错了什么吗?

谢谢!

0 投票
0 回答
113 浏览

java - Android应用播放文件的解密算法

我有一段用于在 Adob​​e Air/Flex 应用程序中解密音频文件的代码

请告诉我如何在 Java 中为 Android 应用程序解密这个算法。你能写代码的例子吗?

0 投票
1 回答
1149 浏览

encryption - 如何攻击 RC4

朋友们,我正在做一个项目,我需要为 RC4 算法破解尽可能多的密钥。在阅读他的问题之前,我会要求您通过 RC4 算法。

我给出了 50 个不同的文件(A00.data、A01.data...A49.data),每个文件包含数百万行。文件的每条记录包含 5 个元组

  1. 初始向量[0]
  2. 初始向量[1]
  3. 初始向量[2]
  4. PRGA算法的第一个字节

每个密钥包含 8 个字节(3 个字节的初始向量给定 + 5 个字节的密钥)

如何应用任何特定攻击(即 RC4 )并从每个文件的数百万行中找到密钥(5 个秘密字节)?

0 投票
1 回答
744 浏览

php - RC4 Drop-N PHP 实现

我已经在 PHP 中实现了 RC4 密码(它看起来几乎与这个http://pear.php.net/package/Crypt_RC42相同)。

但是,我想介绍(http://en.wikipedia.org/wiki/RC4#Fluhrer.2C_Mantin_and_Shamir_attack)中提到的“Drop-N”方法。

有没有一种基于我上面使用的类的简单方法来实现它?

0 投票
1 回答
427 浏览

c++ - 自己的 RC4 算法给出错误的输出

我编写了以下 RC4 算法的实现,其中keyOpenSSL库中给出的 RC4_KEY 结构。m_key是一个QByteArray包含设置键的。对于这个测试,我一直使用“teste”作为关键。如您所见,我还有两个QByteArrays,其中一个保存原始(输入)数据,另一个保存加密(输出)数据。

出于测试目的,我使用具有以下数据(十六进制)的文本文件:

使用在线工具或 OpenSSL 函数,我得到以下输出(键:“teste”):

但是,使用我自己的实现,我得到以下信息:

我现在已经花了很长时间查看各种伪代码或实现,但我仍然无法弄清楚我哪里出错了。

0 投票
1 回答
150 浏览

ssl - 如何在 HTTPS 的应用层解密数据?

我正在用 Lisp 编写一个 Web 服务器来处理 HTTPS 请求。我遵循TLS 1.2并且已经完成了握手过程。我选择的密码套件是 TLS_RSA_WITH_RC4_128_SHA。我已经计算了client_write_MAC_secret、server_write_MAC_secret、client_write_key、server_write_key。这些密钥似乎是正确的,因为我可以从浏览器解密“完成”消息并验证里面的数据。我还验证了记录层的 HMAC。然后我从服务器发送“更改密码规范”和“完成”。到目前为止,一切似乎都运行良好。

然后我从浏览器收到消息,以#(23 3 3 1 61 ...). 23表示它是一个应用程序数据。#(3 3)表示 TLS 1.2。#(1 61)表示长度是 256+61=317 这是正确的,因为剩下的数据实际上是 317 字节长。我的问题来了:我使用“client_write_key”使用 RC4 解密了这 317 个字节,然后我得到了#(148 104 81 182 67 111 28 201 202 50 207 57 126 209 19 ...)无法转换为文本的数据。我想我应该得到类似的东西GET / HTTP/1.1。我怎么了?

谢谢。

0 投票
1 回答
4700 浏览

java - 整数的加密 RC4 算法

基本上我可以成功实现s 的RC4算法String,它需要一个 Byte[]数组key

如果我将 clearText 作为 String 说 "24" 那么密文范围非常高,比如 > 2000 。但是对于我的算法,我需要将其限制在较小的范围内~200。

那么我可以为int's 提供更好的选择吗?

这就是我对 Strings 所做的事情:

加密模式:

检查值:

-可以对这些类型执行任何技巧以获得较低的int值吗?

解密

SSCCE

0 投票
0 回答
903 浏览

c++ - 在 C++ 中对 WEP 的 FMS 攻击

我正在尝试对 WEP实施FMS 攻击。我知道攻击利用 RC4 sbox 的部分不改变的可能性来创建“已知”的 sbox 状态来对密钥进行逆向工程。对于许多样本,正确的密钥八位字节应该比噪声更频繁地出现。

应该添加到频率计数的值是:

在此处输入图像描述

哪里(我认为;符号定义不正确)

  • B 从 0 开始
  • P.out 是输出的密钥流字节
  • S 是 Sbox
  • j 是 RC4 密钥调度算法中使用的“指针”

在我的代码中,我生成了 600 万个数据包:一个常量根密钥和常量明文来模拟常量头,然后用 加密RC4(IV + root_key).encrypt(plaintext),而不丢弃前 256 个八位字节)。这些(IV, encrypted_data)对通过get_key函数运行:

我得到的密钥完全不正确。我觉得这个错误可能是一次性错误或类似的愚蠢的东西,但我已经让两个人看这个,没有一个人设法弄清楚什么是错误的。

有什么明显的错误吗?如果不是,那么什么是不那么明显的错误?