问题标签 [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 投票
0 回答
1893 浏览

javascript - 结合 RC4 RSA 加密/解密长消息 Javascript

注意:是的,我知道此消息中有很多代码,但您确实鼓励我们展示之前的研究以及我们一直在尝试的方式。

让我先说一下,我对这个功能的安全性不感兴趣。我想要的只是使用 RSA 加密和解密任意长的消息。通常为此,使用分组密码(例如 AES)对消息进行加密,并使用 RSA 密码对密钥进行加密。但是,我只是想找到加密/解密长消息的最简单方法,而不考虑安全性。因此,为什么我使用 RC4 代替分组密码。

现在,我可以使用以下代码正确加密:

消息和密钥已正确加密。我使用这些功能单独测试了它们。

和...

现在,这是我们的解密代码:

这段代码不能正确解密,但我知道它的部分工作。例如,我在哪里

它准确地返回密钥。所以我知道至少 RSA 解密是有效的。我不明白的是,我完全遵循了我拥有的解密功能。如下。

不完全是,我不必使用密码的哈希来获取密钥,因为我已经有了密钥。但是,我仍然不明白什么不起作用。当我们使用这个单独的函数解密我们的密文时,明文是正确的。

在此问题上的任何帮助将不胜感激。

知道我的运气,这可能只是令人讨厌的事情,就像它在错误的编码类型中一样。

0 投票
1 回答
1301 浏览

encryption - RC4 使用明文作为密钥加密自己安全吗?

基本上就是标题所说的。如果我有密码,比如说“APPLEPIE”,当我 RC4 时使用“APPLEPIE”作为密钥是否安全?当您知道密钥和明文或简短且相同时,是否有可能破解 RC4 加密?

0 投票
1 回答
2117 浏览

ios - 在objective c中实现RC4加密和URL编码

我必须在我的 URL 编码应用程序中实现 RC4 加密算法。下面列出了示例部分供您参考。

加密前的实际值:2013 年 10 月 28 日

加密后的期望值:^!~·hÇÔÞò

URL 编码后应该是:%0C%88%21%98%B7h%C7%D4%DE%F2

使用的密钥是:@“psw”

我已经尝试过,但加密和 URL 编码后的值以这种方式返回:

加密后:!·hÇÔÞò

URL 编码后:%0C%C2%88%21%C2%98%C2%B7h%C3%87%C3%94%C3%9E%C3%B2

我尝试将 java 代码转换为目标 c 代码。java 代码工作正常,因为目标 c 不工作,你可以在上面的结果中看到。

这是Java代码

其对应的Objective c代码

我也试过

但是上面的代码对我不起作用。请帮助我......

0 投票
1 回答
553 浏览

c# - RC4 加密非字母数字错误

背景:我正在尝试将 Mike Shaffer 的 VB RC4 加密转换为 C# ( http://www.4guysfromrolla.com/articles/091802-1.3.aspx )。在Converting Mike Shaffer's RC4Encryption to C#中查看我的上一个问题。

看来我的加密不起作用。

使用位于http://www.4guysfromrolla.com/demos/rc4test.asp的演示页面,密码为“abc”:

纯文本:og;|Q{Fe应该导致

A2 FA E2 55 09 A4 AB 16

但是,我的代码将第 5 个字符生成为 9,而不是 09:

A2 FA E2 55 9 A4 AB 16

另一个例子 - 纯文本:cl**z!Ss应该导致

AE F1 F3 03 22 FE BE 00

但是,我的代码正在生成:

AE F1 F3 3 22 FE BE 0

似乎这只是某些非字母数字字符的问题。

这是我的代码:

这是我获得加密结果的方法:

var encryptedResult = RC4Encrypt.Encrypt(valuetoencrypt);

0 投票
2 回答
9583 浏览

java - java中的rc4加解密

我曾尝试研究 RC4 加密和解密过程。我不断收到代码行错误s2=key.charAt(j++)
调试器告诉我它无法从char解析为int
输出一直运行,直到进入密钥流。XOR 操作没有成功。
谁能指出一个可能的解决方案?

0 投票
1 回答
1491 浏览

java - 使用 RC4 在 java 中加密字符串并在 VBScript 中解密

我在 vb 脚本中有一个代码,我正在尝试将其转换为 java 。

这是我的java代码:

所以我想要做的是使用 JAVA(RC4 Algorithm) 和 Decryption using Vb script 获取一个字符串加密它。

我一直在尝试将运行良好的 VB 脚本中的代码转换为 JAVA,这就是我发现问题的地方。

有什么解决办法吗?

0 投票
0 回答
1844 浏览

matlab - 在matlab中将双精度值和整数值转换为逻辑数组

我是 matlab 编程新手并尝试使用 RC4 代码 [来源:http ://www.cryptosmith.com/archives/621 ]。我正在尝试使用密钥加密消息,但是在获得密钥流之后,我在对数据进行异或时卡住了。我可能在几个地方都犯了错误,因为我的结果始终显示为 0。我遇到问题的make函数代码是:

我调用的函数是:rc4make(12,'hi')其中 12 是明文,hi 是密钥。您能否指导我理解我的代码问题,并建议正确获取密文。

0 投票
1 回答
597 浏览

matlab - Matlab 程序在一个函数中显示不正确的结果

下面的程序是从另一个 C 程序转换而来的版本。函数 rc4key 显示正确的结果,但函数 prga 显示不正确的结果(与 C 相比,正确的程序),我尝试了很长时间,但不明白为什么 j0 显示 178、255、255、255、255而不是 178、174、22、42、76。非常需要您的建议和意见。我在这个函数中使用了 rc4('Hello','Hi') :

我期待: j0 应该显示:178、174、22、42、76,而 j0 显示 178、255、255、255、255。

到目前为止我所尝试的:我试图更改 rc4key 函数中 sc 的值,只检查了单独工作表中的 prga 函数 - 这显示了当时正确的结果,但是当我尝试完整程序时(这是必要的)它显示 255, 255....

0 投票
1 回答
582 浏览

ios - 用于 iOS 的 RC4 算法

我有使用 rc4 算法的密钥和加密值,我需要解密它。你能帮我解决这个问题吗?使用原生 ios。请给我任何解决方案。我已经引用了一些对我没有帮助的链接。我已经从服务器收到了一些加密值,并且我已经生成了密钥。使用该加密值和密钥,我需要使用 RC4 算法进行解密。

0 投票
2 回答
3040 浏览

c++ - 编写使用 RC4 流密码的 C++ iostream。如何优化我的实施?

我正在实现一个使用 RC4 流密码进行加密和解密的自定义 iostream(即,具有读取、写入、查找和关闭功能)。该流的一个约定是它是双向的,调用代码需要能够在进行任何实际读取或写入之前任意寻找到流中的任何位置。

现在因为 RC4 使用的密钥依赖于所有先前的交换操作,直到给定的“告诉”位置,我如何才能结合任意寻找任何位置的能力?

显然,在执行实际的异或转换过程之前,我可以查找到给定查找偏移的位置(在以下示例中由THIS BIT标记),例如:

然后将从流实现的读取或写入中调用转换,例如:

编辑:流应该不知道转换函数是如何工作的。转换功能是完全独立的,我应该能够在不同的转换实现中自由交换。

编辑:函数 swapints 看起来像这样:

上述变换函数的真正问题在于它的速度很慢,因为它必须在执行异或变换之前执行 startPosition 初始交换操作。当执行许多查找操作时,这是非常有问题的。现在我听说 RC4 是为了快速,但我的(可能是糟糕的实现)建议在初始交换操作集的情况下使用其他方式。

所以我真正的问题是:如何优化上述代码以减少所需操作的数量?理想情况下,我想消除交换操作的初始(“ THIS BIT ”)集

编辑:优化初始 sbox 设置可能是微不足道的(例如,使用 egur 建议的 memcpy)。我认为重要的优化是如何优化THIS BIT标记的循环。也许所有这些交换整数都可以更简洁地编程,而无需 for 循环。

谢谢,