Page 114 - Kaleidoscope Academic Conference Proceedings 2024
P. 114

2024 ITU Kaleidoscope Academic Conference


























                  Figure 1 – Schematic of the proposed quantum-resistant encryption for secure end-to-end communication.


           represents the encryption process. Where,          Algorithm 2 Enc(pk, m): Encryption
                                                               1:    ← B 32
             •    is a matrix used in the encryption process made from            
                                                               2:        ←   (  ) :=   
               pk, a, where each row of    is generated with the help of          
                                                               3:    ← XOF(  ) and    ← XOF(  )
               boolean OR operation of elements between a and pk.       ×           
                                                               4:    ∼     and    ∼   
                                                                                    
                                                               5: for    = 0 to size of    do
             •    is the secret key vector made up of both   k and       Í     Í 256
                                                               6:    [  ] =        =0 (  [   ] or   [  ])
                   _   , where     _   represents the dimensions that are  Í   ∈      
                                                               7:    [  ] =      _  [  ] +    × [  /2]
               excluded from multiplication with matrix    to calculate      ∈          
                                                               8: end for
               the resultant vector present in   . Excluding dimensions
                                                               9: return    := (  ,   )
               in   _   increases the hardness to reduce the lattice for
               short vectors.                                 3.3 Decryption
             •    is an error vector, which introduces randomness and
                                                              The decryption algorithm attempts to recover the original
               ensures that the encryption process is secure its range is
                                                              text from the cipher text (c:= (u, v)). Since the cipher text
               being calculated by the Gaussian function.
                                                              contains two matrices, each row of matrix u contains the
                                                              coefficients of n dimensions for each bit and matrix v contains
             •     _   is the encrypted text vector which is then
                                                              the modulo resultant for each of the single bits. So, The
               compressed and sent as a public key(pk).       decryption algorithm takes each row separately and passes
                                                              through function H, in which the dot product of a secret
           3.2 Encryption and Cipher Text                     vector with each row is done and the redundant dimensions
                                                              results are removed ( Í       =0    .  [  ][   ] −  Í       =0    [  _  ].  [  ][   ]).
           The encryption function is defined to encrypt a given  Then we consider the difference between the result we got
           message. It iterates over each character of the message,  with the corresponding row of the v vector. Then check the
           converts it to binary representation, encrypts each bit using  probability if the difference is less than      to get the bit 0 or
                                                                                              4
           the public key, and generates encrypted text based on the  1. Combining all the bits we get our original text message.
           encryption algorithm. Fig. 1 shows the schematic of the
           proposed quantum-resistant encryption for secure end-to-end  Algorithm 3 Dec(sk = s, c = (u , v)): Decryption
           communication. The code iterates over each character of  1:    :=   (size of u)
           a given message (s), converts it to binary representation,  2: for    = 0 to size of    do
           encrypts the binary representation using the encryption  3:    [  ] =       (    [  (  [  ] −  Í 256    .  [  ][   ])] < [  /2]) :=
                                                                                          =0
           function, and stores the encrypted text in the vector array.  0
           The plain text “m” then first we have to convert into binary  4:  else   [  ] = 1
           so “M” = “1 0 1 1 0 0 1”, Where M is an array containing  5: end for
           the binary bits for a message m. Now, each of its bits will  6: return m
           randomly take any “  ” number of rows of “A” and “pk_t”
           and add them to form a new set of equations. So, here let’s
           suppose at random we chose any number of rows then for the  4.  CORRECTNESS AND SECURITY
           1st bit the equation will be. And since this bit is equal to “1”
           we will also add in the RHS side with the resultant a q/2 extra  Correctness: In the absence of errors within the LWE
           term and then modulo with q else 0 will be added.  samples provided, the inner product between the error    =




                                                           – 70 –
   109   110   111   112   113   114   115   116   117   118   119