少点错误 2024年09月05日
How to Fake Decryption
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一种利用假消息和假密钥来隐藏真实加密信息的策略。该策略通过构造一个假消息和相应的假密钥,使观察者误以为解密后的消息是假的,从而掩盖真实消息。这种策略可以应用于各种场景,例如在网络上掩盖重要信息,污染敌方获取的加密信息,或者制造虚假解密结果。

😄 **策略的基本原理** 该策略的核心思想是利用一次性密码本的特性,通过构造一个假消息和相应的假密钥,使观察者误以为解密后的消息是假的,从而掩盖真实消息。 例如,假设Alice想要向Bob发送一条加密信息,但他们担心他们的朋友Eve会看到这条信息。Alice可以创建一个假消息,并使用该假消息和真实的密文构造一个假密钥。然后,Alice可以将这个假密钥给Eve,Eve会使用这个假密钥解密密文,得到假消息。这样,Eve就不会怀疑Alice和Bob之间的真实信息。 这种策略的有效性取决于观察者是否相信他们得到的假密钥是真实的。如果观察者怀疑假密钥,他们可能会尝试使用其他方法来解密真实消息。

🤔 **策略的局限性** 该策略也有一些局限性,例如,假密钥和假消息必须与真实的密文相匹配。如果假密钥不匹配,观察者可能会发现真实消息。此外,该策略只适用于一次性密码本,不适用于其他类型的加密方法。

🚀 **策略的潜在应用** 该策略在现实世界中可能有许多潜在的应用。例如,它可以用于掩盖网络上的重要信息,污染敌方获取的加密信息,或者制造虚假解密结果。 此外,该策略还可以用于创建有趣的虚构故事或游戏,例如,在虚构世界中,可以使用这种策略来隐藏重要信息或制造虚假线索。

Published on September 5, 2024 9:18 AM GMT

{Epistemic Status: mostly just writing up an idea I came up with a while ago. I’ve done non-trivial coursework in cryptography, so I think I’ve avoided obvious errors, though there may be non-obvious ones. Consult an expert before using.}

Suppose you knew that someone was spying on your encrypted messages, what should you do? Luckily, if you’re using proper AES secure encryption, then you can mostly rest easy knowing your eavesdropper won’t be able to read your messages. This is great and successfully stops an attacker from gaining new information from your messages, but I think we can do a bit better. Specifically, we can give our attacker precise incorrect information.

Thanks for reading Nonsense on Stilts! Subscribe for free to receive new posts.

The Basic Setup

Background on One-Time-Pads

One-time-pads are an essential part of modern (symmetric key) cryptography. To use one, you start with a plaintext message P and a random symmetric key K (shared with your recipient) of the same length as P (in bytes), then you encrypt your message by calculating Ciphertext (C) = P XOR K. This new ciphertext (C) now appears entirely random to anyone without the symmetric key (K), but can be deciphered by anyone with the symmetric key (K) by just calculating P = C XOR K.

The Idea

Our goal is to pretend to decrypt the original ciphertext C. To do this, we want to create a fake key FK such that we can appear to decrypt C into a fake plaintext message FP. If we substitute our fake values into the decryption equation P = C XOR K, we get FP = C XOR FK. Once we decide what we want FP to be, we can easily solve for FK by applying XOR C to both sides. This gets us FP XOR C = FK.

An Example

Suppose Alice is in a secret relationship with Bob and wants to send him an encrypted note rescheduling a date they had planned. Unfortunately, their mutual friend Eve often picks up Bob’s mail for him and would notice that Alice was sending Bob an encrypted message. Though Eve would not be able to decrypt the message herself, she still might guess the truth of Alice and Bob’s relationship just from the existence of the message. To avoid this, Alice also writes a fake message (FP) to Bob about stamp collecting and constructs a fake encryption key (FK) for this fake message (FP) using the method above. Later, Alice intentionally gives Eve the fake encryption key (FK), perhaps telling her to give it to Bob. Eve, now equipped with the fake encryption key (FK), successfully decrypts the ciphertext (C) into the fake message (FP). Having seen the fake message (FP), Eve’s curiosity is sated and Alice and Bob’s secret relationship can continue uninterrupted.

Caveats/Adjustments

Some more knowledgeable readers may already be noting some simplifications and possible issues with the version of this explained above. Let’s work through and address some of these.

Bob does not know the fake key

One straightforward issue is that the fake key and fake message constructed by Alice are not automatically known to Bob. For example, if Eve had asked Bob what was in the encrypted message above, he could only guess at the fake message Alice constructed. This can be resolved if Alice and Bob agree on a fake message (FP) before the message is sent since then both Alice and Bob could construct the fake key (FK) from the ciphertext once they send/receive it.1 Agreeing on the fake key (FK) rather than fake message (FP) beforehand is likely not possible since the fake key (FK) is a function of the ciphertext (C) which is a function of the actual message (P) and key (K). Doing this would require that the message (P) was known to both parties before the message was sent, which defeats the entire point of sending the message.

What about multiple block messages?

If you split the messages in the setup above into blocks, you start to run into the issue that every block will need to be encrypted with its own key (K_i) so that a suitable fake key (FK_i) can be constructed for that specific block based on its fake message (FP_i) and ciphertext (C_i). This becomes difficult if the encryption protocol you are attempting to imitate has known dependencies between the keys for each message (as most common network encryption does). At that point, you just have to hope that the observer (Eve) is willing to take the individual fake message keys (FK_i’s) as correct, without asking for a generating function and its parameters (nonces, parameter keys). Of course, it is important to note that the encryption cipher being imitated with the fake messages (FP_i’s) and keys (FK_i’s) does not need to match the cipher used to encrypt the true messages (P_i’s) with the true keys (K_i’s).

Some interesting notes

Possible applications

I find this idea fairly interesting from a mathematical perspective, but useful applications are less clear. Still, here are some quick thoughts on possible applications:

Serious ones:

Less serious ones:

That’s it, let me know if you have any thoughts!



Discuss

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

加密 信息安全 假消息 一次性密码本
相关文章