Next Article in Journal
New Criteria on Oscillatory and Asymptotic Behavior of Third-Order Nonlinear Dynamic Equations with Nonlinear Neutral Terms
Next Article in Special Issue
Unidimensional Two-Way Continuous-Variable Quantum Key Distribution Using Coherent States
Previous Article in Journal
Patient-Specific Network for Personalized Breast Cancer Therapy with Multi-Omics Data
Previous Article in Special Issue
Applicability of Squeezed- and Coherent-State Continuous-Variable Quantum Key Distribution over Satellite Links
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Non-Invertible Public Key Certificates

by
Luis Adrián Lizama-Perez
1,* and
J. Mauricio López R.
2
1
Dirección de Investigación, Innovación y Posgrado, Universidad Politécnica de Pachuca, Ex-Hacienda de Santa Bárbara, Zempoala, Hidalgo 43380, Mexico
2
Cinvestav Querétaro, Libramiento Norponiente 2000, Real de Juriquilla, Santiago de Querétaro, Querétaro 76230, Mexico
*
Author to whom correspondence should be addressed.
Entropy 2021, 23(2), 226; https://doi.org/10.3390/e23020226
Submission received: 18 December 2020 / Revised: 7 February 2021 / Accepted: 10 February 2021 / Published: 12 February 2021
(This article belongs to the Special Issue Quantum Cryptography II)

Abstract

:
Post-quantum public cryptosystems introduced so far do not define a scalable public key infrastructure for the quantum era. We demonstrate here a public certification system based on Lizama’s non-invertible key exchange protocol which can be used to implement a secure, scalable, interoperable and efficient public key infrastructure (PKI). We show functionality of certificates across different certification domains. Finally, we discuss a method that enables non-invertible certificates to exhibit perfect forward secrecy (PFS).

1. Introduction

Since its origin in the late seventies, public key cryptography (PKC) has been exploited to support user authentication and digital signatures over the internet. In PKC, each user has two keys, the public P u and the private key P r , which are mutually inverse in some mathematical sense. Not taking into account formal details we would write that P r = P u 1 thus, to achieve confidentiality, a message m is encrypted using Bob’s public key; symbolically we write [ m ] P u , then it is decrypted with the private key so m = [ m ] P u P u 1 . In contrast, to guarantee message authentication, m is encrypted with Alice’s private key and decrypted with her public key. Symbolically we can write it as m = [ m ] P r P r 1 .
Unfortunately, Shor’s algorithm [1] solves over a hypothetical quantum computer, the mathematical problems on which PKC is supported: integer factorization and discrete logarithm. In fact, most of the public key cryptosystems used today will become obsolete in the foreseeable future because they would be broken by quantum computers [2]. For this reason, the National Institute of Standards and Technology (NIST) initiated in 2015 a process to evaluate cryptographic algorithms to choose the appropriate methods for the quantum era. To this date, the selection process is in the third evaluation round [3,4].
The present work enhances a newly claimed post-quantum method called non-invertible key exchange method (ni-KEP) which was conceived to establish a secret key between two remote parties. Lizama’s ni-KEP is mathematically supported by Euler’s theorem as RSA, it uses exponentiation to exchange a secret key as Diffie–Hellman and it encrypts/decrypts through invertible multiplication as ElGamal cipher. Lizama’s non-invertible key exchange protocol was introduced in [5]. Initially, the protocol was conceived to transfer a secret value from Alice to Bob. We describe briefly the three development stages of the algorithm:
1.
Multiplication-based protocol. In a ring with unity over Z n where n = p · q and p, q are prime numbers. An integer may or may not have a multiplicative inverse. Multiplication between invertible and a non-invertible integer yields a non-invertible integer according to the basic properties of modular arithmetic. Alice multiplies a random non-invertible v a by a random invertible k a , then she sends the result to Bob who multiplies it by his random invertible k b returning the resulting integer to Alice who removes k a multiplying by k a 1 and sending the result to Bob. Finally, Bob removes his invertible integer applying k b 1 . At this point Bob has obtained v a . Although a non-invertible integer does not have a multiplicative inverse, hence factorization of the public integers are prohibited, a division attack is discussed in [5].
2.
Exponent-based protocol. The integer that results after exponentiation say p x a gives a non-invertible integer. Using this math property, the protocol defines that Alice sends p x a k a mod n to Bob who returns p x a k a k b mod n to her. Then she multiplies it by k a 1 and sends back p x a k b mod n . Bob applies k b 1 thus obtaining the shared secret p x a mod n . Unfortunately, this version of the protocol is also vulnerable to a division attack [5].
3.
Non-invertible KEP. This protocol defines a public key exchange algorithm. To surpass the division attack, ni-KEP introduces Euler’s identity to derive the keys which are defined according to the relations { p x i k i mod n , q y i k i mod n } , i = a , b for Alice’s and Bob’s public keys respectively and n is obtained as n = p · q · r where p and q are small prime public numbers and r is a big prime public integer. On the other hand, { k i , x i } constitute the private key, while the number y i is derived from the equation ϕ ( n ) = x i + y i + 1 where ϕ ( n ) is the Euler’s totient equation. A detailed discussion of this protocol will be presented in a later section.
The public keys of the ni-KEP (and also the cipher texts) exhibit perfect indistinguishability [5]. It means, in the first case, that every k i in the ring satisfies the public key (exists a corresponding x i ). In the second case, it implies that each ciphertext c i can be derived by any k i in the ring (exists a corresponding m i ). In view of the above, we claim that the unique opportunity for the eavesdropper, in order to get the private key (or the plaintext), is implementing an exhaustive search among the elements in the ring which is equivalent to searching an unsorted database problem.
Consider symmetric cryptography, which is assumed to be post-quantum because a quantum computer running Grover’s algorithm requires computational cost proportional to the square root of the key size which takes O ( N ) time. Despite this, an adjustment in the key size prevents the crypto system of being vulnerable to Grover’s algorithm which is the fastest possible quantum algorithm for searching an unsorted database. By contrast, a classical computer requires a linear search, which is O ( N ) in time to find the same entry [6].
For this reason, we claim that our algorithm is post quantum. On the other hand, we do not devise how Shor’s algorithm would be used to break this protocol. As a consequence, Lizama’s key sizes must be carefully chosen to resist a hypothetical quantum computer running Grover’s algorithm.
Our contribution. In this work, we enhance Lizama’s non-invertible key exchange method [5] in order to support Certification Authorities (CA) to allow users to exchange digital certificates which are bounded to their public keys. We claim that our cryptosystem exhibits competitive key size and is able to handle certificated keys, interdomain certification and perfect forward secrecy.
Organization of the paper. First, in Section 2, we discuss the main quantum cryptographic approaches: quantum and post-quantum. In Section 3, we summarize principles of public key cryptography considering digital certificates and the Certification Authority role. Then we describe in Section 4 Lizama’s non-invertible protocol to put forward and in Section 5 how Lizama’s KEP can be used to support CAs in single and multiple certification domains. Finally, Section 6 explains a method to derive a new session key from a past session key, thus achieving Perfect Forward Secrecy (PFS). Appendix A contains a brief description about RSA and DH cryptosystems along two possible attacks: prefix and multiplication-based attacks.

