Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The Scalable Key Cipher – A Modernised OTP for the Brave.

14 views
Skip to first unread message

adacrypt

unread,
Feb 14, 2012, 4:43:40 AM2/14/12
to
This is a modernised one-time pad that has a huge capacity of key
length / message length (endless within computer capacity) and is
still a one-time pad in every respect.

It comes under the umbrella of scalar cryptography in my portfolio.

It can be demonstrated on any set of code points from say the original
alphabet that JM used i.e. the 26 letters of the English language => 1
to 26 incl or updating to ASCII 32 to 126 incl. or the entirety of all
Unicode languages.

This is the basic algorithm,

[(Plaintext + X) + ( Key + X)] modulo N = residue >= 0.
Caveat: N divides once and only once.
Finding the bounds of N is done by following a set procedure.

Beginning.
The general basis of this encryption algorithm is,

[(Plaintext + X) + ( Key + X)] modulo N = residue >= 0.

I will demonstrate this on a very simple set of positive integers that
represent the selection domain in some imaginary simplistic encryption
scene.

*It is an important condition of this statement above that N divides
once and only once in all cases.

My remit here is to show how the set of N’s that will do this is found
for a given domain. The domain need not be complete i.e some elements
may not be there on occasions but usually the domain is complete in
cryptography. The same domain is used for both Plaintext and Key and
they may come in any combination of pairs, I only need to know the
highest value of pairing and the lowest value of pairing that can
arise in the selection process at encryption time in order to complete
my task.

I will take the set of positive integers 4,5,6,7,8,9 as the domain in
this demonstration.
There are six elements to this set and they can be paired in 6^2 ways
to give 36 possible pairings. It is necessary only to look at the
highest and lowest pairings of elements here because whatever applies
to these two will also be satisfied by the interim pairings.

4 ……………4
……………..
……………..
9……………9
----------------------------------

Reminder; I am looking for values of N that will divide each pairing
once and once only.

Clearly, 10 is the smallest value that will divide (9…9) once only
because 9 would divide twice but 10 will not dive (4 …4) so I must
increment the lowest valued pairing by some amount to make this
possible.
Call this increment that I will give to all pairings ‘X’, then, my
table becomes,


(4 + X)….……(4 + X)
………………………
………………………
(9+ X)……….(9 + X)
-----------------------------------
The initial divisor N = 10 must now be increased to (X + 10).
In my pursuit of N’s it is convenient to lay this out as a FOR ….
LOOP, (it becomes that later in any case of a computer driven
encryption program), so,

FOR N In (X +10) … 2(X + 4) LOOP
[(Plaintext + X) + ( Key + X)] modulo N =
residue >= 0.
END LOOP;

Note: 2 (X + 4) is the highest value that N may attain and still
divide it, anything greater than this and it won’t divide. The upper
bound of this loop is always 2(Lowest value + X) in all other cases of
other domains.

I am particularly interested here in the value of X that enables the
first N that will satisfy the equation. That happens when the loop
counter is 1 but note that in all cases of loop counters the perceived
value of the loop counter is always 1 less when both ends are
inclusive, it will be 0 in this instance.

Example,
2(X + 4) – ( X + 10) = 0 => N = 1
Solving 2(X + 4) – (X + 10) = 0
X – 2 = 0
X = 2.
(X could be anything in other cases and could even become negative
according to the domain values being considered, it is always the root
of this same equation however).
This value X = 2 is the salient value for this particular domain, it
might even be called the characteristic value of X because it is the
starting value of X that enables 1 single modulus N to be evaluated.

Any number of extra N’s can now found by simply adding them to this
initialised X.

Example,
Suppose I had to cater for a message length of say 12000 characters
using this domain then X = 2 becomes X = 2 + 12000 and the range of
N’s would be,
(X + 10) ……2(X + 4) but now using the new X i.e. X = (12000 + 2)
(12002 +10) …….2(12002 + 4) are my new bounds.
Check, 2(12002 + 4) - (12002 +10) = 24012 – 12012 = 12000 as you would
expect.

