Prev: Key wrapping
Next: Scalable Key Cryptography – Part 2:
From: adacrypt on 7 Aug 2010 12:42 Introduction. This is a bare bones, highly contrived and studiously configured presentation of cryptography being modelled in modular arithmetic. It is intended for the understanding of the design cryptographer reader who has the mathematical wherewithal to understand the connections within the design model in modular arithmetic being used by me and the way in which the residue classes of prescribed moduli therein translate as fallout random keys that are collated as sets of encryption keying-data in the cryptography that then uses them for the construction of ciphers. The mathematics of this cryptography is my private invention. The scheme uses Mutual Database Technology (appendix A) in an excursion that uses modular arithmetic as the encryption environment. The core, obfuscating algorithm only, is discussed here. Lets say I want to set up an encryption scheme that will enable any message length from 1 to 14250 characters long (as an arbitrary figure - could be more), to be encrypted. I will need key-sets of that same length also. There are two random key-sets available i.e. the keypad formed from multiples of the ASCII printable subset (elements 32 to 126 incl.,) and the set of moduli being called the Ns. The set of Ns as moduli. The minimum value that X may take to produce a key-set of 14250 Ns = 14250 + 63 = 14313, therefore in the formula that follows X is initialised at 14313. Then, Nis a positive integer, belonging in the range (X +127) to 2(X +32) i.e. 14440 to 28690. Checking this, 28690 14440 = 14250 => the key-set of Ns is 14250 (correct) The set of keys being called Key. This key set is created ad hoc at runtime by the computer reading in the message for encryption, counting the characters in the external file and then calculating the number of multiples of the 95 elements of the ASCII printable subset that will be needed to provide an adequate key-length (this may require some padding of the message to make the two equal in length). This composite keypad is random by the same definition of having equal probability of the elements, hence the use of round multiples of a basic module of the 95 printable characters of ASCII that is itself scientifically random per se. Both of these key sets are read into the empty, waiting-to-be-filled, arrays of the program software. At runtime, the program will call the elements of each key array in sequential order as required for the instantaneous use, the arrays are volatile and will empty themselves again at the end of the program run. The arrays are scrambled and sliced according to scrambling parameters that Alice alone decides. Bob follows her instructions by applying the scrambling instructions to the arrays of his database so as to stay in synchronism with Alices database. X as a key. In theory X is a key also in being a random variable from a large possibility space of random Xs but no great value of crypto-strength is ascribed to it by me because of it being a constant but it does count however at the same time as a useful stumbling block of some degree to an adversary. Note: This version of the cipher plans a broad usable scope of message lengths ahead of expected requirements, this is a general modus operandi that permits many varying message lengths by the same program sourcecode. It could also be arranged that each message length is calculated at run time and dedicated keys only of the bare key-length are used. That ploy is available for a special application if that is required. How the cipher works. Encryption. [(X + Key) + (X + Plaintext)] (Mod N) = a residue >=0 Ciphertext = residue N (ciphertext is always a negative integer) Decryption. Plaintext (as messagetext) = Ciphertext +2N Key 2X = the denary representation of the messagetext in ASCII. Note: the decryption algorithm is an equation in four unknowns i.e. the Plaintext, the Key, the modulus N and X. Key, N, and X must be supplied from Bobs database so to evaluate the denary value in ASCII of the Plaintext as message text. These, being random keys, cause total uncertainty to any illegal cryptanalyst (see appendix - B). Recapping. X = 14313. There are 95^2 or 9025 combinations of Key and Plaintext. N = 14250. In passing, the key space is 9025 x 14250 = 128606250 (no additional crypto strength significance is given to this statistic there are that many possible test examples however for testing if needed) The Worked Example. Any combination of Key, Plaintext and N in their prescribed ranges can be encrypted with theoretically unbreakable strength by means of this cipher. Let us say that I want to encrypt the character } that has denary representation of 125 in my plaintext domain that consists of the ASCII printable subset (elements 32 to 126 incl.) Let us say also that the key that was randomly called by the program to do this is the character & which has denary representation 38 in ASCII and is the Key that will be paired with } in the forthcoming encryption process (the random Key could be any one of the 95 possibilities in ASCII that have equal probability). The modulus N that was called from the array of Ns may be anywhere between 14440 and 28690 (see previous work), lets say it is 23210 (it could be any number in the range this is nothing more than a wild guess). Then, Encryption. [(14313 + 38) + (14313 +125)] (Mod 23210) = 5579 Ciphertext = -17631 Decryption. Plaintext = -17631 + 2 x 23210 38 2 x 14313 = 125 (as the denary representation in ASCII) The denary representation 125 translates back as } in ASCII as you would expect. The reader can test as many variations of this encryption example as you wish and let me know if you find anything wrong with it. There are 128606250 possibilities of non-repeating combinations of Key, Plaintext and N that may be used in any test case, the implications to powerful cryptography are clearly evident. This is a very efficient cipher and much more so than the companion vector ciphers on (http://www.adacrypt.com ) that are also on the table. The vector ciphers are very mathematically elegant although I must admit the ciphertext expansion of vector cryptography type is pretty great. Even so, I take the view that unbreakable security of information at any cost should be the aim that cost should not be important at national level anyway and is not a damning criticism of vector cryptography. In practice the ciphertext in the example above is always negative so I can just treat it as a positive integer while it is in electronic email transit and multiply it by (1) on arrival. There are five versions of this cipher up and running they are available as a single download complete with compiler and PDF from my website http://www.scalarcryptography.co.uk . The encryption/decryption rate of the ciphers is very high on my very ordinary home computer it should be very much quicker in a large commercial mini computer I think. A salient feature of this cipher design is that it encrypts both by reading in plaintext files character by character from any external batch file and also by reading in directly from the keyboard in real time (impromptu emails). The operator is a non-specialist office worker who does not need to have any knowledge of cryptography whatever. No specialist user-assistance such as on-site cryptographers or specially trained personnel is required. The software could possibly become little more than an adjunct to word processing eventually so simple and robust is the scheme. Any data type is manageable as an external file for encryption. This cryptography is independent of the deleterious effect of increasing brute force capability through increasing computer power for all time and indeed contrary to this is enhanced by the upgraded computing power that any such advances may bring. The cipher has a theoretical message length capability of 1073741790 characters nearly half a million pages of plaintext that is for 32 bit arithmetic computers- Theres more to come ! - adacrypt
From: David Eather on 9 Aug 2010 16:38 You need to "go back to school" and learn the basics of cryptography. If you must, approach the material as being of a totally different subject to what you think you already know. As it stands your cryptography is hopelessly flawed and your lack of knowledge makes it impossible for you to understand any corrections (imagine if you would trying to correct someone who says "mousees" for "mice" but who has no concept of even the existence of rules of grammar). I suggest that you read or re-read some basic books on cryptography such as (all!) of these The Code Book by Singh The Code Breakers by Kahn Cryptanalysis by Gaines Elementary Cryptanalysis by Sinkov Until you do I suspect the entire Usenet group has washed it's hands of you. There is nothing further to say.
|
Pages: 1 Prev: Key wrapping Next: Scalable Key Cryptography – Part 2: |