2. Cryptography in the Quantum Era

Cryptography in the quantum era can be classified into two main approaches: quantum and post-quantum cryptography. A formal discussion of such approaches is beyond the scope of the present article. Let us simply mention that quantum cryptography relies on quantum physics principles that allow to establish a secret key between two authenticated remote parties [7]. The eavesdropper cannot control quantum communication because it produces a detectable noise. Works have been done recently to resist quantum attacks [8,9,10].
On the other side, post-quantum cryptography encompasses cryptographic mathematical methods conceived to resist computational capacity of quantum computers [4,11]. Several methods have been formulated based on computational problems whose complexity surpass the theoretical capacities of quantum computers. Not wishing to fully cover all cases, most promissory techniques include lattices, supersingular isogeny, multivariate equations, code and hash-based cryptography.
Lattice-based methods have demonstrated good performance, by generating short ciphertext, short keys and short signatures [12,13]. Similar to Diffie–Hellman key exchange is the Supersingular Isogeny Diffie–Hellman (SIDH) method which is a quantum resistant key exchange algorithm [14,15]. Supersingular Elliptic Curve Isogeny Cryptography (SIDH) produces very small key sizes but it shows slower performance. The representative algorithm is the Supersingular Isogeny Key Encapsulation (SIKE). The basic objects of multivariate cryptography are systems of nonlinear (usually quadratic) polynomial equations in several variables over a finite field. When performing a digital signature, the set of equations constitute the public key. The receiver computes the hash to verify that the output of the equations corresponds to the hash of the message that is signed [16]. A code-based cryptosystem is essentially a form of error correction code. The private key is a code C, which allows to correct t errors. The sender will encode the message with the public key and include t errors during encoding, then the ciphertext is obtained by adding an error vector to each codeword. With code C, the receiver will be able to accurately correct the errors when decoding the message. Hash-based cryptography was introduced by Lamport, later it was enhanced using Merkle trees [17] and Lizama’s hash-based methods [18,19].

3. Public Key Cryptography

3.1. Digital Certificates

A cryptographic certificate is basically, a verified public key signed by a third trusted party called Certification Authority (CA). By using this method, each user can verify the origin of a request before accepting it. The importance of a certified key can be illustrated showing a man in the middle (MITM) attack over the Diffie–Hellman (DH) protocol, the first public key exchange algorithm [20]. In Figure 1, we represent the steps required for this key exchange algorithm where the integer prime p and g are publicly known. A description in depth can be found in Appendix A.
Since there is no method to verify the origin of the integer numbers exchanged across the public channel, an eavesdropper can implement a man in the middle (MITM) attack over the Diffie–Hellman method as it is observed in Figure 2.
To avoid an MITM attack over DH protocol, the RSA algorithm can be added to the exchange protocol. RSA is described in Appendix A. Another common method to protect DH key exchange algorithm is elliptic-curve cryptography [21,22], however Lizama’s protocol is closely related to RSA, thus we describe here RSA and DH.
Figure 3 shows that Alice encrypts the DF constructor g x a mod p with Bob’s public key written as ( e b , n b ) , so that only Bob can decrypt it using his private key d b . Alice verifies the received message because it is attached a hash of the secret key computed by Bob as represented in Figure 3.
In order for Alice to verify Bob’s public key, provided it does not come from an illegitimate user, Bob must register first his public key with the Certification Authority abbreviated as CA (a third trusted party). Generally speaking, Bob obtains a certificate of his public key C B after CA encrypts (signing) Bob’s public key with CA’s private key P R C A . In the next relations, encryption (or decryption) process is denoted as square brackets while the encryption (or decryption) key is outside the brackets:
C B = [ P U B ] P R C A
Every user can obtain and verify Bob’s public key decrypting C B with CA’s public key P R C A :
P U B = [ C B ] P U C A

