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 –