问题标签 [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.
c - C 对称流密码
有没有人有一个用纯可移植 C 语言编写的流密码的良好实现?目前我并不十分关心密码的强度,因为它仅用于概念验证,但速度很重要。如果我找不到像样的流密码,我考虑过只用一个常数进行 Xor'ing。
authentication - 是否需要/推荐使用流密码进行身份验证?
我想使用共享密码/密钥来保护基于 TCP 的程序的通信。无需处理块大小、填充等的最简单方法是直接使用流密码。这样一来,明文和加密数据之间的数据量不会发生变化,而且修改也很简单。
仅使用流密码意味着没有身份验证,我一直认为/听说没有身份验证的加密不够安全,不应使用。
如果必须向流密码添加身份验证,我们将失去流密码添加的简单性,因为我们必须添加 HMAC 或使用经过身份验证的加密方法(如NaCl 中的crypto_secretbox),有最小消息长度,我们必须处理填充, ...
你会推荐什么?在某些特定情况下仅使用流密码而不进行身份验证是否安全?
cryptography - 自动解密文件的软件工具,其加密算法(和/或加密密钥)未知?
我有一个加密的想法,我可以很容易地编程来加密一些本地文本文件。
鉴于我的方法是新颖的,并且不使用任何行业标准的加密技术,我是否能够使用“破解”应用程序或类似的东西来测试我的加密强度?
还是所有这些工具都依赖于加密过程的高级知识(或截获的“密钥”),这意味着我必须构建自己的破解程序进行测试?
encryption - AES-CTR 模式(流式加密)明文中的 1 位更改会更改密文中的 1 位?
据我了解,在流密码(或 AES CTR 模式)中,密钥实际上是使用 IV 加密的(或者通常,从密钥 K 我们产生伪随机字节)。然后,我们使用此密钥使用 XOR 加密明文。
但据我了解,假设使用相同的密钥 K,明文中一位的变化只会改变密文的一位。
我是对的,还是我完全错了?
如果我是对的,它不是比 CBC 更安全吗?(因为在 CBC 中,明文中一位的更改,从更改点开始更改密文中的所有位)
谢谢 !!!
c - 加密后exe文件变为不可执行
在用 C 语言编写了一个基本的基于 LFSR 的流密码加密模块之后,我在通常的文本文件上进行了尝试,然后在 Windows 中的 .exe 文件上进行了尝试。但是,在将其解密后,文件没有运行,给出了一些关于 16 位的错误。显然在解密时出现了一些错误。或者是否制作了文件,以便如果我篡改它们的二进制代码,它们就会损坏?
我正在检查我的文本文件程序,希望能找到我的任何错误。但是,问题是有人尝试在可执行文件上运行您自己的加密程序吗?他们对此有任何明显的答案吗?
encryption - 带有短加密字符串的流密码加密
我正在寻找一种流密码加密方法,这将导致加密的字符串尽可能短,并且只包含字母数字字符。.NET中有这样的东西吗?我已经研究过,但找不到这样的东西。
谢谢,
php - PHP中的ISAAC密码
我需要在 PHP 中与使用ISAAC 流密码的客户端进行通信。据我所知,PHP 可用的加密库都没有实现这个密码。如何在 PHP 应用程序中实现 ISAAC 密码?
(我找到了 ISAAC 的 Java 实现,并且几乎成功地将其移植到 PHP。唯一的问题是 PHP 中的无符号右移。我写了一个方法来做到这一点,但是当移位中的数字为消极的。)
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?