3.2. Certification Authority (CA)

As mentioned earlier, a Certification Authority (CA) is a trusted third party that signs a user public key using CA’s private key therefore binding the subject’s identity (and associated information including the name of the owner) to the user’s public key inside a cryptographic certificate. Cryptographic certificates can be exploited to achieve digital signatures in a wide broad of internet transactions and PKI: certificates (X.509), secure channels (TLS) and email (S/MIME).
In view of the imminent arrival of quantum computers, it is unpostponable to develop strategies to adapt the public key infrastructure (PKI) for transition to the quantum era [3,4]. Up to now, few works have been published that adapt existing certificates to quantum certificates or hybrid certificates, which include two public keys for the subject, one classical and one post-quantum and two CA signatures [23,24]. Other works have evaluated existing mechanisms to deal with large records like record fragmentation, segmentation, caching and compression [25]. One the main challenges reported is the difficulty to manage larger certificates by some cryptographic software libraries.
ITU-T Recommendation X.509 defines the format of public key certificates as well as the provision of authentication services under a centralized control scheme that is represented by a directory [26,27]. X.509 assumes a hierarchical system of Certificate Authorities (CAs) for issuing certificates. This contrasts with web of trust models, like PGP, where users sign others’ key certificates to establish the authenticity of the binding between a public key and its owner [28].
A PKI is arranged hierarchically, so that there is always a direct path (a certificate chain) from the root CA to every end-entity. Therefore, with many users, it may be more practical to have a series of CAs, each of which securely provides its public key to a fraction of the users.
If Alice has a certificate from CA 1 and Bob owns a certificate from CA 2 but Alice does not securely know the public key of CA 2 , then Bob’s public certificate emitted by CA 2 , cannot be used by Alice. However, if the two CAs have securely exchanged their own public keys, the following procedure will enable Alice to obtain Bob’s public key:
1.
Alice obtains the certificate of CA 2 signed by CA 1 . Since Alice has the public key of CA 1 , she can get the public key of CA 2 from its certificate and verify it using the signature of CA 1 on the certificate.
2.
From the directory, Alice obtains the certificate of Bob signed by CA 2 . Since Alice now has the public key of CA 2 , she can verify the signature, therefore getting Bob’s public key.

4. Lizama’s Key Exchange Protocol

Lizama’s key exchange protocol was introduced in [5], there it can be found all details about the method and its security. The protocol is illustrated in Figure 4. The public key of user i (a for Alice, b for Bob) has two components ( P i , Q i ) where P i = p 2 x i k i mod n and Q i = q y i k i mod n . The value x i is chosen randomly while y i = ϕ ( n ) x i + 1 . The module n is the product of tree public integer primes, so that n = p · q · r where p and q are small integer primes and r is a big integer prime. To achieve indistinguishability p and q are suggested to be 2, since 2 is a primitive root module r (see [5]). The exponent is chosen to be 2 x i instead of x i to avoid a multiplication attack (see Appendix A). The x i value constitutes along k i the private key of user i where k i is an invertible integer in the ring. Users share their public keys ( P a , Q a ) and ( P b , Q b ) as well as the integer module n. The steps of the protocols are summarized as follows:
1.
Once public keys have been exchanged, Alice and Bob perform two operations over the numbers received: exponentiation and multiplication as indicated in Table 1.
2.
To derive the results in the right column of Table 1, Euler’s theorem is applied in Z n . The theorem is written in Equation (1) where r is an integer safe prime. As a result that n = p q r , we have that ϕ ( n ) = ( p 1 ) ( q 1 ) ( r 1 ) . Here, k and n are relative prime to each other, so k is an invertible integer in Z n . The exponent x i constitutes the private key, is chosen randomly, but x i and y i sum up ϕ ( n ) + 1 , thus according to Equation (1) we have k ϕ ( n ) + 1 = k ϕ ( n ) · k 1 = k because k is an invertible integer in Z n .
k ϕ ( n ) 1 mod n
3.
Users exchange the resulting value p 2 x a x b q y a y b k i mod n , which is multiplied by the corresponding inverse k i 1 at each side to derive the secret shared key p 2 x a x b q y a y b mod n as depicted in Figure 4.
Figure 4. Lizama’s non-invertible key exchange method (KEP) [5]. All operations are modulo n where n = p q r . According to Euler’s theorem k ϕ ( n ) + 1 mod n = k because k is an invertible integer in Z n .
Figure 4. Lizama’s non-invertible key exchange method (KEP) [5]. All operations are modulo n where n = p q r . According to Euler’s theorem k ϕ ( n ) + 1 mod n = k because k is an invertible integer in Z n .
Entropy 23 00226 g004
As an example of the required bits for the keys, consider that case where p = q = 2 and | r | = 1024 (the symbol | | denotes the number of bits) the length of the private key yields 1536 bits ( | x | = 512 and | k | = 1024 ) while the public key ( P , Q ) contains 2056 bits [5]. In this case, the security level of the secret key is 1024. The process to determine the size of the key is the following: P = p 2 x · k mod n thus P = p 2 x mod n · k mod n , which in turn implies that:
| k | = | n |
if p = 2 and n = 4 r , we have 2 2 x mod 4 r , then 4 x mod 4 r yields | 4 | · | x | = | 4 | + | r | and | x | | r | 2 .
since the private key is conformed by x and k, its size is computed as | n | + | x | | r | + | x | which gives 1536.

4.1. Cipher-System

