From msuinfo!agate!howland.reston.ans.net!EU.net!sunic!trane.uninett.no!news.eunet.no!nuug!news.eunet.fi!news.spb.su!KremlSun!kiae!relcom!isknews!pccentre!news Fri Dec 10 23:46:30 1993 Newsgroups: sci.crypt From: "Aizenberg Igor" Message-ID: <2d07ab9c@dkl.msk.su> Distribution: world Subject: AC - a new cryptosystem Organization: DKL Ltd. Date: Thu, 09 Dec 93 17:49:59 +0300 Path: msuinfo!agate!howland.reston.ans.net!EU.net!sunic!trane.uninett.no!news.eunet.no!nuug!news.eunet.fi!news.spb.su!KremlSun!kiae!relcom!isknews!pccentre!news Sender: news-server@pccentre.msk.su Reply-To: prog@dkl.msk.su Lines: 201 "AC" - ABSOLUTE CRYPTOGRAPHER - A NEW CRYPTOGRAPHIC METHOD AND SOFTWARE SYSTEM This cryptosystem is protected by patent of Malta Form E Warrant No 1082. Patent has been published on October, 15-th, 1991 with priority date March 26-th, 1991. We would like to present below fragment of the patent description that contents the main idea of the method and brief description of the software implementation of the method that has been recently designed. We will appreciate, if dear colleagues could find time for reviewing of the method and for all remarks and suggestions. Method consists of the next. The information to be (by text of the patent) "transmitted is codified by eight-positional binary code (one byte long code), then this byte is identified with the vector of values ( at all sets of variable values ) of the corresponding Boolean function of three variables. Then this function brings the parametrical vector , composed of four components (weights), that take the values in Complex Number Field, in conformity. Such a vector may be found for any Boolean function of three variables, and, accordingly, for any eight-positional binary code." This fact has been prooved and published in, i.g. Aizenberg I.N. "The Universal Logical Element over the Complex Number Field", "Cybernetics", 1991, No 3 (in Russian). "Besides that any Boolean function and, accordingly, eight-positional binary code can have an infinite number of parametrical vectors.( Identification of any eight-positional binary code with the values vector of a certain Boolean function of three variables is rightful, for this vector represents binary vector of the length 8 and different Boolean functions of three variables, as well as there exists exactly 256 binary codes of the length 8). Parametrical vector, corresponding to the given eight-positional] code, is transmitted by the communication channel, and at the receiving side the message is being monosemantically restored by this parametrical vector with the help of the key. The key, with the help of which the transmitted message is restored at the receiving side has the following structure. Restoration of the message in this case consists in restoration of eight-positional binary code and, thus, the message itself, by parametrical complex-valued vector.To restore binary code it is necessary to restore values vector of the corresponding to this code Boolean function at all sets of variable values by parametrical vector. It is done as follows. Let us assume that (W0, W1, W2, W3 ) - parametrical vector (code) of binary code f = (f0, f1, f2, ...,f7) ( f(i) from {0,1}, i = 0,1,...,7 ); (x1,x2,x3) - set of Boolean variables. We should note that here in after Boolean functions take values in binary alphabet {1,-1}, and not in {0,1}, 1 corresponding to the zero, and -1 corresponding to the 1. At every set of values of Boolean variables , starting from (1,1,1);(1,1,-1) and ending by (-1,-1,-1) there is the value of weighting sums of these variables ( all in all there will be 8 such sums): Z = W0 + W1*X1 + W2*X2 + W3*X3, i = 0,1,...,7." Then the value of key-function is calculated for every Z , that is determined by the some non-linear transformation that performs Z to the value of the function f: P(Z) = f. "Thus, the essence of the proposed key is the fact that any Boolean function of three variables may be represented by parametrical vector (W0, W1, W2, W3), all W in general being complex numbers. every function can have an infinite number of parametrical vectors.The function, i.e. its vector of values (eight-positional binary code ) is being restored at all sets of values of variables according to the following law : P(Z) = P(w0 + w1*x1 + w2*x2 + w3*x3 ) = f(x1,x2,x3). While putting this method into practice, the cipher of every eight-positional binary code can be changed every time this code is repeated (for there is an infinite number of parametrical vectors for every code) without any coordination with the receiving side." In order to guarantee defense from non-sanctioned access to the enciphered information even in case when the the key of the method become known, one should modify the definition of the key (modify key-function P(Z) ) by some coordinated time law. It should be noted that the described encryption method can be used not only with the binary code words of the length 8, but with the codes with greater length, 16,for example. In this case the corresponding 16-positional binary code is identified with the value vector of the Boolean function of four variables, that is described by 5-dimensional complex-valued vector-cipher (W0,W1,W2,W3,W4). This cipher is transmitted by communication channel, and at the receiving side the information is being restored with the help of key-function. Subject of the invention (according to the text of the patent): "Having now particularly described and ascertained the nature of our said invention and in what manner the same is to be performed we declare that what we claim is METHOD TO ENCRYPT INFORMATION , the essence of which consists in codifying information by 8-positional binary codes, which are enciphered then at the transmitting side, transmitted by communication channel and deciphered at the receiving side,differing in the fact that in order to avoid non-sanctioned access this 8-positional binary code is identified with the values vector of the Boolean function of 3 variables, that is described by 4-dimensional complex-valued vector-cipher (each Boolean function has an infinite number of such vector-ciphers); this cipher is transmitted by communication channel, and at the receiving side this 8-positional binary code and the corresponding message is monosemantically restored by vector-cipher with the help of the key-function. Besides that, at the receiving side the key-function can be changed by coordinated time law, and the same happens with the vector-ciphers at the transmitting side." Recently we designed software implementation of the method that has been described above in the text of our patent. But algorithm that implemented by software "ABSOLUTE CRYPTOGRAPHER" (AC) has some features. 1.Firstly information that has be encrypted (one or more files) is compressed by original method in 3-4 times. 2.Compressed information is encrypted by method that described in the text of the patent with some changes : 2a. Addition is non-associative operation ( (a+b)+c<>a+(b+c) ). This property is possible, if addition is defined by some special way. All weights (parameters) of the Boolean functions of 3 variables are represented by their arguments only which are integer numbers and have constant amplitudes, and addition is reduced to addition of the integer numbers with shifting. 2b. Changing of the key-function P(Z) is doing before encryption of the each byte of the encrypting sequence. Law of such an changing is determined by the password (key) which has be defined by user and consists of 1024 or less symbols (one can write this password-key to file in advance or type it on the keyboard) and based on the evaluation of linear combination of the codes of password symbols. User has absolutely freedom in the choosing of the key-password sequence. 3.According to the fact that each Boolean function has infinite number of the parametrical vectors (weights) that represented it, each version of the software AC has individual set of the basic parametrical vectors which never can be obtained one from other because there are generated by the so complete operation with random numbers. It is possible to generate 2**32 different variants of the basic parametrical vectors. Therefore, information that has been encrypted by one version of the AC never can be decrypted by another one. >From our point of view the main advantages of method "AC" in comparison with popular method DES are the next. 1. In DES all information are encrypted with the same key, it means, the key does not change for each portion of encrypted information. And so, if cryptoanalyst can decrypt even minimum part of encrypted information, it will be easy to recognize the key and correspondingly one will be able to decrypt all information right away because the key does not change. There is no key as such in method "ABSOLUTE CRYPTOGRAPHER". It (more exact they) is calculated according to the password which determined by user. The password has 1024 symbols long. 512 keys are automatically calculated according to this password and each new byte from encrypted consistency is encrypted with new key. And so, even in the case of decryption of portion of encrypted information using some methods (this is absolutely incredibility, see below), as distinct from DES will not help to decrypt the other part of encrypted information. Because only each 512-th byte will be decrypted correctly in the case of finding one of the 512 keys. If we will suppose that somebody will do attempt to find key-password sequence, it will be necessary for him to sort not less than (26+26+10+10)**1024 = 72**1024 variants (26-number of large English letters, 26-number of small English letters 10 - number of digits and 10 - number of special symbols which are on the same keys that digits, if we suppose that key-password consists only from these symbols). One may compare such sorting with sorting of the 2**64 variants for finding of the key in DES. 2**64 is rather great number, but 72**1024 (this is approximately 2**7000) makes any sorting absolutely impossible. We think that such property makes a good protection of information even of authors of method and software "AC". 2.Method "AC" is absolutely staying-power of any cryptoanalytical and statistical analysis. Two complete non-linear transformations of information (compressing and encryption) makes statistical analysis of the cipher absolutely impossible. This quality is guaranteed by two complete non-linear transformations that convert input information to the coefficients of the equations of non-linear surfaces fragments in the 3-dimensional Complex space. If one use 1024 symbols in the key-password, 512 different equations of such surfaces fragments exists. Correlation between border coefficients, groups of the coefficients, including groups corresponded to the same byte in the input sequence is equal to zero as a rule (or closer to zero). 3.Another advantage of the method "AC" is in fact that this method is stream method (each byte of the input information encrypted independently using different keys). Therefore it is impossible to restore all keys by fragment of the key-password and cipher has higher protection from errors (errors in the communication line involve incorrect encryption only of separated bytes) in comparison with block methods. Algorithm AC can easy be implemented in hardware because there are only simple operations with integer numbers (adding and shifting) in it. If you have suggestions, comments, or criticism, please sent them to us by E-mail: prog@dkl.msk.su AC is protected by Patent of Malta Form E Warrant No 1082 with priority date March 26-th, 1991. Inventor: DKL Ltd - international company registered in Malta Authors: Prof., Dr. Naum N.Aizenberg; Dr. Igor N. Aizenberg Software designer: DKL Ltd - Moscow Department. Address: DKL Ltd - Moscow Department, Russia, Moscow, fax: (7 095) 244-72-65; phone: (7 095) 248-59-04; Telex: (64) 412062 OCTET SU, BOX 50371 E-mail: prog@dkl.msk.su