DeepAI
Log In Sign Up

A Public-Key Cryptosystem Using Cyclotomic Matrices

Confidentiality and Integrity are two paramount objectives of asymmetric key cryptography. Where two non-identical but mathematically related keys -- a public key and a private key effectuate the secure transmission of messages. Moreover, the private key is non-shareable and the public key has to be shared. The messages could be secured if the amount of computation rises to very high value. In this work we propose a public key cryptosystem using the cyclotomic numbers, where cyclotomic numbers are certain pair of solutions (a,b)_e of order e over a finite field F_q with characteristic p. The strategy employs cyclotomic matrices of order 2l^2, whose entries are cyclotomic numbers of order 2l^2, l be prime. The public key is generated by choosing a particular generator γ^' of F_p^*. Secret key (private key) is accomplished by discrete logarithm problem (DLP) over a finite field F_p.

READ FULL TEXT VIEW PDF

page 1

page 2

page 3

page 4

11/15/2020

Removable Weak Keys for Discrete Logarithm Based Cryptography

We describe a novel type of weak cryptographic private key that can exis...
02/16/2022

A novel public key cryptography based on generalized Lucas matrices

In this article, we have proposed a generalized Lucas matrix (recursive ...
06/04/2020

Design and Hardware Implementation of a Separable Image Steganographic Scheme Using Public-key Cryptosystem

In this paper, a novel and efficient hardware implementation of steganog...
05/11/2018

Under the Underground: Predicting Private Interactions in Underground Forums

Underground forums where users discuss, buy, and sell illicit services a...
03/13/2019

Learning Symmetric and Asymmetric Steganography via Adversarial Training

Steganography refers to the art of concealing secret messages within mul...
05/28/2019

EncryptGAN: Image Steganography with Domain Transform

We propose an image steganographic algorithm called EncryptGAN, which di...
03/12/2018

An algorithm for hiding and recovering data using matrices

We present an algorithm for the recovery of a matrix M (non-singular ∈ ...

1 Introduction

Apart from a rich history of Message encryption, it became more popular in the 20th century upon the evolution of information technology. In a cryptosystem, both parties (in a two-party system) have a pair of public enciphering and secret deciphering keys Delgosha1 . A party can send encrypted messages to a designated party using a public enciphering key. However, only the designated party can decrypt the message using their corresponding secret deciphering key Ahmad1 .

Discrete logarithm problem (DLP) is a mathematical problem that occurs in many settings and it is hard to compute exponent in a known multiplicative group Meier1 . Diffie-Hellman Hellman1 and ElGamal Gamal1 cryptosystems are the schemes developed under the Discrete logarithm algorithm. Diffie-Hellman brought the new direction in the cryptosystem that introduced key exchange protocol which is based on DLP Hellman1 . For the security perspective, Gamal1 cryptosystem was proposed to introduce a digital signature scheme (DSS) which is based on Diffie-Hellman DLP and key distribution scheme. Many researches had done to overcome the shortcomings of the ElGamal cryptosystem Wang1 and to secure against mathematical and brute force attacks Sharma1 . Elliptic curve cryptosystem (ECC) is another widely used crypto scheme which is based on DLP. The composite discrete logarithm problem (CDLP) is a generalization of DLP which is also used to design public key cryptosystems. McCurley Curley1 proposed an ElGamal signature scheme that is based on CDLP. Pointcheval Pointcheval1 developed an efficient authentication scheme based on the CDLP which is more secured than factorization.

Cyclotomic numbers are one of the most important objects in number theory. These numbers have been extensively used in cryptography, coding theory and other branches of information theory. Thus determination of cyclotomic numbers, so called cyclotomic number problem, of different orders is one of basic problems in number theory. Complete solutions for cyclotomic number problem for = , , , , , , , , , , , , , , , , with

an odd prime have been investigated by many authors see (

Acharya1 ; Helal1 ; Katre3 ; Shirolkar1 and the references there in).

In 1978, McElice McEliece1 proposed a public key cryptosystem based on Goppa codes Hamming metric. Gabidulin Gabidulin1 introduced the rank metric and the Gabidulin codes over a finite field with element, where i.e. , as an alternative for the Hamming metric. In 2006, Delgosha and Fekri Delgosha1 developed a public key cryptosystem using paraunitary matrices, whose entries are polynomials with coefficients from a finite field. Further, in 2018, Lau and Tan Lau1 proposed new encryption with public key matrix by considering the addition of a random distortion matrix over of full column rank . In this work, we consider two important problems in the theory of cyclotomic numbers over . The first one deals with an algorithm for fast computation of all the cyclotomic numbers of order , where is prime. The second one deals with the public key cryptosystem based on cyclotomic matrices of order .

The paper is organized as follows: Section 2 presents the definition and notations, including some well-known properties of cyclotomic numbers of order . Section 3 presents the construction of cyclotomic matrices of order . Section 4 contains methods of encryption and decryption along with a numerical example. Finally, a brief conclusion is reflected in Section 5.

2 Cyclotomic numbers

One of the central problems in the study of cyclotomic numbers is the determination of all cyclotomic numbers of a specific order for a given finite field in terms of solutions of certain Diophantine systems. Complete solutions to the cyclotomy problem over a finite field with characteristic have been investigated by many authors for some specific orders. The problem of cyclotomy of order concerns to formulate all cyclotomic numbers of order . The section contains the definition of cyclotomic numbers of order , useful notations followed by properties of cyclotomic numbers of order . These properties play a major role in determining which cyclotomic numbers of order are sufficient for the determination of all cyclotomic numbers of order . The section also examines the cyclotomic matrices of order .

2.1 Definition and notations

Let be an integer, and an odd prime. One writes for some positive integer . Let be the finite field of elements and let be a generator of the cyclic group . For , the cyclotomic number of order is defined as the number of solutions of the following:

(2.1)

2.2 Properties of cyclotomic numbers of order

Let be a prime for an odd prime and we write for some positive integer . It is clear that whenever and as well as . These imply the following:

(2.2)

Applying these facts, one can check that

(2.3)

and

(2.4)

where is given by

3 Cyclotomic Matrices

This section presents the procedure to determine cyclotomic matrices of order for prime . We determine the equality relation of cyclotomic numbers and discuss how few of the cyclotomic numbers are enough for the construction of whole cyclotomic matrix. Further generators for a chosen value of will be determined followed by the generation of a cyclotomic matrix. At every step, we have included a numerical example for the convenience to understand the procedure easily.

Definition:- Cyclotomic matrix of order , be a prime, is a square matrix of order , whose entries are pair of solutions ; , of the equation 2.1.

(a,b) b
a 0 1 2 3 4 5 6 7
0 (0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7)
1 (1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)
2 (2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)
3 (3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)
4 (4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)
5 (5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)
6 (6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)
7 (7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7)
Table 1: Cyclotomic matrix of order 8

For instance Table 1 depicts a typical cyclotomic matrix of order 8 (assuming l=2). Whose construction steps have been given in the next subsection.

3.1 Construction of cyclotomic matrix

Typically construction of a cyclotomic matrix has been subdivided into four subsequent steps. Below are those ordered steps for the construction of a cyclotomic matrix;

  1. For given , choose a prime such that satisfies , . The initial entries of the cyclotomic matrix are the arrangement of pair of numbers where and usually vary from to .

  2. Determine the equality relation of pair of , which reduces the complexity of pair of solution of equation 2.1, that is discuss in next sub-section.

  3. Determine the generators of chosen (i.e. generators of ). Let , , , …, be generators of .

  4. Choose a generator (say ) of and put in equation 2.1. This will give cyclotomic matrix of order w.r.t. chosen generator .

The first step initializes the entries of cyclotomic matrix of order 2. Value of will be determined for given . Assuming l=2, an example of such initialization of matrix of order 8 has been shown in Table 1.

For the construction of cyclotomic matrix, it does not require to determine all the cyclotomic numbers of a cyclotomic matrix which is shown in Table 1 Helal2 . By well-known properties of cyclotomic numbers of order , cyclotomic numbers are divided into various classes, therefore there are a pair of the relation between the entries of initial table of a cyclotomic matrix. Thus to avoid calculating the same solutions in multiple times, we determine the equality relation of cyclotomic numbers (i.e. equality of solutions of ). In the next subsection, we will discuss which cyclotomic numbers are enough for the construction of the cyclotomic matrix. Thus it helps us to the faster computation of cyclotomic matrix.

3.2 Determination of equality relation of cyclotomic numbers

This subsection presents the procedure to determine the equality relation of cyclotomic numbers (i.e. the relation of pair of ), which reduces the complexity of solutions of pair of (see also Helal2 ). For the determination of cyclotomic matrices, it is not necessary to obtain all the cyclotomic numbers of order . The minimum number of cyclotomic numbers required to determine all the cyclotomic numbers (i.e. required for construction of cyclotomic matrix) depends on the value of positive integer on expressing prime . By (2.2), if is even, then

(3.1)

otherwise

(3.2)

Thus by (3.1) and (3.2), cyclotomic numbers of order can be divided into various classes.

  • and : In this case, (3.1) gives classes of singleton, three and six elements. form singleton class, , , form classes of three elements where and rest of the cyclotomic numbers form classes of six elements.

  • and : In this case, (3.1) divide cyclotomic numbers of order into classes of singleton, second, three and six elements. form singleton class, , , form classes of three elements, where , which is grouped into classes of two elements and rest of the cyclotomic numbers form classes of six elements.

  • and : Using (3.2), once again we get classes of singleton, three and six elements. forms singleton class, , , form classes of three elements, where and rest of the cyclotomic numbers form classes of six elements.

  • and : In this situation, (3.2) partitions cyclotomic numbers of order into classes of singleton, two, three and six elements. Here form singleton class, , , form classes of three elements, where , which is grouped into classes of two elements and rest of the cyclotomic numbers form classes of six elements.

1:START
2:Declare integer variable .
3:INPUT
4:if  is not a prime then
5:     go to
6:else
7:     
8:end if
9:Declare an array of size , where each element of array is

tuple structure (i.e. ordered pair of

, where and are integers).
10:INPUT , prime number greater than 2
11:if  then
12:     
13:     if  even then
14:         Update table (E)
15:     else
16:         Update table (O)
17:     end if
18:end if
Algorithm 1 Equality relation of cyclotomic numbers

Here Update table (E) means each entry of the table will be updated by applying the relations , and Update table (O) means each entry of the table will be updated by applying the relations .

Further, if entries of the updated table are non-negative, then each entry should be replace by , otherwise add . It is clear from above exploration, cyclotomic numbers of order are divided into different classes depending on the values of and . For and let be even, then give unique solution, cyclotomic numbers of the form , , where gives the same solutions and rest of cyclotomic numbers (i.e. ) which forms classes of six elements has maximum distinct numbers of solutions. Therefore the initial table (i.e. Table 1) of cyclotomic matrix reduces to Table 2. Similarly, for and let be odd, then give unique solution, cyclotomic numbers of the form , , where gives the same solutions and rest of cyclotomic numbers (i.e. ) which forms classes of six elements has maximum distinct numbers of solutions. Therefore the initial table (i.e. Table 1) of cyclotomic matrix reduces to Table 3. One can observe that pairs of two parameter numbers reduced to distinct pairs (see Table 2 and Table 3).

(a,b) b
a 0 1 2 3 4 5 6 7
0 (0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7)
1 (0,1) (0,7) (1,2) (1,3) (1,4) (1,5) (1,6) (1,2)
2 (0,2) (1,2) (0,6) (1,6) (2,4) (2,5) (2,4) (1,3)
3 (0,3) (1,3) (1,6) (0,5) (1,5) (2,5) (2,5) (1,4)
4 (0,4) (1,4) (2,4) (1,5) (0,4) (1,4) (2,4) (1,5)
5 (0,5) (1,5) (2,5) (2,5) (1,4) (0,3) (1,3) (1,6)
6 (0,6) (1,6) (2,4) (2,5) (2,4) (1,3) (0,2) (1,2)
7 (0,7) (1,2) (1,3) (1,4) (1,5) (1,6) (1,2) (0,1)
Table 2: Cyclotomic matrix of order 8 for even k
(a,b) b
a 0 1 2 3 4 5 6 7
0 (0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7)
1 (1,0) (1,1) (1,2) (1,3) (0,5) (0,3) (1,3) (1,7)
2 (2,0) (2,1) (2,0) (1,7) (0,6) (1,3) (0,2) (1,2)
3 (1,1) (2,1) (2,1) (1,0) (0,7) (1,7) (1,2) (0,1)
4 (0,0) (1,0) (2,0) (1,1) (0,0) (1,0) (2,0) (1,1)
5 (1,0) (0,7) (1,7) (1,2) (0,1) (1,1) (2,1) (2,1)
6 (2,0) (1,7) (0,6) (1,3) (0,2) (1,2) (2,0) (2,1)
7 (1,1) (1,2) (1,3) (0,5) (0,3) (1,3) (1,7) (1,0)
Table 3: Cyclotomic matrix of order 8 for odd k

Remark 3.0

By Algorithm 1, to compute cyclotomic numbers, it is enough to compute , if , otherwise . Further, when is the least odd prime i.e. , then . Therefore , it is enough to calculate distinct cyclotomic numbers of order and for , it is sufficient to calculate distinct cyclotomic numbers of order .

3.3 Determination of generators of

To determine the solutions of (2.1), we need the generator of the cyclic group . Let us choose finite field of order that satisfy . Let , , , …, be generators of . We consider finite field of order (i.e. ), since the chosen value of with respect to the value of take previously. Now to determine the generators of cyclic group . The detail procedure to obtain the generator of has been depicted in Algorithm 2. If is a set that contain all the generator of , we could get elements of as , , , , , , , .

1:Declare integer variable , count
2:Declare integer array
3:for  to  do
4:     
5:     
6:end for
7:Declare integer array
8:Declare integer variable
9:for  to  do
10:     count=0
11:     for  to  do
12:         
13:     end for
14:     
15:     for  to  do
16:         
17:         for  to  do
18:              if  is equal to  then
19:                  
20:              end if
21:         end for
22:     end for
23:     for  to  do
24:         if  is equal to  then
25:              count++
26:         end if
27:     end for
28:     if count is equal to  then
29:          is generator
30:     end if
31:end for
Algorithm 2 Determination of generators of

3.4 Generation of cyclotomic matrices

This subsection, present an algorithm for the generation of cyclotomic matrices of order . Note that entries of cyclotomic matrices are solutions of (2.1). Thus we need the generator of the cyclic group , which is discussed in the previous subsection. On substituting the generators of in Algorithm 3, we obtain the cyclotomic matrices of order corresponding to different generators of . The chosen value of implies w.r.t. assume value of . Therefore the cyclotomic matrix will be obtain from Table 2. Let us choose a generator (say ) from set . On substituting in Algorithm 3, it will generate cyclotomic matrix of order over w.r.t. chosen generator . Matrix show the corresponding cyclotomic matrix of order w.r.t. chosen generator .

1:INPUT: The value of
2:Declare an array (where elements are two tuple structure)
3:Declare integer variable
4:for a equal to to number of rows do
5:     for b equal to to number of columns do
6:         for  is equal to to  do
7:              for  is equal to to  do
8:                  
9:                  
10:                  
11:                  if  is equal to  then
12:                       
13:                  end if
14:              end for
15:         end for
16:         
17:         
18:     end for
19:end for
Algorithm 3 Generation of cyclotomic matrix

Remark 3.1

If we change the generator to a new generator of , then becomes .

Remark 3.2

It is noted that if we change the generator of , then entries of cyclotomic matrices get interchanged among themselves but their nature remains the same.

Remark 3.3

It is obvious that (by (2.4)) cyclotomic matrices of order is always singular if the value of .

4 The public-key cryptosystem

In this section, we present the approach for designing a public key cryptosystem using cyclotomic matrices discussed in section 3. The scheme employ matrices of order , whose entries are cyclotomic numbers of order . The public key is obtained by choosing a generator and apply Algorithm 3. It gives a cyclotomic matrix of order and further check that whether the matrix is non-singular or not. If this matrix is non-singular, then it is assigned for the public key. A key expansion algorithm is employed for secret key(see Algorithm 4), to form a non-singular matrix of order by the value of another generator () in . The complexity of anonymous decryption could be understood as; if we assume that an attacker wants to recover the secret key by using all the informations available to them. Then they need to solve the discrete logarithm problem (DLP) to find the secret key followed by a number of steps described in algorithm 6.

Let be a prime and . We write if satisfies . The problem of finding such an integer for a given (with ) is the discrete logarithm problem (DLP). However, although most mathematicians and computer scientists believe that the DLP is unsolvable. The complexity of the DLP depends on the cyclic group. It is believed to be a hard problem for the multiplicative group of a finite field of large cardinality. Therefore even determining the very first step is nearly unsolvable.

If it is the case that somehow attacker manages to solve the DLP, then they have to determine equation (2.1) and calculate all the solutions corresponding to different pairs . Further, it is required to determine the relation matrix based on equality relation among the solutions of equation (2.1). Where entries of the relation matrix are two-tuple structure of . Finally, entries of inverse of the relation matrix are required to replace through the implication of DLP.

Here we could observe the computational complexity as it increases with the value of and . Therefore it is nearly impossible to determine the secret key for a large value of and ; hence uphold the secure formulation claim of the proposed work.

1:INPUT: The value of and
2:Algorithm 1
3:Algorithm 3
Algorithm 4 Key Expansion
1:Transfer the plain text (message) into its numerical value and store in matrix of order
2:INPUT: The value of and
3:Algorithm 2
4:INPUT: The value of
5:Algorithm 3
6:Check: Generated matrix by Algorithm 3 is non-singular
7:Choose a generator which is different from in .
8:Determine the relation of and by remark 4.1 and send the value of , , and
Algorithm 5 Encryption
1:Determine by the value of and
2:Algorithm 4
3:Each entries of equality of cyclotomic matrix (i.e. output matrix of Algorithm 1) is multiply by . The entries of the generated matrix are pair of cyclotomic number
4:Compute the inverse of generated matrix in step and substitute the value of each pair of cyclotomic number from generated matrix in step
5:Now multiply the cipher text matrix to generated matrix in step , we get back to the original plain text message.
Algorithm 6 Decryption
Example 1.

Here is an example for our cryptosystem. Let us consider and . Suppose we want to send a message whose numerical value store in matrix of order .

Let us choose value of generator (by Algorithm 2) of cyclic group . Then the public key is given by Algorithm 3, which is

Determinant of is equal to , implies non-singular. Now we encrypt the message by multiplying matrix and , which is as follows:

We choose a generator that is different from public key generator in . Let us consider . Now, we determine the relationship between and . One can write . Consider that . For the decryption, determine the value of by using the values of and . Now by applying Algorithm 1, and 3, we get a cyclotomic matrix, which is shown by matrix . Now each entries of equality of cyclotomic matrix (i.e. output matrix of Algorithm 1) is multiply by . We get matrix whose entries are pair of cyclotomic numbers.

Now compute the inverse of and substitute the value from to each pair of cyclotomic numbers. The matrix becomes

Finally we obtain .

5 Conclusion

In this paper, we have introduced a secured asymmetric key cryptography model applying the principle of cyclotomic numbers over a finite field. Procedure to generate cyclotomic matrix along with public key and private key have been presented where the relation between the public key and private key has acquired by discrete logarithm problem (DLP). Finally, a convincing argument to strengthen the claim has been presented followed by the method of encryption, decryption and a numerical example.

References

  • (1) F. Delgosha, F. Fekri, Public-key cryptography using paraunitary matrices, IEEE Trans. Signal Process, 54 (9) , .
  • (2) J. I. Ahmad, R. Din, M. Ahmad, Analysis review on Public-key cryptography algorithms, Indonesian J. Elec. Eng. Comp. Sci., 12 (2) , .
  • (3) A. V. Meier, The ElGamal cryptosystem, , .
  • (4) W. Diffie, M. E. Hellman, New directions in cryptography, IEEE Trans. Inf. Theory, 22 (6) , .
  • (5) T. ElGamal, A Public-key cryptosystem and a signature scheme based on discrete logarithms, IEEE Trans. Inf. Theory, 31 , .
  • (6) Y. Wang, W. Bao, Y. Zhao, H. Xiong, Z. Qin, An ElGamal encryption with fuzzy keyword search on cloud environment, IJ Network Security, , .
  • (7) P. Sharma, S. Sharma, R. S. Dhakar, Modified ElGamal cryptosystem algorithm (MECA), 2011 Int. Conf. Comput. Commun. Tech. ICCCT-2011, , .
  • (8) K. S. McCurley, A key distribution equivalent to factoring, J. Crypto., 1 , .
  • (9) D. Pointcheval, The composite discrete logarithm and a signature scheme based on discrete logarithms, In: Proceedings of the 2000 Int. Workshop on Practice and Theory in Public Key Cryptography (PHC’2000), LNCS 1751, Springer, Berlin, Heidelberg, , .
  • (10) V. V. Acharya, S. A. Katre, Cyclotomic numbers of orders an odd prime, Acta Arith., 69 (1) , .
  • (11) M. H. Ahmed, J. Tanti, A. Hoque, Complete solution to cyclotomy of order with prime , J. of Ramanujan, DOI: 10.1007/s11139-019-00182-9.
  • (12) S. A. Katre, A. R. Rajwade, Complete solution of the cyclotomic problem in for any prime modulus , , , Acta Arith., 45 , .
  • (13) D. Shirolkar, S. A. Katre, Jacobi sums and cyclotomic numbers of order , Acta Arith., , .
  • (14) R. J. McEliece, Public-key cryptosystem based on algebraic coding theory, Coding Thv., 4244 , .
  • (15) E. M. Gabidulin, Theory of codes with maximum rank distance, Probl. Pereda. Inf., 21 , .
  • (16) T. S. C. Lau, C. H. Tan, A new technique in rank metric code-based encryption, Cryptography, 2 (4) , .
  • (17) A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Handbook of Applied Cryptography, CRC Press, New York .
  • (18) D. R. Stinson, Cryptography: Theory and Practice, CRC Press, Boca Raton .
  • (19) A. V. Aho, J. E. Hopcroft, The design and analysis of computer algorithms, Pearson Education India, (1974).
  • (20) M. H. Ahmed, J. Tanti, Computation of Jacobi sums and cyclotomic numbers with reduced complexity, Bulletin of Pure and Applied Sciences, 38E (1) , .