虽然base64编码没有加密的意图,但认为编码过程可以通过某种方式进行调整以创建加密的想法也不为过。当然,我不是第一个想到使用base64编码的加密尝试的人。因此,我想问一下,已知的base64加密策略是什么样的?
发布于 2017-07-22 14:11:41
这摘自Wiki条目 for Base64:
如果您真的打算篡改Base64编码以提供加密,则可以在上面突出显示的索引级别上进行。您需要一个秘密密钥,一个定制的密钥推导函数来创建一个高熵种子,然后从一个伪随机数生成器开始。然后,生成器的(6位)输出将是XORed和索引,以更改每个字符的编码。而这种技术可以倒转来解密加密的消息。
你看,这都有点麻烦。传统上,您会创建密码文本,然后对其进行编码。除了将典型的8位随机序列裁剪为6位外,工作负载与传统的流密码是相同的。实际上,你需要额外计算33%,但这既不是这里也不是那里。
您可能是第一个想到这种Base64变体,因为似乎没有人知道类似的行为。不过,这应该能行。
发布于 2017-07-22 04:23:04
这没有道理。在base64中没有秘密密钥:base64编码和解码是任何人都可以评估的公共功能。
base64与密码学相关的唯一方法是方便地对来自某些密码系统的密文进行编码,该密码系统以8位字符串的形式均匀分布在一组有限的US-ASCII中,在仅限于纯文本(如XML )的上下文中不会被吞食或拒绝。
发布于 2019-04-23 08:54:09
密码学的金科玉律应该是:“这并不是因为你不能阅读文本,而是加密的”。Base64无意用于创建密文,也不应用于此目的。
加密方法总是依赖于一个或多个构件,以确保只有通信的参与者才能逆转密文。如果没有,就像Base64一样,那么它就不是加密。
Base64的目的是将二进制编码为文本,与其他编码方案相比具有各种优势。隐私不是这些好处之一。
https://crypto.stackexchange.com/questions/50308
复制相似问题