In Figure 4, the secret shared key k s is a non-invertible number in Z n , thus a convenient method to achieve a cipher-system and secret communication is to divide k s = p 2 x a x b q y a y b mod n by p q , so if we choose p = q = 2 , then k r = p 2 x a x b 2 2 ( 2 r 1 x a ) ( 2 r 1 x b ) mod r . Now, Alice and Bob can compute its multiplicative inverse k r 1 . Table 2 shows that the enciphered message is obtained as c = m · k r mod r and the original plaintext is recovered through the relation m = c · k r 1 mod r because m = m · k r k r 1 mod r . To send a message encoded as an integer in Z r , the number m must be less than r.

4.2. Mathematical Representation

In the rest of the paper we will use the following mathematical notation: ( P i , Q i ) which constitutes the public key of user i. As stated before, P i = p 2 x i k i and Q i = q y i k i where ( x i , k i ) constitutes the private key of user i and x i + y i = ϕ ( n ) + 1 . As stated before, user j raises the public key of i to its private key. Then, j returns to i the integer number [ k i , j ] k i where [ k i , j ] = p 2 x i x j q y i y j and k i is a component of the private key of user i, then they apply the inverse of k i in order to derive the shared secret key k i , j . The same procedure is applied in the opposite direction so user i sends to j the integer [ k i , j ] k j to get the secret number k i , j (see Table 3).

5. Key Certification with Lizama’s ni-KEP

In this section, we explain the public key certification method so that a Certification Authority (CA) can certify the user’s public keys using Lizama’s ni-KEP. The protocol steps are as follows:
1.
To certify their public key with the Certification Authority CA, user i sends to CA their public key ( P i , Q i ) .
2.
If CA approves the request of i, they generate and publish the certified key [ k i , a c ] k i which has been derived according to Table 3.
3.
The CA’s public database of certified keys can be seen in Table 4 which contains the certified keys of Alice and Bob.
Now, Alice and Bob can establish a secret key with certified keys, but first Alice must download Bob’s certified key from CA’s database and vice versa. The steps to derive the key are depicted in Figure 5 and described as follows:
1.
Using CA’s public key ( P c a , Q c a ) , Alice computes [ k a , c a ] k c a . In addition, she computes [ k a , b ] k b using Bob’s public key ( P b , Q b ) .
3.
Alice multiplies them by Bob’s certified key [ k b , c a ] k b and sends the resulting integer number to Bob. The same procedure is applied by him.
4.
Bob multiplies the received integer by k b 1 twice, thus he obtains the secret shared key K a b = [ k a , b ] [ k b , c a ] [ k a , c a ] k c a (see Figure 5).
5.
Applying this procedure, Bob derives the same secret number K a b .
It must be highlighted that in order to establish the secret key the certified key of the intended user must be applied but also the public key of the Certification Authority CA. Moreover, each user must apply (twice) their private key to get the shared secret key. In addition, to avoid a prefix attack the relation K a b > r must be satisfied (see Appendix A).
Figure 5. Non-invertible KEP with Certification Authority (CA). All operations are performed module n.
Figure 5. Non-invertible KEP with Certification Authority (CA). All operations are performed module n.
Entropy 23 00226 g005

5.1. Indistinguishability

An important security property of the ni-KEP is the indistinguishability of k i in the public key integers. It implies that each invertible k i in Z n satisfies the public key along the appropriate x i value. The same property can be deduced for the cipher text, thus every k i in the ring can be used to produce a given cipher text with a specific m i .
Indistinguishability can be extended to the certified key exchange method. Let us rewrite the exchanged messages depicted in Figure 5 as M b · k b mod m from Alice to Bob so that M b = [ k a , b ] k b [ k a , c a ] k c a [ k b , c a ] . Similarly, in the reverse direction we have M a · k a mod n which implies that M a = [ k a , b ] k a [ k b , c a ] k c a [ k a , c a ] . Applying division to M a (or M b ) by p q we obtain:
( p q ) 1 M i · k i mod r
From here, we know that M i mod r and k i mod r are integers in Z r . Moreover, the multiplication M i · k i mod r produces a permutation of the integers in Z r because r is an integer prime, thus the resulting integer is in Z r . As it was shown in [5], k i remains indistinguishable inside encrypted messages; therefore, the unique opportunity for the eavesdropper is to find the secret key k i by exhaustive search.

5.2. Multiple CAs

Suppose Alice has been registered with CA 1 while Bob has a certified key from CA 2 . In addition, Alice receives from Bob its certified key and vice versa but Alice does not have access to CA 2 ’s database neither Bob to CA 1 ’s database. As indicated in Table 5, CA 1 ’s database is accessible to Alice and CA 2 ’s database is reachable by Bob. However, as can be seen there, CA 1 ’s database contains the certified key of CA 2 and CA 2 ’s database contains the certificate of CA 1 . Then, they follow the steps depicted in Figure 6 and detailed below:
1.
Using CA 1 ’s public key ( P c a 1 , Q c a 1 ) , Alice computes [ k a , a c 1 ] k a c 1 , she also computes [ k a , b ] k b with Bob’s public key ( P b , Q b ) .
3.
Alice multiplies them by Bob’s certificate [ k b , c a 2 ] k b and CA 2 ’s certificate [ k c a 1 , c a 2 ] k c a 2 and sends the resulting integer number to Bob. The same procedure is applied by Bob.
4.
Alice multiplies the received integer by k a 1 twice, thus she obtains the secret shared key K a b = [ k a , b ] [ k a , c a 1 ] k c a 1 [ k b , c a 2 ] k c a 2 [ k c a 1 , c a 2 ] (see Figure 6).
5.
Applying the same procedure, Bob derives the secret shared number K a b .
Table 5. Public databases of CA 1 and CA 2 which would be located distantly, so database of CA 1 is accessible to Alice and CA 2 ’s database is close to Bob.
Table 5. Public databases of CA 1 and CA 2 which would be located distantly, so database of CA 1 is accessible to Alice and CA 2 ’s database is close to Bob.
CA   User  Public Key  Certified Key
   CA 1 ( P c a 1 , Q c a 1 ) -
   CA 2 ( P c a 2 , Q c a 2 ) [ k c a 1 , c a 2 ] k c a 2