Subset messages can be encrypted by using a sub-slice of the range
found for 12000.

A large (read largest also) range of N’s as general moduli (limited
only by the computer capacity to store large positive integers without
overflow) can be found and stored as keys for general use on a large
variety of message lengths using this domain.

Also, for extra entanglement, the entities may start a slice of the
main array of these N’s anywhere they wish along the array and wrap
back to the beginning of the array if needs be to complete a message.

This demonstration model is contrived to be as simple as possible so
as to enable the reader to make the computations mentally. The
methodology and the logic however is extensible to any larger domain
such as say the individual language domains of Unicode which are
simply sets of positive integers also. It can be seen that a set of
moduli as N’s is dependent solely on the bounds of the domain in
hand. The “ N’s” are collected as key material and stacked in the
arrays of the entities mutual databases. They are a random set of
integers, they can be scrambled as they are being loaded in the
arrays. The arrays can be sliced by varying the starting and
finishing points of the recalling (retrieval) system, this is to cause
extra confusion to a cryptanalyst i.e. the illegal adversary.

The objective in this part of the cryptographic scheme is to describe
the creation of the sets of N’s as moduli that function later as key
sets in the general cipher algorithm. It is too difficult for the
reader to think through the creation of these keys when the numbers
are large but it has been established that the methods are identical
in all cases when using other much larger selection domains of
different languages. A special computer program has been used to
demonstrate this should anybody doubt it but it should be acceptable
to all mathematician readers that it is in fact true as an
extrapolation of the simple model described above.

The ultimate aim here is to create customised number lines in which
each N becomes the scale of the periodicity (the space between
integers).

Lemma_1.
When the abiding condition “ N divides once and only once “ is
observed then the equation,
[(Plaintext + X) + (Key + X)] modulo N = residue >= 0.
Can be stated as,
[(Plaintext + X) + (Key + X)] = residue + N.

