From: adacrypt on 7 Aug 2010 12:45 Model and Theory. This is a piece of niche number theory that enables a set of random keys as the modulus N in a modular arithmetic model to be generated for use as keys in encryption work. That set of moduli satisfies the mandatory requirement in cryptography for one random key-set to be provided in a cipher that claims theoretically unbreakable cryptographic strength but the option is there also in this case for a second random key-set to be generated if the user wants that as extra backup security. The entire encryption environment is provided by the modular settings of the residue classes that are associated with the set of configured Ns. The Vigenere square being used as the basic model of the eponymous cipher is defined by its mathematical equation in this context. Although the basic cipher type that ensues emanates from the historic Vigenere Cipher the connection quickly becomes tenuous as the newly adapted cipher type being called Scalable Key Cryptography is developed along separate lines. Take, (Key + Plaintext) (Mod 27) = Ciphertext as the equation of the original Vigenere square when that square is populated by the 26 characters of the English alphabet, I deliberately chose Mod 27 for my purposes of demonstration here. Suppose now I say that, Plaintext = Ciphertext Key This is a deliberately naïve demonstration that acknowledges that there are cases when Key is larger than the Ciphertext and, Ciphertext Key < 0 (this example is being used deliberately to make the point here.) In order to redress this imbalance I next add one multiple of the modulus 27 to the ciphertext and repeat the demonstration and this time, Ciphertext + N (the modulus) Key >0 and is now in order for finding the correct plaintext due to having been incremented by 1 value of N. The upshot now is that there is a measurable range of moduli somewhere between 1 and 27 that will always a give a residue that in turn gives me a negative result that requires the addition of one multiple of the current modulus to the residue so as to put things right in the general equation, Plaintext = Ciphertext Key. I am going to make this anomaly the basis of my algorithm in the design of a new cipher that uses modular arithmetic. I am interested only in those cases where the right-hand side of this equation is deliberately negative. That requires that, (Key + Plaintext) (Mod N) = a residue >= 0 when N divides once and only once. Finding the set of Ns that will do this by operating on every possible combination of (Key + Plaintext) is my next problem. Upgrading the previous model. If I extend the original Vigenere model that used the 26 letters of the English language only and apply it to a modern information system that now uses ASCII instead then this is what evolves in the application of my theory to the equation of the square, 1) I populate the Vigenere square with the 95 printable subset of ASCII. 2) I next determine the method of finding a sequence that gives me the range of moduli that divides every combination of. (Key +Plaintext) (Mod N) = a residue >= 0 this residue will always give a negative result if the equation, Plaintext = Ciphertext Key, is tested. An abiding condition of my algorithm is that N divides once and only once when producing the residue. Furthermore, In my new model, I increment both the Key and the Plaintext by a value X so that my new equation is, [(X + Key) + (X + Plaintext)] (Mod N) = a residue >= 0 The variables Key and Plaintext are drawn from the printable subset of ASCII characters i.e. elements numbered 32 to 126 incl. The range of N has to be established next. Incrementing with X is necessary to give a large range of Ns It happens then that X and N are related as follows, Whatever the required maximum message length is to be then, X = messagelength + 63. X is initialised at that value in the formula that follows. The sequence of Ns is then, All the positive integers in the range => (X +127) to 2(X+32). Encryption. [(X +Key) + (X + Plaintext)] (Mod N) = a residue >= 0 Ciphertext = residue N. Decryption. Plaintext (as messagetext) = Ciphertext +2N Key 2X This gives the denary value of the messagetext in the ASCII subset of printable characters. Remember the important caveat, the modulus N divides once and only once every time. still more to come - adacrypt
|
Pages: 1 Prev: Scalable Key Cryptography – Part 1: Next: Scalable Key Cryptography – Part 3: |