encryption - 为什么在密码学中使用 XOR?

标签 encryption cryptography

为什么密码算法中只使用XOR,而不使用OR、AND、NOR等其他逻辑门?

最佳答案

说逻辑运算 XOR 是唯一在所有密码学中使用的运算并不完全正确,但它是唯一专门使用它的双向加密。

解释如下:

假设您有一串二进制数字10101 将字符串 10111 与它进行异或,得到 00010

现在您的原始字符串已编码,第二个字符串成为您的 key 如果将 key 与编码字符串进行异或,您将得到原始字符串。

异或允许您轻松加密和解密字符串,而其他逻辑运算则不然。

如果您有更长的字符串,您可以重复您的 key ,直到它足够长 例如,如果您的字符串是 1010010011 那么您只需将 key 写入两次,它就会变成 1011110111 并与新字符串进行异或

这是一个wikipedia link on the XOR cipher.

<小时/>

关于encryption - 为什么在密码学中使用 XOR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1379952/

相关文章:

c# - 尝试导出 X509 私钥的 RSAParameters 时出现 CryptographicException "Key not valid for use in specified state."

go - ed25519.Public 结果不同

c# - 为什么我应该将我已经加密的密码转换为其 Base64 字符串表示形式?

c - 为什么使用 EVP 进行加密/解密时 aes_128_cbc() 有效,而 aes_128_gcm() 无效?

asp.net-mvc - 在 ASP.NET MVC 中加密 URL 中的 id

encryption - 什么是异或加密?

encryption - 我怎样才能最好地检查这些椭圆曲线参数是否有效?

security - 数字签名 VS.信息摘要

windows - RSA_public_decrypt 和 MS Crypto API 等效

cryptography - 需要有关双线性 map 的信息