Encoding - Decoding
IM is another implementation
of the well-known One Time Pad algorithm
The main questions about OTP
Vernam) are the following: Key distribution.
Here's the step-by-step explanation.Step 1.
A Blum-Blum-Shub generator is
used to generate a long sequence
of pseudo-random numbers.
This algorithm is well - studied
Vernam IM generates parameters
for this algorithm (P)Step 2.
Vernam IM asks users to draw
some curves on the screen.
As a result, we have a sequence
of true random numbers (TRN).Step 3.
Vernam IM creates a string of
parameters consisting of P and
TRN and converts it into a QR code.Step 4.
The second user scans the
QR code during an in-person meeting.Step 5.
On both devices the Blum-Blum-Shub
generator generates a long
sequence of pseudo - random
numbers (PRN) using P.Step 6.
On both devices we modify
PRN with TRN using a certain algorithm.
As a result, we have a long
sequence of PRN modified with TRN.
This sequence is used as a source
for one-time pads.Note.
We are aware of this US patent
Our method is different from that
which is described in this patent.Authentication.
According to Wikipedia,
authentication is needed in
situations where an attacker
knows that the message contains
some text known to him or her.
This situation is impossible in our case.True randomness.
By definition, all hardware
generators are true random number
generators, and software generators
However, there is no way to
distinguish true random numbers
from pseudo-random numbers
from two given sequences if you
do not know how they were generated.
Just ask Google.
In this work
, we can read:
"More specifically, the conjectured
guarantee about this random number
generator is the following:
If you present a polynomial time
adversary with two sequences:1
. A truly random sequence
of bits of length k;2
. K bits from the output
of the pseudorandom generator
when seeded with a starting state
shorter than k bits.
Then the adversary can't distinguish
between the two sequences with
probability "significantly" more than ½…
This emphasizes a deep philosophical
viewpoint in theoretical computer science,
that whether some object has a property
(randomness) really only depends on
the power of a computationally limited
observer to identify that property.
If nobody can tell the difference between
fake randomness and real randomness,
then the fake randomness is random."
In our case we do not use PRN sequence,
but rather PRN modified with TRN.
Thus, we can state that our sequence
of numbers is (at least) very close
to the sequence of true random numbers.
If you wish to oppose, then simply list
the criteria by which you will be able
to distinguish our sequence from
a sequence of true random numbers.
And finally, please keep in mind
. According to this work
the Vernam cipher is robust
to small deviations of randomness.2
. In this article
, randomness is defined
According to this work
, the Blum-Blum-Shub
PRBG is an unpredictable
(cryptographic secure) generator.