CA 1    Alice ( P a , Q a ) [ k a , c a 1 ] k a
   CA 2 ( P c a 2 , Q c a 2 ) -
   CA 1 ( P c a 1 , Q c a 1 ) [ k c a 1 , c a 2 ] k c a 1
CA 2    Bob ( P b , Q b ) [ k b , c a 2 ] k b
Figure 6. Non-invertible KEP with two CAs. Operations are performed module n.
Figure 6. Non-invertible KEP with two CAs. Operations are performed module n.
Entropy 23 00226 g006

6. Perfect Forward Secrecy (PFS)

Suppose Alice and Bob require to establish a new confidential communication. However, they do not want to use the same secret key of the last session. Perfect forward secrecy (PFS) is a feature of key agreement protocols that guarantee that, if the currently key was compromised, it does not compromise the security of previously used keys. Therefore, the security of encrypted messages using old keys persists. When a system has a perfect forward secret, the system is said to be forward secure.
In the next procedure, we demonstrate that Lizama’s non-invertible KEP is enhanced to exhibit PFS (see Table 6 and Figure 7).
1.
Alice and Bob share a certified key K i from a previous exchange.
2.
Using CA’s public key ( P c a , Q c a ) , Alice computes [ k a , c a ] k c a . In addition, according to Table 6, Alice computes [ k a , b ] K i k b K i using Bob’s public key ( P b , Q b ) .
4.
Alice multiplies them by Bob’s certificate [ k b , c a ] k b and sends the resulting number to Bob. The same procedure is applied by Bob.
5.
Bob multiplies the received integer by k b K i 1 , thus he obtains the secret shared key K i + 1 = [ k a , b ] K i [ k a , c a ] [ k b , c a ] k c a (see Figure 7).
6.
Conversely, Alice multiplies the received integer by k a K i 1 , thus she gets the secret shared key K i + 1 = [ k a , b ] K i [ k b , c a ] [ k a , c a ] k c a .
Therefore, the eavesdropper cannot derive K i from K i + 1 and the procedure can be repeated as many times as required to derive K m + 1 from K m .
Table 6. Mathematical operations to achieve perfect secrecy (PFS).
Table 6. Mathematical operations to achieve perfect secrecy (PFS).
Short Notation   Mathematical Operation   
( P i , Q i ) P i = p 2 x i k i , Q i = q y i k i
P i x j · Q i y j ( p 2 x i k i ) x j · ( q y i k i ) y j
[ k i , j ] k i p 2 x i x j q y i y j k i
P i k s x j · Q i k s y j ( p 2 x i k i ) k s x j · ( q y i k i ) k s y j
[ k i , j ] k s k i k s p 2 k s x i x j q k s y i y j k i k s
Figure 7. Alice and Bob require to establish a new secret key K i + 1 . However, they do not want to use the last secret key K i . This procedure is repeated to derive K i + 2 from K i + 1 .
Figure 7. Alice and Bob require to establish a new secret key K i + 1 . However, they do not want to use the last secret key K i . This procedure is repeated to derive K i + 2 from K i + 1 .
Entropy 23 00226 g007

7. Discussion

After the third evaluation round, NIST has selected seven algorithms (and eight alternative candidates), four of them are public key encryption (and key-establishment) systems and three correspond to digital signature algorithms. In the first category, CRYSTALS-KYBER, NTRU-HPS, SABER are lattice-based while Classic McEliece is a code-based public key encryption system. Regarding digital signature schemes, CRYSTALS-DILITHIUM and FALCON are lattice-based and Rainbow is a multivariate-based algorithm. Since we are only concerned with the first category, we found that public keys size in Lizama’s protocol has the smallest size: 0.256 kilobytes (for | n | = 1024 ) while the corresponding certified key size achieves 0.384 kilobytes (see Table 7). Furthermore, to reduce the required storage space a good strategy would be saving only one component of the public key ( P i , Q i ) , e.g., P i while the second one Q i will be transferred directly from Alice to Bob. In that case the certified public key size decreases from 0.384 to 0.256 KB.
We emphasize the importance of the key size because, as it was shown in [25], the key size of known quantum-resistant schemes can grow from a few to many kilobytes which can arise some difficulties for today’s existing infrastructures of X.509 certificates. A good example is that post-quantum TLS handshake takes 40 KB which is 24 times more expensive [30]. Even worse, there would be some scenarios which are very sensitive to delays that cannot store big certificates or perform signature (generation or verification) because of those limitations. In such scenarios, most post-quantum signatures would be impractical because of their required computational cost.
Still under study is the Identity-Based Encryption (IBE) scheme which is considered an alternative to traditional certificate-based public key cryptography to reduce communication overheads in wireless sensor networks. In [30], it has been found that ID-based TLS is 2.8× costlier than certificate-based TLS in the pre-quantum scenario.

