问题标签 [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.
encryption - UTF-8 ASP经典中的RC4加解密
有没有办法让它在 ASP 页面中工作?它在 charset windows-1253 上运行良好,但现在我必须将我的网站转换为 UTF-8,我唯一的问题是加密和解密。我已经加密了会员注册密码,现在使用 UTF-8,解密后密码如下所示:2��8��6
请我需要一些帮助(对不起我的英语)。这是 RC4 代码:
java - 通过 UDP 发送 byte[] 导致 byte[] 值改变
我正在尝试使用 UDP 进行服务器客户端通信,它涉及使用 RC4 相互发送加密文本。它是这样的:
启动主机。
启动客户端。
客户端使用 RC4 发送加密文本
主机接收加密文本并使用 RC4 解密
我的 RC4 取自在线资源,它似乎可以正常工作。如果我要在客户端同时进行加密和解密(出于测试目的),它就可以工作。但是在我将加密文本发送给主机后,问题就出现了。当我的主机解密消息时,输出不是预期的输出。
这是我在客户端上的代码示例:
从上面,我假设我的 RC4 正在工作,因为我似乎能够正确加密和解密。所以现在我将加密的文本发送给我的主机
在我的主机端,我将收到加密的文本
这种情况只发生了一半,而且我看到一种模式,只有当我的加密文本包含?
作为特殊字符时才会出现这种情况。所以我猜测当我将 char 转换为字符串,然后转换为字节并通过 UDP 发送时,出现了问题。
php - RC4逐行解密
我必须使用 php 脚本转换一些最终可能达到 250 mb 的文件。它们使用 rc4 加密方式进行加密,密钥和描述包含在文件的前 266 个字节中。我有一个正在工作的加密功能,我必须保持原样。这里是:
我的文件读取/解密代码在这里:
以前,代码接受一些小文件,并通过读取其中的空洞内容并将其传递给 rc4 函数来转换它们......现在代码需要处理一些更大的文件,我必须逐行执行线。
生成的文件已损坏...是因为 rc4 加密需要解密“字符串”孔吗?我做错了什么吗?
谢谢!
java - Android应用播放文件的解密算法
我有一段用于在 Adobe Air/Flex 应用程序中解密音频文件的代码
请告诉我如何在 Java 中为 Android 应用程序解密这个算法。你能写代码的例子吗?
encryption - 如何攻击 RC4
朋友们,我正在做一个项目,我需要为 RC4 算法破解尽可能多的密钥。在阅读他的问题之前,我会要求您通过 RC4 算法。
我给出了 50 个不同的文件(A00.data、A01.data...A49.data),每个文件包含数百万行。文件的每条记录包含 5 个元组
- 初始向量[0]
- 初始向量[1]
- 初始向量[2]
- PRGA算法的第一个字节
每个密钥包含 8 个字节(3 个字节的初始向量给定 + 5 个字节的密钥)
如何应用任何特定攻击(即 RC4 )并从每个文件的数百万行中找到密钥(5 个秘密字节)?
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”方法。
有没有一种基于我上面使用的类的简单方法来实现它?
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
。我怎么了?
谢谢。
java - 整数的加密 RC4 算法
基本上我可以成功实现s 的RC4
算法String
,它需要一个 Byte[]
数组key
:
如果我将 clearText 作为 String 说 "24" 那么密文范围非常高,比如 > 2000 。但是对于我的算法,我需要将其限制在较小的范围内~200。
那么我可以为int
's 提供更好的选择吗?
这就是我对 Strings 所做的事情:
加密模式:
检查值:
-可以对这些类型执行任何技巧以获得较低的int值吗?
解密:
SSCCE:
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
函数运行:
我得到的密钥完全不正确。我觉得这个错误可能是一次性错误或类似的愚蠢的东西,但我已经让两个人看这个,没有一个人设法弄清楚什么是错误的。
有什么明显的错误吗?如果不是,那么什么是不那么明显的错误?