# Privately Generated Key Pairs for Post Quantum Cryptography in a Distributed Network
## 2 Background Information
#### Relevant Prior Work
The client and the server utilize the Elliptic Curve Diffie-Hellman Exchange (ECDHE) protocol to securely exchange cryptographic keys over a public channel and, through this process, they mutually derive the same symmetric key K1. The client device encrypts its public key with the symmetric key K1 to create the first cipher text and sends it to the server. The server encrypts its public key with the derived symmetric key K1 to create the ciphertext and sends it to the client device [18]. [PERSON] et al. used a unique identifier specific to the mobile device for authentication purposes. The mobile device starts by sending a request to the authentication platform for a public key certificate, which allows the mobile device to give access to a particular service. In response, the authentication platform sends an identity challenge back to the mobile device ensuring that the request is coming from the legitimate device. The mobile device responds to the identity challenge by sending a specific tag back to the authentication platform. This tag is unique to the mobile device and serves as a proof of identity. Upon receiving the tag, the authentication platform verifies it to ensure that it corresponds to the mobile device and, after verification, the authentication platform generates a public key certificate of the mobile device [19]. [PERSON] proposed that a cryptographic trio consisting of three elements, a public modulus, public exponent, and private key-dependent exponent, could be utilized in the digital signature mechanism for user authentication. Users can choose a secret (personalized secret) that can be changed at the user's discretion. The personalized secret and the two primes, e.g., the public modulus, and public exponent form the cryptographic trio, and the public modulus and public exponent form the public key. During the authentication process, the system issues a challenge, and the user responds to this challenge by generating a digital signature using both the personalized secret and the cryptographic trio. The digital signature is considered valid if the first input matches the user's personalized secret and the second input matches the trio consisting of the public modulus, public exponent, and private key-dependent exponent. A conventional CA is not required to establish secure communication [20]. [PERSON], [PERSON], and [PERSON] looked into a method of hashing of one-time signing key. With this method, the device sends the computed hash of the signing key, the identity of the device linked to the public certificate, and the hash path from the one-time signing key to the root hash. The server verifies that the computed hash matches the one-time signing key for the root hash in the device's public certificate. In addition to this, the server checks that the index corresponding to the hash path from the one-time signing key to the root hash matches the appropriate time slot. If both checks are fulfilled, the server determines that the device indeed possesses the correct one-time signing key [21]. [PERSON] proposed a scheme where a sender encrypts a digital message using the recipient's public key. The recipient must have up-to-date authority from the authorizer to decrypt the message. The authorizer grants permission for validation that the recipient is allowed to access the message. If the recipient has the necessary up-to-date authorization, the recipient can decrypt the message using their private key [22]. [PERSON] et al. proposed that a pseudorandom string could be used to derive public and private keys. By using modulus N and the pseudorandom string value, each user can generate their public key and, corresponding to the public key, each user will generate their private key. The verifier receives the public key of the other entity. By using the common modulo N, their own private key, and the verifying public key, each user calculates a shared secret value. Each user uses this shared secret value to calculate an authentication signature value.