Vernam entropy

 Key Generate

Vernam's code is old, easy to program, low resource, fast.  

But it depends on the quality of the random number generator. For commercial cryptography, you can use the digital stream of Internet TV. Better - news channels. Or Internet radio with news too. The fewer repetitions, the higher the probability that the bytes selected from the stream will be a random set. 

 In the application, you set the search in the stream for some sequence of bytes. For example from 10 values.  

You need to select such a NUMBER of bytes for waiting (marker) that it happens 1-2 times a day. 

 After the length of the sequence is chosen, several of its varieties are written to the application. 

 The application is launched by the sender and receiver at the same time and listen to the same Internet stream. With a high probability, they will find the given sequence (marker) in the stream at the same time. After that, according to some algorithm, the same number of bytes are selected from the stream as are contained in the encrypted message. The application must have a sending limit. For example 1020 bytes. On the receiving side, the application always selects that many bytes from the stream. Therefore, the message will be decoded in full, even if it is shorter.  

This mechanism allows you to refuse the key synchronization channel between the sender and the recipient and ensure secrecy. The power of modern smartphones is excessively sufficient to implement such an application. 

 The demo version of the application https://github.com/vallshmeleff/radiorandgentwo listens to the stream, finds the given sequence (in about 1-2 minutes), chooses an encryption key with a length equal to the given text, performs XOR encryption, sends a message via SMS to itself, receives the SMS, extracts the ciphertext and decodes it.  

This is a technical demo JAVA code. A programming error is used to search for a sequence in a stream. 

 It is enough to correct not much at all to get a really working application. For example, process the sender's phone number so as not to try to decode extraneous SMS. You also need to increase the number of bytes to search in the digital stream.  

The rest is just GUI improvements for convenience. 

 This application will not be as convenient as an end-to-end encrypted messenger. But it will have a completely different encryption strength.  

A special case if your resources allow you to create a managed digital stream with global distribution. For example, with satellite broadcasting. Then the marker sequence can be excluded from the stream. And add it to the stream only when you need to extract the key. And in the sender-receiver system, it will not be necessary to set the stream listening time, there will be no generation of extra keys.  

New generations of smartphones are already starting to work with satellite systems. So the technology has a chance to be implemented in the most stable form. There are also options for sending encoded data.

Vernam entropy


 

 


Comments

Popular posts from this blog

Android Open Source

Android Open Source

Android PRNG