8. Conclusions

We have detailed the steps to enhance the Lizama’s non-invertible key exchange protocol to be used as a public key cryptosystem with single and multiple certification domains. We have provided the specification the certification authority keys and the method to certify the user’s public keys. Therefore, our approach is scalable and interoperable and can be exploited in the pre-quantum and the quantum era because the protocol exhibits indistinguishability of the integers in the public key and ciphertexts.
We found that public keys size in Lizama’s protocol has the smallest size regarding main post-quantum systems: 0.256 kilobytes and 0.384 kilobytes for public key and certified key, respectively. Moreover, we suggest that the public key database only stores one component of the two integers which are part of the public key, while the second component can be transferred directly to the remote destination. This strategy reduces the required storage space of certified keys to 0.256 kilobytes. Therefore it makes manageable some issues caused by large certificates as fragmentation, segmentation and caching.
Furthermore, we have discussed a method to achieve perfect forward secrecy (PFS) so that a session key can be derived from the previous one and the procedure is repeated as many times as necessary.

Author Contributions

Conceptualization, L.A.L.-P.; Data curation, L.A.L.-P.; Formal analysis, L.A.L.-P.; Investigation, J.M.L.R.; Methodology, J.M.L.R.; Project administration, J.M.L.R.; Resources, J.M.L.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Appendix A.1. RSA Cryptosystem

The security of RSA cryptosystem relies on the difficulty of the integer factorization problem. Two invertible numbers e and d are chosen inside the ring defined by Z ϕ ( n ) , so that e · d 1 mod ϕ ( n ) . The other ring Z n is prepared with n = p · q where p and q are secret prime integers [31]. The encrypted message is computed as C = M e mod n while M = C d mod n returns the original cleartext M. The cryptosystem works because of Euler’s theorem since ( M e mod n ) d mod n = M e d mod n but e · d = k ϕ ( n ) + 1 , so M k ϕ ( n ) + 1 mod n = M k ϕ ( n ) · M 1 mod n which yields M provided M < n .

Appendix A.2. Diffie–Hellman Key Exchange

Diffie–Hellman key exchange (DH) was the first public key exchange algorithm [20]. The integer prime p defines a ring Z p and the generator g is a primitive root module p. The integers p and g are publicly known.
Alice chooses randomly the exponent x a and she computes k a = g x a mod p which she sends to Bob over a public channel. On the other side, Bob obtains k b = g x b mod p , then he communicates this integer number to Alice across the channel.
Alice and Bob execute exponentiation over the received number, such that Alice’s gets ( g x b mod p ) x a mod p = g x b x a mod p . Conversely Bob gets ( g x a mod p ) x b mod p = g x a x b mod p . The two operations yield the same integer number because multiplication of exponents is commutative. The security of the secret shared key relies on the difficulty that given g, k a and k b it is computationally infeasible to derive g x a x b mod p .

Appendix A.3. Prefix Attack

Consider the protocol running with n = 4 r over a public channel. When an eavesdropper captures the integers from the public channel, where one of them, say w a , is a prefix of the second number written as w a b = w a · k b mod 4 r . To derive k b , the attacker computes the inverse of the prefix that is ( w a ) 1 to factorize it from the second number. However, in Z 4 r w a and w a b are non-invertible integers, thus the attacker must perform first multiplication by 2 2 changing the module from 4 r to r.
Therefore, if the eavesdropper has captured w a and w a b from the public channel, they proceed to divide them by 4 thus getting w a and w a b . The eavesdropper computes ( w a ) 1 and they get ( w a ) 1 · w a b . As a consequence, the eavesdropper obtains k b mod r provided k b < r . To avoid a prefix attack, k b must be chosen to be greater than the integer prime r. The steps are indicated as follows:
  • w a = 4 x a · k a mod 4 r
  • w a b = w a · k b = 4 x a · k a · k b mod 4 r
  • w a = w a · 4 1 = x a · k a mod r
  • ( w a ) 1 = ( x a · k a ) 1 mod r
  • k b = ( w a ) 1 · w a b = k b mod r

Appendix A.4. Multiplication-Based Attack

Consider again that p = q = 2 , then ϕ ( 4 r ) = 2 r 2 . If the eavesdropper knows P which is computed as P = 2 2 x k mod 4 r , we affirm that they cannot derive 2 2 x k mod r because they ignore 2 2 x k . However, after dividing P by 4 they get 2 2 x 2 k mod r . The eavesdropper can perform the product of the public components P and Q:
  • P = 2 x k mod 4 r ,
  • Q = 2 2 r 1 x k mod 4 r because y = 2 r 2 x + 1
  • P · Q = 2 2 r 1 k 2 mod 4 r
  • P · Q · 2 2 = 2 2 r 3 k 2 mod r
  • k 2 P · Q · 2 2 · ( 2 2 r 3 ) 1 mod r
As a result, the eavesdropper can derive the private key k. To avoid such attack, the exponent is chosen to be 2 x instead of x:
  • P = 2 2 x k mod 4 r ,
  • Q = 2 2 r 1 x k mod 4 r where x < 2 r 1
  • P · Q = 2 x + 2 r 1 k 2 2 x 2 2 r 1 k 2 mod 4 r
In this case, the eavesdropper cannot compute the multiplicative inverse of 2 x because they do not know x and they cannot obtain k.