Identical graphical templates can be constructed,
(Didn't show up here at postingtime)

These will be used later to create customised number lines i.e. number
lines that have a specific scale given to the periodicity instead of
being arbitrary as in the universal number line. This is a ploy being
used to obfuscate plaintext and ciphertext correlations in this
cryptography that is being called “Scalable Key Cryptography”

---------------------------------------

PS. This document may not open very nicely when its been posted –
anybody who wants a smooth identical PDF copy can have one just by
emailing me privately or even right here.

adacrypt

unread,
Feb 14, 2012, 5:13:55 AM2/14/12
to
This is the Universal OTP. The OTP for all seasons.

It is well worth the effort of getting your head around the theory.

- adacrypy

Noob

unread,
Feb 14, 2012, 5:31:21 AM2/14/12
to
adacrypt wrote:

> This is the Universal OTP. The OTP for all seasons.
>
> It is well worth the effort of getting your head around the theory.

I'm glad I fished you out of the bit bucket, I was missing out
on all the entertainment. (Now, where's the popcorn?)

You're really starting to have the JSH impersonation
down to a tee. Keep it up!

rossum

unread,
Feb 14, 2012, 8:00:58 AM2/14/12
to
On Tue, 14 Feb 2012 02:13:55 -0800 (PST), adacrypt
<austin...@hotmail.com> wrote:

>This is the Universal OTP. The OTP for all seasons.
>
>It is well worth the effort of getting your head around the theory.
Didn't you just tell us you were going to stop claiming that your
system was an OTP?

rossum

adacrypt

unread,
Feb 14, 2012, 8:08:57 AM2/14/12
to
On Feb 14, 1:00 pm, rossum <rossu...@coldmail.com> wrote:
> On Tue, 14 Feb 2012 02:13:55 -0800 (PST), adacrypt
>
> <austin.oby...@hotmail.com> wrote:
> >This is the Universal OTP. The OTP for all seasons.
>
> >It is well worth the effort of getting your head around the theory.
>
> Didn't you just tell us you were going to stop claiming that your
> system was an OTP?
>
> rossum

This is a different one to what was discussed a few days ago - I have
several crypto systems on the go at any time - broadly speaking these
are classed as either vector or scalar - this is a fresh excursion to
day into a scalar based innovative new OTP invention - its a very
wide rangeing implemtation of an OTP that I am pointing out is highly
Universal in its application to the whole of Unicode - regards -
adacrypt

Mark Murray

unread,
Feb 14, 2012, 1:13:30 PM2/14/12
to
On 14/02/2012 09:43, adacrypt wrote:
> This is a modernised one-time pad that has a huge capacity of key
> length / message length (endless within computer capacity) and is
> still a one-time pad in every respect.

Oh. My. God.

Groundhog day.

M
--
Mark "No Nickname" Murray
Notable nebbish, extreme generalist.

Mark Murray

unread,
Feb 14, 2012, 1:14:40 PM2/14/12
to
On 14/02/2012 13:08, adacrypt wrote:
> This is a different one to what was discussed a few days ago - I have
> several crypto systems on the go at any time - broadly speaking these
> are classed as either vector or scalar - this is a fresh excursion to
> day into a scalar based innovative new OTP invention - its a very
> wide rangeing implemtation of an OTP that I am pointing out is highly
> Universal in its application to the whole of Unicode - regards -
> adacrypt

If it reuses its key material, it can't be an OTP. Even you agreed with
that day day or two ago!

Karl-Uwe Frank

unread,
Feb 15, 2012, 7:52:00 AM2/15/12
to
Maybe for the sake of an easier understanding of your proposed
encryption scheme I like to ask you to give a more detailed example of
how your scheme works.

Let's imagine *Bob* and *Alice* are members of a secret society. Bob, as
the grand master, send word to gather for a new meeting. But before any
member can enter the realm they have to tell the guard at the front door
a codeword. Bob decided to send the new codeword to Alice. The plaintext
message will be

POSTA DI FALCONE

If Bob would use a classical Vigenere and Bob and Alice both knowing the
pre-shared keyword

TEMPLARS (You see, no repeats in the key)

the ciphertext would read

ISEILDZXTPODYE

( generated on Simon Singh's website

http://www.simonsingh.net/The_Black_Chamber/vigenere_square_tool.html )



Regarding the quoted short example below

1) How would you encipher the secret message using your scheme?

2) How would the resulting ciphermessage read?

3) What would be the key?

Can you please give a step by step, letter by letter explanation
(calculation) how you generate key set and ciphermessage using your
proposed encryption scheme.

Maybe you really found something new, a strong encryption scheme
perhaps. Just show it's strengths and how it works in a comprehensible way.

And always keep in mind the words of Mark Twain
"The Man with a new Idea is a Crank, until the Idea succeeds."

So either your idea is noteworthy or rubbish. Now it's up to you.

Cheers,
Karl-Uwe




