DETAILED DESCRIPTION I present a new method and apparatus to secure data from, among things, eavesdroppers, by encrypting it. The encrypted data can be either transmitted to the destination or stored at a desired location. The invention avoids the use of many standard techniques used in encryption methods such as multiplication, addition, discrete logarithms, S-boxes. The invention uses the XOR operation along with a new way to shuffle data blocks that can be easily implemented in hardware. In addition, these operations allow for the data block size and key size to be changed without significant modifications to the overall method. The latter, in particular, is a significant advantage over previous block ciphers such as DES where changes in the data block size or key length necessitate redesigning of the S-boxes, E-boxes and P-boxes. And since the operations used in the method are simple and their properties well-understood in the art, trapdoors are unlikely to be present. To produce the cipher-text of a given plain-text in the method, one needs a key, K, and a data string, S, which is used for the XOR operation. The steps involved in encryption and decryption are as follows: Generation of the key K, and a string S, which are the same length as defined for the data blocks. The key is used for the shuffle operation and the string is used for one of the XOR operations. Splitting of the plain-text into data blocks of fixed length. If the last data block is smaller than the desired size, it is padded with extra bits to make it the same size as the other data blocks. Repeated application (also known as "rounds") of three operations. The first operation is the XOR of the data block D, with the string S, to obtain a new data block, D1=XOR1(D,S). The second operation shuffles the bits of the data block D1, to obtain a new data block, D2=SHUFFLE(D1,K). The last operation of every round is a second type of XOR that uses the bits of the data block D2, and produces a new data block D3=XOR2(D2). After the last round we obtain the cipher-text which will be referred to as E
|