From: adacrypt on 2 Jul 2010 04:58 Like the vector cryptography described elsewhere this cryptography is also spatial but is confined to the XY plane and uses modular arithmetic rather than position vectors to map plaintext to widely dispersed points on lines in the XY plane. These lines all have different periodicity (scale) and are always used only once for the encryption of one only plaintext character. The varying scale of the lines is induced by the congruence classes of the various moduli N that divides combinations of, (Key + Plaintext) (Mod N) = Ciphertext which is the basic equation of the Vigenere square in the cipher of that same name. The congruence classes are than simulated by number lines (having the same periodicity, N, superimposed on the arbitrary scale of the line) and are used now for cryptography. The crypto strength comes from the entanglement caused by the ever- changing moduli and residue classes that results. All attempts at inductive cryptanalysis are totally disabled. This cryptography is an adaptation of the famous cipher by Blaise Vigenere of some four centuries ago. The lines may have any direction but the scale is unique to each line - hence Scalable Key in the cryptography title. The ciphers read in files of plaintext and without further ado encrypts them into unbreakable ciphertext at relatively high speed. The ciphertext is secured by two random key sets that are used once and once only in a message. The keysets are each of the same length as the message length (no it is not a tiresome one time pad). Plaintext. The encryption alphabet for plaintext is the printable subset of ASCII i.e. the elements numbered 32 to 126 inclusive. A single module of this printable subset of ASCII is a random set per se, it has 95 characters in all. Plaintext characters for encryption are referenced by their position as a decimal number in this printable subset set of ASCII and are assigned an appropriate denary value as their representation in all future computations. Keys. A larger ASCII random set that is comprised of equal numbers of the same characters may be comprised by combining discrete multiples of a single module. That module is equal to or in excess of, the message- length in any message as needs be i.e. it must be a round multiple 'n' say of one single ASCII subset. If a message length is short of the key length thus formed, then the message length is made up to size by 'padding' which is also encrypted just as carefully as if it was meaningful plaintext. The name word 'Key' is used so as to conform to the textbook Vigenere Cipher theory and general description documents and to conform also to the notional equation of the Vigenere square. A second Key Set. There is another key by a different name - the modulus in the modular arithmetic theory designated N, that is to be understood by the reader as being a key also. This second key is drawn from a random set and is a large single module of non-repeating elements that are usually positive integers. This keyset may be envisaged as being about 14000 elements long of 2 to 5 digit integers. A major part of the theory that follows is to do with the creation and validation of this second set of random keys, it is a special exercise in modular arithmetic. In this cryptography every message can be secured by two random encryption/decryption key sets. The two random key sets are each used only once in a message and are made equal to the message length on every occasion. Encryption. [(Key + X) + (Plaintext +X)] (Mod N) = a residue >= 0 Then, Ciphertext = residue - N Decryption Key = residue + N Decryption. Plaintext (as message-text) = Ciphertext + 2N - KEY ( => value converted back to character equivalent in ASCII) Theory. X is a positive integer parameter that decides the size of the second key set i.e. of N's. Number of moduli produced by a complete run is N = X - 63 Both Key and Plaintext are each an integer in the range 32 to 126. N must divide ((Key + X) + (Plaintext +X)) just once and leave a residue >= 0 The range of N's for a given X is, (X + 63 +127) <= N <= 2(X +32) The values (X + 63 +127) and 2(X +32) are the counters in a FOR Loop that validates N according to certain designed conditions. (see <http://www.scalarcryptography.co.uk>) . While there, especially see download Download - Compendium of Cipher Sourcecode (in preparation) in a title box => see also Make_Moduli_Program_Mark_0 for a working demonstration of how N 's are found, within each downloaded directory (Folder). The methodology of finding N was arrived at by empirical means, it is not an easy think- through. A full expansion of this cryptography is to be found on the website above. Comment. It could be said that this cryptography is an instance of dispersed spatial cryptography in the XY plane as a subset of three-dimensional space vector cryptography. Although vector cryptography is very elegant from a mathematical viewpoint this cryptography is very much more efficient. Having invented both cryptographies I can make this comparison with impunity. They are both theoretically unbreakable in class This cryptography i.e. both the vector displacement-driven and modular arithmetic ciphers are intended to be up and running feasibility models that prove the feasibility of the mathematical theory that is being realised into workable ciphers. The ciphers do not have to tick anybody else's boxes. I have no pretensions to software engineering or infrastructure management and readily agree that the ciphers as they stand need a big input from those experts if they are ever to be adopted for mainstream cryptography. Unbreakable cryptography is thin on the ground while there is a plentiful supply of software engineers and system manager types so there should be no problem finding them. In essence this cryptography owes its crypto strength to the deliberately incoherent, unstructured way in which the plaintext is scattered around a planar space, to a cryptanalyst it is totally invulnerable but is systematically reversible by the legal entities of the secure loop via their mutual databases. These are simple, transparent, symmetric stream ciphers - just straight human intelligence. There are five versions of this cipher available as a single free download from my website. There is also a suitable compiler in the download that will enable them to be run in seconds. The salient thing in my view about these ciphers is the success of the mathematical algorithm at the core - when that works all else is made possible, the cipher is there then for refinement by other experts - my style of coding and anything else about the software development is not important - many readers will find my style of coding ponderous perhaps but that is only the box that the cryptography comes in - I despise flashy (minimalised cool ?) coding as it happens - the ciphers on download are written in the Ada-95 programming language - they can be operated with minimal user-assistance by non-specialist office-trained operators - enjoy - adacrypt A download comprised of the sourcecode of five versions of the cipher is being prepared for my website http://www.scalarcryptography.co.uk .. The download includes a compiler and descriptive PDF with userguide. That should be available in about one week. Copyright © 2009 Austin O'Byrne.
From: Gordon Burditt on 2 Jul 2010 12:28 >Plaintext. >The encryption alphabet for plaintext is the printable subset of ASCII This choice is a major problem for the usability of any cryptography. It doesn't even preserve line lengths. And adacrypt has indicated that he prefers the bizarre choice of inserting newlines every 77 characters, splitting up words at arbitrary places. >i.e. the elements numbered 32 to 126 inclusive. A single module of >this printable subset of ASCII is a random set per se, it has 95 What definition are you using here for "random set"? You expect randomness in plaintext? >characters in all. Plaintext characters for encryption are referenced >by their position as a decimal number in this printable subset set of >ASCII and are assigned an appropriate denary value as their >representation in all future computations. Values is values. It makes no difference whether the value is in decimal or some other base, the math is exactly the same. There may be a difference in how the result is represented if you don't translate back to the 95-character set of characters.
|
Pages: 1 Prev: HMAC vs SHA1 with secret key Next: The Chaocipher algorithm revealed at last! |