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

c - C 对称流密码

有没有人有一个用纯可移植 C 语言编写的流密码的良好实现?目前我并不十分关心密码的强度,因为它仅用于概念验证,但速度很重要。如果我找不到像样的流密码,我考虑过只用一个常数进行 Xor'ing。

0 投票
2 回答
774 浏览

authentication - 是否需要/推荐使用流密码进行身份验证?

我想使用共享密码/密钥来保护基于 TCP 的程序的通信。无需处理块大小、填充等的最简单方法是直接使用流密码。这样一来,明文和加密数据之间的数据量不会发生变化,而且修改也很简单。

仅使用流密码意味着没有身份验证,我一直认为/听说没有身份验证的加密不够安全,不应使用。

如果必须向流密码添加身份验证,我们将失去流密码添加的简单性,因为我们必须添加 HMAC 或使用经过身份验证的加密方法(如NaCl 中的crypto_secretbox),有最小消息长度,我们必须处理填充, ...

你会推荐什么?在某些特定情况下仅使用流密码而不进行身份验证是否安全?

0 投票
5 回答
3100 浏览

cryptography - 自动解密文件的软件工具,其加密算法(和/或加密密钥)未知?

我有一个加密的想法,我可以很容易地编程来加密一些本地文本文件。

鉴于我的方法是新颖的,并且不使用任何行业标准的加密技术,我是否能够使用“破解”应用程序或类似的东西来测试我的加密强度?

还是所有这些工具都依赖于加密过程的高级知识(或截获的“密钥”),这意味着我必须构建自己的破解程序进行测试?

0 投票
4 回答
5889 浏览

encryption - AES-CTR 模式(流式加密)明文中的 1 位更改会更改密文中的 1 位?

据我了解,在流密码(或 AES CTR 模式)中,密钥实际上是使用 IV 加密的(或者通常,从密钥 K 我们产生伪随机字节)。然后,我们使用此密钥使用 XOR 加密明文。

但据我了解,假设使用相同的密钥 K,明文中一位的变化只会改变密文的一位。

我是对的,还是我完全错了?

如果我是对的,它不是比 CBC 更安全吗?(因为在 CBC 中,明文中一位的更改,从更改点开始更改密文中的所有位)

谢谢 !!!

0 投票
3 回答
4905 浏览

python - Python:有没有检查文本是否加密的好方法?

我一直在玩cryptocat,这是一个有趣的在线聊天服务,它允许您使用密钥加密您的消息,这样只有拥有相同密钥的人才能阅读您的消息。该服务的一个有趣的方面(在我看来)是这样一个事实,即使用您正在使用的密钥以外的密钥加密的文本仅显示为“[加密]”,而不是一堆垃圾密文。我的问题是,在 Python 中,有没有一种好方法可以确定给定的一段文本是否是密文?我在这个例子中使用了 RC4,因为它是我可以实现的最快的东西(基于Wikipedia上的伪代码。谢谢。

0 投票
3 回答
482 浏览

c - 加密后exe文件变为不可执行

在用 C 语言编写了一个基本的基于 LFSR 的流密码加密模块之后,我在通常的文本文件上进行了尝试,然后在 Windows 中的 .exe 文件上进行了尝试。但是,在将其解密后,文件没有运行,给出了一些关于 16 位的错误。显然在解密时出现了一些错误。或者是否制作了文件,以便如果我篡改它们的二进制代码,它们就会损坏?

我正在检查我的文本文件程序,希望能找到我的任何错误。但是,问题是有人尝试在可执行文件上运行您自己的加密程序吗?他们对此有任何明显的答案吗?

0 投票
1 回答
166 浏览

cryptography - 为 DCPU-16 编写流密码,鉴于它的局限性,我应该关注哪个?

为了好玩,我正在为DCPU-16(游戏0x10 c的虚构 CPU )编写流密码。该处理器只有 16 位寄存器,运行频率为 100 Khz。但是,就目前而言,内存访问以及诸如乘法和除法之类的东西非常快(DIV使用两次间接内存访问的 A 只需要 5 个周期)。

有了这些限制,我最好的选择是什么?我正在考虑 RC4,但是我担心使用我的代码的其他人无法正确使用它,我们可能会遇到另一场 WEP 灾难。我觉得我需要做一些比 RC4 更复杂的事情来保护其他程序员免受他们自己的伤害,但是我担心使用幻数或预计算表的算法,这些表期望 8 位字节作为最小单位而不是 16 位字。

0 投票
2 回答
1033 浏览

encryption - 带有短加密字符串的流密码加密

我正在寻找一种流密码加密方法,这将导致加密的字符串尽可能短,并且只包含字母数字字符。.NET中有这样的东西吗?我已经研究过,但找不到这样的东西。

谢谢,

0 投票
2 回答
1956 浏览

php - PHP中的ISAAC密码

我需要在 PHP 中与使用ISAAC 流密码的客户端进行通信。据我所知,PHP 可用的加密库都没有实现这个密码。如何在 PHP 应用程序中实现 ISAAC 密码?

(我找到了 ISAAC 的 Java 实现,并且几乎成功地将其移植到 PHP。唯一的问题是 PHP 中的无符号右移。我写了一个方法来做到这一点,但是当移位中的数字为消极的。)

0 投票
2 回答
2078 浏览

cryptography - How can I detect that a key has been reused in one-time-pad encryptions?

I have 20 OTP ciphertexts which I know were encrypted with only 19 distinct keys, so 1 key has been reused. Also only two different messages, with the same length, were encrypted.

I know that if I xor two ciphertexts together , if they share the same key, i'll eliminate the key. So I did, with all of them. But now I can't manage to discover which pair is the one who shares the key.

Can someone help me and tell me how to distinguish the pair that shares the key from the others?