Is there any crypto algorithm, that is unbreakable even in theory? Even for a brute force attack?
- Alexey

- Jun 15, 2020
- 2 min read
Most commonly used cryptography algorithms are robust. They are based on a complex mathematical problem (asymmetric algorithms) or on numerous transmutations (symmetric algorithms). But each of them can be broken, at least in theory. After all, it is possible to try all keys (brute force it) and reveal the original message. This may take thousands of years, but it is only a matter of computational power. But there is an algorithm that cannot be broken even using brute force.
Here it is.
If you represent your message as a sequence of bits. For example, 0010101010101010. I have 16 bits here.
If you choose a key that is purely random and its length is equal to the length of the message.
If you use simplest logical operation and XOR a key with a message, then you get an encrypted message. An encrypted message cannot be decrypted by any means.
Usage of the purely random key with a length equal to a message gives an unbreakable algorithm even, in theory.
Why would brute force not help?
Assume, that my message of 16 bits (what is 2 bytes) is a Unicode symbol "a". Assume you only have an encrypted message. You may start trying all possible keys, one by one, and making plain text from an encrypted text. It won't get long, because my message is only 16 bits. What would effectively happen is that you will enumerate all Unicode symbols in random order. Say, on the tenth attempt, you could get "c", on twentieth - "d" and on sixtieth - "a". There is no mean you can reveal an original message because depending on the key, you get some other message. Who knows is it original one or random? No one.
The longer the message, the more time it takes for the intruder to list all possible messages. What would happen at the end is that malefactor will get all possible messages but would have no clue what is the original message.
Why is it not used?
A key must be used only ones, and a key length must be equal to the length of the message. It is quite challenging to generate such a long key and securely share it with the receiver every time you need to send a message.




Comments