On 14.02.12 11:11, adacrypt wrote:
> Example_1.
>
> Taking ASCII as the nearest to home, ASCII belongs in Unicode and has
> a set of hexadecimal code points just like all of the other (90+)
> scripts in the code. Each language code-point set is expressed as a
> set of hexadecimal code points that for my purpose I resolve instead
> as a set of decimal numbers here, the upper and lower bounds of each
> code point set is easily established for any language in the code.
>
> For ASCII,
> Upper bound is 126.
> Lower bound is 32
> i.e, there are (126 – 32) + 1 or 95 elements in this selection domain
> and they are numbered 32 to 126 incl.
>
> 32 ……+…….. 32
> ………………...
> …………………
> 126 ……+……. 126
> --------------------------------
>
> The smallest N that will divide (126 + 126) is 127 but this will not
> divide (32 + 32).
> I must increment everything by an amount X.
>
> (32 + X) ….+…. (32 + X)
> ….……………………..
> …………………………
> (126 + X)….+….(126 + 126)
> -----------------------------------
>
> 127 is increased to X + 127 as the least modulus that will divide
> (126 + X) once.
>
> Presented as a FOR ….. LOOP,
>
> FOR N In (X + 127) …… 2(X + 32) LOOP;
> [(Plaintext + X) + (Key + X)] modulo N =
> residue>=0;
> End LOOP;
>
> To get 1 only N (i.e. provided by one pass of the loop), requires
> finding a ‘minimum’ X.
> This means the value of X that satisfies the equation,
> 2(X +32) – (X + 127) = 0
> (reminder, 0 implies 1 when both bounds of the loop counter are
> inclusive.)
> X – 63 = 0
> X = 63
>
> This is the characteristic minimum X for ASCII.
> To set the bounds of the loop for any message length then,
> X is increased by this message-length,
>
> Minimum X = 63 is increased to X = (63 + message-length)
>
> The range of N is,
> (X+ 127) ….. 2(32 + X)
> where X = (63 + message-length)
>
> Comment.
>
> A larger general message length can be calculated as a one-off that
> covers all future subset message lengths within the computer capacity
> to store integers if the user prefers this.
>
> ----------------------------------------
> It is quite easy to proceed without the templates in question - they
> didn't show but they are not essential to understanding the examples.

tom st denis

unread,
Feb 15, 2012, 7:58:39 AM2/15/12
to
On Feb 15, 7:52 am, Karl-Uwe Frank <karl.fr...@freecx.co.uk> wrote:
> Maybe for the sake of an easier understanding of your proposed
> encryption scheme I like to ask you to give a more detailed example of
> how your scheme works.

Let me just stop you right there ... there is no "detailed example"
because there are no details. The OP is just making up nonsense and
hitting send. You basically replied to the equivalent of a cat typing
at a keyboard. Oh sure he's writing words, and some of the sentences
look convincing like a human wrote them, but rest assured no higher
mental faculties were involved in writing his posts.

Tom

Noob

unread,
Feb 15, 2012, 8:22:50 AM2/15/12
to
tom st denis wrote:

> Oh sure he's writing words, and some of the sentences
> look convincing like a human wrote them, [...]

AKA word salad.
http://en.wikipedia.org/wiki/Word_salad

adacrypt

unread,
Feb 16, 2012, 12:49:39 PM2/16/12
to
I hate this kind of question because the management possibililies are
so varied that its is exhausting to think it all through.

Can I ask you to try this for starters.

The plaintext and the key both are read in from the *same domain (take
the ASCII standard subset 32 to 126 inclusively for simplicity)

Substitute in the numerical value for the Plaintext and the key in the
algorithm.

eg.

MiniMum_ X for ASCII is 63.

Adjusted X (to take into account the messagelength of say 1200
characters is 63 + 1200 =1263

The range of N's as moduli (keys) is then,

(1263 +127) .... 2 (1263+32)

1390 ... 2590
or 1200 as you expect.

*Any N in this range is valid in this algorithm, (the array of N' is
normall shuffled and sliced in practice)
remember X = 1263 now
(Plaintext + X) + ( Key + X) modulo N = a residue

Then,

Encryption,
Ciphertext = residue + n.N (for all non-zero 'n')

Decryption,
Plaintext = Ciphertext - (n -1) N - 2X - Key.

Try POSTA DI FALCONE as the plaintext and TEMPLARS (both a la ASCII
in this and see how it goes).

'n' is an arbitrary parameter that Alice and Bob agree too use for the
duration.


Note : I'm doing all of this quickly off the top of my head which I
normally like to do much more thoughtfully.

* I can send you the proper complete PDF of this entire mattter if you
want that - I would suggest you do a bit more reading - i hope this
stuff here works out ok - let me know - keep an open mind if any
gliches come up.

regards - adacrypt
0 new messages