A Cryptographic Technique Involving Finite Fields and Logical Operators

Objectives: The aim of this study is to propose a new encryption/ decryption technique which involves logical operators and finite field. Methods/statistical analysis: The study proposes a new method for encrypting/decrypting messages which use logical operator XOR and finite field. The method involves sharing common keys between sender and receiver. Then converting plain text into ASCII values bit-form. XORing this with random matrix and then using finite field GF (2^5) for converting it into polynomial elements. These elements are then used for creating cipher text. Decrypting process is reverse of encrypting process. Findings: The technique uses 6×6 matrix form for encrypting messages which can be very difficult to crack with known plain text attacks. The use of XOR operations displaces bits in matrix which makes it difficult to break by brute force technique. Application/improvements: The technique is useful in areas where sensitive information is to be transferred like banking, military services. If the private key has got into third-party hands, the damage can be huge. To overcome this, the proposed algorithm can be used by randomizing the keys used for encrypting the messages which will provide different keys for encrypting different data blocks.


Introduction
Rapid increase in wireless communications has led to increasing need for secure exchange of information between sender and receiver. Various places where securing transmitting information is necessary like banks, online currencies and such services needs extra precautions to be taken before transmitting information. Cryptography plays an important part in securing this information. For all aspects of information security, Cryptography is the study of mathematical techniques. Encryption is the process in cryptography which encodes some information in such way that hackers cannot read it. Only with a decryption code, it becomes readable [1][2][3].
The oldest art of communication is encryption/decryption process. Various secret or important messages are sent such that any third party cannot be able to read. Since many years military and government is using cryptography to establish secret communication. Due to the emerging use of communicating devices, nowadays cryptography is also being used in civilians systems.
Using an encryption algorithm the message or information is encrypted in an encryption scheme and convert the message into an unreadable form known as cipher text. The original message is not determine by anyone from encrypted message, is the main purpose of encryption. Using the corresponding decryption algorithm, only authorized party will be able to decode this cipher text. For unauthorized people, the stronger cipher text is harder to break.

Finite Fields
A finite field is a field with finite number of elements. If field 'F' is an abelian group under multiplication and addition then F is called as field. Finite field is also called as Galios field. The order of finite field i.e. number of elements of finite field is always equal to prime number or power of prime number. There exists exactly one finite field for each prime number. A finite field is set with certain rules with multiplication, addition, subtraction, and division operations. Galios field can of any degree [4,5]. For example, GF (2^8). Its elements can be thought of as polynomials of degree 7 or less with binary coefficients (0 or 1). Addition of two field elements is addition of the two polynomials with coefficients being added modulo 2.

Logical Operators
Logical operators are used to combine two or more conditions or to complement the values under consideration. There are several logical operators like AND, OR, NOT, XOR, and XNOR which are used by various researchers [6]. Most logic gates have two inputs and one output and are based on Boolean algebra. Digital logic gates like XOR and XNOR are used in military cryptography [7] for generating linear feedback shift register. In our article, we will use properties of XNOR in combination of Galios filed GF (2^n) for encryption/ decryption.

Literature Survey
For encryption and decryption of message, in the field of cryptographic algorithm, there are huge amount of work done by the various researchers. In this section, some work are explained, which will be useful in the proposed work: In Ref. [8], Sharma and Rehan proposed two-fold securities to the existing Hill cipher by using the elements of finite fields and logical operator. Author gives an algorithm which increases the security of Hill cipher. The proposed algorithm along with illustration involves the encryption and decryption of plaintext by making the use of elements of finite fields and logical XNOR operator.
In Ref. [9], Sharma and Sharma proposed to modify the Hill Cipher by multiplying K and K −1 , one on the left side and another on right side of the plain text matrix in encryption as well as decryption and use the permutation on the binary bits. In addition, author use the elements of finite field for the purpose of more security.
In Ref. [10], Savas and Koc worked on to provide a concise perspective on designing architectures for efficient finite field arithmetic for usage in cryptography. Author present different architectures, methods and techniques for fast execution of cryptographic operations as well as high utilization of resources in the realization of cryptographic algorithms.

Methodology
Following [8][9][10] and others we will establish some new encryption and decryption algorithm of a message involving finite field and logical operations. Here we propose an algorithm which is based on the elements of finite fields, logical XOR operation, and bitwise complement operator. It will provide security in two levels. Therefore, there will be least possibilities of Brute force attack.

Encryption Algorithm
1. Sender and receiver shared a Secret key, where Secret key is the (n − 1) × (n − 1) nonsingular matrix and n is a positive integer. 2. Sender converts the Plaintext into pre-assigned numerical values (here we choose ASCII-7 code). 3. These numerical values are converted into 7-bit string using ASCII table, we get a matrix M 1 (say). 4. Consider a random matrix A of order (n − 1) × (n − 1). 5. To perform XOR operation with each column of matrix M 1 , randomly select columns/ rows of A 1 . Obtain a matrix M XOR . 6. Applying bitwise complement operator on M XOR , which gives the matrix M' XOR. 7. Entries of M' XOR converted into the elements of GF (2 n ). Multiply each entry of produced matrix by α n , which gives a matrix K. If α has the power less than 2 n − 1 in matrix M 3 (say) then entries in K are 0 otherwise 1 send this matrix K to the receiver. 8. Applying mod (2 n − 1) on the entries of matrix M 3 for reducing the powers, we get another matrix M 4 (say). 9. Each entries of matrix M 4 are converted into 7-bit binary string. To obtain cipher text converts these binary strings into their corresponding text character using the ASCII code.

Decryption Algorithm
1. Convert the encrypted message into corresponding binary form (here we choose ASCII-7 code) of n-bits and arrange them in a matrix of order (n − 1) × (n − 1), then change into elements of GF (2 n ), we get a matrix D 1 (say). 2. Those entries of D 1 are multiplied by 2 1 n α − which represents 1 in the corresponding key matrix K (say) and get a matrix D 2 (say). 3. Each entries of D 2 are multiplied by α −n and convert them into corresponding binary elements of n-bits using finite field GF (2 n ), we get a matrix D 4 (say). 4. Applying bitwise complement operator, we get the matrix M XOR , 5. Recognizes the rows/columns of matrix A 1 randomly preferred by the sender to perform XOR operation with each column of matrix M XOR (say D 5 ). 6. Each entries of resulting matrix (find in step 5) are converted into their corresponding numerical values (here we choose ASCII-7 code). We get the matrix M. 7. Each entries of M converted into their corresponding alphabet, we get Plaintext.

Encryption Steps
1. Consider a non-singular matrix of order 6 × 6 randomly as follows: 6. Choose the rows/columns C 1 , R 2 , C 3 , R 4 , C 5 , R 6 from the matrix A 1 at random to perform the logical XOR Operation with each column of matrix M 1 .  and choose the key matrix K such that if power of α in is greater than 127, then entry in the key matrix is taken 1 otherwise 0. Therefore, K is