References

  1. Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994. [Google Scholar]
  2. Barreno, M.A. The Future of Cryptography under Quantum Computers. Dartmouth College Undergraduate Theses, 23 July 2002. Available online: https://digitalcommons.dartmouth.edu/senior_theses/23 (accessed on 11 February 2021).
  3. Laboratory, I.T. PQC Standardization Process: Third Round Candidate Announcement. Available online: https://csrc.nist.gov/news/2020/pqc-third-round-candidate-announcement (accessed on 11 February 2021).
  4. Chen, L.; Jordan, S.; Liu, Y.-K.; Moody, D.; Peralta, R.; Perlner, R.; Smith-Tone, D. Report on Post-Quantum Cryptography. Available online: http://cm.1-s.es/2017/nistir_8105_draft.pdf (accessed on 11 February 2021).
  5. Lizama-Perez, L.A. Non-Invertible Key Exchange Protocol. SN Appl. Sci. 2020, 2, 1–13. Available online: https://link.springer.com/content/pdf/10.1007/s42452-020-2791-3.pdf (accessed on 11 February 2021). [CrossRef]
  6. Grover, L.K. A Fast Quantum Mechanical Algorithm for Database Search. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996. [Google Scholar]
  7. Bennett Ch, H.; Brassard, G. Quantum cryptography: Public key distribution and coin tossing. arXiv 2020, arXiv:2003.06557. [Google Scholar] [CrossRef]
  8. Lizama-Pérez, L.A.; López, J.M.; De Carlos-López, E.; Venegas-Andraca, S.E. Quantum flows for secret key distribution in the presence of the photon number splitting attack. Entropy 2014, 16, 3121–3135. [Google Scholar] [CrossRef] [Green Version]
  9. Lizama-Pérez, L.A.; López, J.M.; De Carlos López, E. Quantum key distribution in the presence of the intercept-resend with faked states attack. Entropy 2017, 19, 4. [Google Scholar] [CrossRef] [Green Version]
  10. Lizama-Perez, L.A.; López, J.M. Quantum key distillation using binary frames. Symmetry 2020, 12, 1053. [Google Scholar] [CrossRef]
  11. Bernstein, D.J.; Lange, T. Post-quantum cryptography. Nature 2017, 549, 188–194. [Google Scholar] [CrossRef] [PubMed]
  12. Wang, S.; Zhu, Y.; Ma, D.; Feng, R. Lattice-based key exchange on small integer solution problem. Sci. China Inf. Sci. 2014, 57, 1–12. [Google Scholar] [CrossRef] [Green Version]
  13. Mao, S.; Zhang, P.; Wang, H.; Zhang, H.; Wu, W. Cryptanalysis of a lattice based key exchange protocol. Perspect. Sci. 2016, 8, 228–230. [Google Scholar] [CrossRef]
  14. Jao, D.; De Feo, L. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. In Post-Quantum Cryptography. PQCrypto 2011; Lecture Notes in Computer Science; Yang, B.Y., Ed.; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  15. Costello, C.; Longa, P.; Naehrig, M. Efficient algorithms for supersingular isogeny diffie-hellman. In Advances in Cryptology—CRYPTO 2016. CRYPTO 2016; Lecture Notes in Computer Science; Robshaw, M., Katz, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  16. Matsumoto, T.; Imai, H. Public quadratic polynomial-tuples for efficient signature-verification and message-encryption. In Advances in Cryptology—EUROCRYPT ’88. EUROCRYPT 1988; Lecture Notes in Computer Science; Barstow, D., Ed.; Springer: Berlin/Heidelberg, Germany, 1988. [Google Scholar]
  17. Merkle, R.C. Method of Providing Digital Signatures. US Patent 4,309,569, 5 January 1982. [Google Scholar]
  18. Lizama-Perez, L.A. Digital signatures over hash-entangled chains. SN Appl. Sci. 2019, 1, 1–8. [Google Scholar] [CrossRef] [Green Version]
  19. Lizama-Pérez, L.A.; Montiel-Arrieta, L.J.; Hernández-Mendoza, F.S.; Lizama-Servín, L.A.; Eric, S.-A. Public hash signature for mobile network devices. Ing. Investig. Tecnol. 2019, 20, 1–10. Available online: https://pdfs.semanticscholar.org/fce5/99b5af03457e4b94e123e575d1daca8e24ab.pdf (accessed on 11 February 2021).
  20. Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
  21. Koblitz, N. Elliptic curve cryptosystems. Math. Comput. 1987, 48, 203–209. [Google Scholar] [CrossRef]
  22. Miller, V.S. Use of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO ’85 Proceedings. CRYPTO 1985. Lecture Notes in Computer Science; Williams, H.C., Ed.; Springer: Berlin/Heidelberg, Germany, 1986. [Google Scholar]
  23. Bindel, N.; Herath, U.; McKague, M.; Stebila, D. Transitioning to a quantum-resistant public key infrastructure. In Post-Quantum Cryptography. PQCrypto 2017; Lecture Notes in Computer Science; Lange, T., Takagi, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  24. Pradel, G.; Mitchell, C.J. Post-quantum certificates for electronic travel documents. In Computer Security. ESORICS 2020; Lecture Notes in Computer Science; Boureanu, I., Ed.; Springer: Berlin/Heidelberg, Germany, 2020. [Google Scholar]
  25. Kampanakis, P.; Panburana, P.; Daw, E.; Van Geest, D. The viability of post-quantum X.509 certificates. IACR Cryptol. ePrint Arch. 2018, 2018, 63. [Google Scholar]
  26. Polk, W.; Housley, R.; Bassham, L. Algorithms and identifiers for the internet X.509 public key infrastructure certificate and certificate revocation list (crl) profile. Algorithms 2002, 2, 26. [Google Scholar]
  27. Gerck, E. Overview of Certification Systems: X.509, ca, pgp and Skip. Available online: https://www.blackhat.com/presentations/bh-usa-99/EdGerck/certover.pdf (accessed on 11 February 2021).
  28. Abdul-Rahman, A. The Pgp Trust Model. EDI Forum J. Electron. Commer. 1997, 10, 27–31. Available online: https://ldlus.org/college/WOT/The_PGP_Trust_Model.pdf (accessed on 11 February 2021).
  29. NIST Round 3 Finalists. Available online: https://pqc-wiki.fau.edu/w/Special:DatabaseHome (accessed on 11 February 2021).
  30. Banerjee, U.; Chandrakasan, A.P. Efficient Post-Quantum TLS Handshakes using Identity-Based Key Exchange from Lattices. In Proceedings of the 2020 IEEE International Conference on Communications (ICC), Dublin, Ireland, 7–11 June 2020. [Google Scholar]
  31. Rivest, R.L.; Shamir, A.; Adleman, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
