Fast forward now about 1920 to Major Joseph Mauborgne (US Army Major)
who realized that the Vigenere cipher was still a very good cipher and
the way to use it was to come up with some method of counter-acting
the lexical probability of the English language alphabet. His idea
was quite brilliant and was the first use of scientific randomness in
any cryptography. His cipher became famous as the One-Time Pad.
All of the popular books explain the OTP by means of referencing the
Vigenere square that is at the heart of every OTP using mapping
coordinates.
Fast forward again to present books. The one in mind is “Applied
Cryptography” by Bruce Schneier. This book incidentally is obsolete
now but before you throw it in the rubbish bin have a look on page 15
and at the bottom of that page and you will see something that says,
O + T Mod 26 = I
N + B Mod 26 = P
E + F Mod 26 = K
Etc.,
When I saw this I realized this was the mathematical equation of the
Vigenere square except that it doesn’t always work without some user
assistance. To have an equation instead of the descriptive mapping
procedure of referencing the Vigenere square was exciting to me so I
made a note of it at the time for later use.
The equation is saying,
Plaintext + Key (Mod 26) = Cipher text
=> Plaintext (as messagetext) = Cipher text – key
above,
15 + 20 (Mod26) = 9
9 –26 = -15 there is no character that has value –15
if I add 26 to the RHS to make cipher text 9 + 26 = 35 and try again,
35 – 20 = 15 => the letter ‘O’ in the alphabet – it works now
A rule emerges ® if the first subtraction is < 0 then add one modulo
value (26 in this case) to the RHS and try again but modulo N must
divide only once.
Let the reader experiment with this for some or (ideally) all the
combinations of
(Plaintext + Key ) Modulo 26 = Ciphertext and you will find that it is
necessary to compensate as demonstrated for some of the pairings and
not for others i.e. when 26 is less than the sum (plaintext + Key) it
is necessary to compensate but when it is greater then there is no
need to do so. This has the basis of a cipher design algorithm I
thought.
I don’t know if Mr. Schneier realized this or not but if he did then
his choice of modulo 26 was insufficient and in order to catch all the
pairings it needs to be greater that the highest value by 1 i.e the
minimum value is modulo 27.
This latter is an important basic tenet in my scalable cryptography;
the lowest value that a modulus can take is 1 higher than the highest
value in the table of character values being processed by this clock
arithmetic.
The modulus 26 on page 15 of the book should have been modulo 27 to
catch all the pairings of (plaintext + key).
Readers will see this model as a possible cryptography scenario. To
get to the point I did just that and later on I developed the Vigenere
square by populating it with the 95 writable characters of ASCII i.e.
the alphanumeric set numbered 32 to 126. That was a different cipher
called “ASCII_Pad”.
In my present scheme the lowest value that N (the modulus) can take is
126 + 1 = 127.
Please check this visible constant in the workings on
http://www.scalarcryptography.co.uk – this is the explanation of at
least one constant in the theory being expounded in the notes.
I suspect Bruce Schneier could see something of what I am saying here
but realized it was a can of worms that might be best left alone and
did not go down that road for those reasons. I am grateful to him for
the inspiration it gave me however, whether it was intended or not.
To be continued soon - adacrypt
> I don’t know if Mr. Schneier realized this or not but if he did then
> his choice of modulo 26 was insufficient and in order to catch all the
> pairings it needs to be greater that the highest value by 1 i.e the
> minimum value is modulo 27.
>
> This latter is an important basic tenet in my scalable cryptography;
> the lowest value that a modulus can take is 1 higher than the highest
> value in the table of character values being processed by this clock
> arithmetic.
>
> The modulus 26 on page 15 of the book should have been modulo 27 to
> catch all the pairings of (plaintext + key).
No. Observe:
A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
K = 10
L = 11
M = 12
N = 13
O = 14
P = 15
Q = 16
R = 17
S = 18
T = 19
U = 20
V = 21
W = 22
X = 23
Y = 24
Z = 25
Take a look at the Tabula Recta of the Vigenere cipher:
http://en.wikipedia.org/wiki/Tabula_recta
It is clear that 'A' and anything else results in that same character
-- e.g. 'A' and 'B' = 'B'; 'A' and 'E' = 'E', etc. From which it is
clear that A = 0 if one is using modular addition in place of the
tabula recta (because x + 0 = x).
> I suspect Bruce Schneier could see something of what I am saying here
> but realized it was a can of worms that might be best left alone and
> did not go down that road for those reasons.
Uh huh.
I suspect Bruce Schneier made a typo.
>> I suspect Bruce Schneier could see something of what I am saying here
>> but realized it was a can of worms that might be best left alone and
>> did not go down that road for those reasons.
>
>Uh huh.
>
>I suspect Bruce Schneier made a typo.
When Bruce Schneier wrote his first "Hello World!" program it came to
11 bytes of assembler.
rossum
> When Bruce Schneier wrote his first "Hello World!" program it came to
> 11 bytes of assembler.
http://www.schneierfacts.com/ :-)
"For Bruce Schneier, SHA-1 is merely a compression algorithm."
"Bruce Schneier's first program was encrypt world."
if Applied Cryptography is in your words "obsolete now" ........ oh, never
mind.