Figure 1. Basic Diffie–Hellman protocol. All operations are performed module p.
Figure 1. Basic Diffie–Hellman protocol. All operations are performed module p.
Entropy 23 00226 g001
Figure 2. A man in the middle (MITM) attack over Diffie–Hellman (DH) protocol. The eavesdropper obtains a key with Alice K a e and other with Bob K b e . Legitimate users cannot verify the origin of exchanged numbers.
Figure 2. A man in the middle (MITM) attack over Diffie–Hellman (DH) protocol. The eavesdropper obtains a key with Alice K a e and other with Bob K b e . Legitimate users cannot verify the origin of exchanged numbers.
Entropy 23 00226 g002
Figure 3. Diffie–Hellman algorithm with RSA. Bob’s public key is written as P U B = ( e b , n b ) , Bob’s private key is e b 1 that indicates the inverse of e b in Z ϕ ( n ) . H K represents the hash value of K which is used by Alice to verify the origin of the received number.
Figure 3. Diffie–Hellman algorithm with RSA. Bob’s public key is written as P U B = ( e b , n b ) , Bob’s private key is e b 1 that indicates the inverse of e b in Z ϕ ( n ) . H K represents the hash value of K which is used by Alice to verify the origin of the received number.
Entropy 23 00226 g003
Table 1. These operations (exponentiation and multiplication) are performed at each side after public keys of users are exchanged.
Table 1. These operations (exponentiation and multiplication) are performed at each side after public keys of users are exchanged.
UserOperationResult
Alice p 2 x b · k b mod n x a · q y b · k b mod n y a    p 2 x b x a q y b y a · k b mod n  
Bob p 2 x a · k a mod n x b · q y a · k a mod n y b   p 2 x a x b q y a y b · k a mod n
Table 2. Lizama’s key exchange algorithm can be used to encrypt/decrypt messages provided k s is divided by p q .
Table 2. Lizama’s key exchange algorithm can be used to encrypt/decrypt messages provided k s is divided by p q .
ModeMathematical Relation
Encryption c = m · k r mod r
Decryption m = c · k r 1 mod r
Table 3. Mathematical representation. All operations are performed module n.
Table 3. Mathematical representation. All operations are performed module n.
Short NotationMathematical Operation
( P i , Q i )    P i = p 2 x i k i , Q i = q y i k i
P i x j · Q i y j    p 2 x i k i x j · q y i k i y j
[ k i , j ] k i    p 2 x i x j q y i y j k i
Table 4. CA’s public database. The Certification Authority CA publishes their public key ( P c a , Q c a ) .
Table 4. CA’s public database. The Certification Authority CA publishes their public key ( P c a , Q c a ) .
UserPublic KeyCertified Key
CA ( P c a , Q c a ) -
Alice ( P a , Q a ) [ k a , c a ] k a
Bob ( P b , Q b ) [ k b , c a ] k b
Table 7. A comparison of Lizama’s protocol against National Institute of Standards and Technology (NIST) Round 3 finalists is shown in the categories of public key encryption and key-establishment algorithms [29].
Table 7. A comparison of Lizama’s protocol against National Institute of Standards and Technology (NIST) Round 3 finalists is shown in the categories of public key encryption and key-establishment algorithms [29].
SchemeSystemPublic Key (KB)Private Key (KB)Signature (KB)
Public Key/
KEM
LIZAMA’S KEP0.256–0.5120.192–0.384
Classic McEliece261,120–1,357,8246492–14,120
CRYSTALS-KYBER1.632–3.1680.8–1.568
NTRU-HPS0.931–1.2301.235–1.592
SABER0.672–1.3121.568–3.040
Signature
Algorithms
CRYSTALS-DILITHIUM1.312–2.5922.420–4.595
FALCON0.897–1.7930.666–0.280
Rainbow157.8–1885.4101.2–1375.70.066–0.212
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lizama-Perez, L.A.; López R., J.M. Non-Invertible Public Key Certificates. Entropy 2021, 23, 226. https://doi.org/10.3390/e23020226

AMA Style

Lizama-Perez LA, López R. JM. Non-Invertible Public Key Certificates. Entropy. 2021; 23(2):226. https://doi.org/10.3390/e23020226

Chicago/Turabian Style

Lizama-Perez, Luis Adrián, and J. Mauricio López R. 2021. "Non-Invertible Public Key Certificates" Entropy 23, no. 2: 226. https://doi.org/10.3390/e23020226

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop