Question

In: Electrical Engineering

Alice and Bob setup an elliptic curve Diffie-Hellman key exchange protocol with thesame field, curveEand pointPas...

Alice and Bob setup an elliptic curve Diffie-Hellman key exchange protocol with thesame field, curveEand pointPas given in Problem 1.Suppose that Alice selected random numbera= 3and Bob selectedb= 4, show the stepsperformed by Alice and Bob to obtain their shared key. What isthe key?

Solutions

Expert Solution

Answer:

Elliptic Curve Cryptography (ECC) is an approach to public-key cryptography, based on the algebraic structure of elliptic curves over finite fields. ECC requires a smaller key as compared to non-ECC cryptography to provide equivalent security (a 256-bit ECC security have an equivalent security attained by 3072-bit RSA cryptography).

For a better understanding of Elliptic Curve Cryptography, it is very important to understand the basics of Elliptic Curve. An elliptic curve is a planar algebraic curve defined by an equation of the form

                                                  y2 = x3 +ax+b        

where ‘a’ is the co-efficient of x and ‘b’ is the constant of the equation

The curve is non-singular; that is its graph has no cusps or self-intersections (when the characteristic of the co-efficient field is equal to 2 or 3).

Elliptic curves could intersect atmost 3 points when a straight line is drawn intersecting the curve. As we can see that elliptic curve is symmetric about the x-axis, this property plays a key role in the algorithm.

                                                   Diffie-Hellman algorithm

The Diffie-Hellman algorithm is being used to establish a shared secret that can be used for secret
communications while exchanging data over a public network using the elliptic curve to generate points and get the secret key using the parameters.

  • For the sake of simplicity and practical implementation of the algorithm, we will consider only 4 variables one prime P and G (a primitive root of P) and two private values a and b.
  • P and G are both publicly available numbers. Users (say Alice and Bob) pick private values a and b and they generate a key and exchange it publicly, the opposite person received the key and from that generates a secret key after which they have the same secret key to encrypt.

Now according to question,

Step 1: Alice and Bob get public numbers P = 23, G=9

Step 2: Alice selected a private key a = 3 and Bob selected a private key b = 4

Step 3: Alice and Bob compute public values:

Alice -> x=(9^3 mod 23) = ( 729 mod 23) = 16

Bob -> y =(9^4 mod 23) = ( 6561 mod 23) = 6

Step 4: Alice and Bob exchange public numbers

Step 5: Alice receives public key y =6 and Bob receives public key x = 16

Step 6: Alice and Bob compute symmetric keys :

Alice -> ka = y^a mod p = 216 mod 23 = 9

Bob -> kb = x^b mod p = 65536 mod 23 = 9

Step 7:   9 is the shared secret key.

Hence, shared key is 9.


Related Solutions

In the Diffie-Hellman key exchange, Alice sends g^x mod p to Bob, and Bob sends g^y...
In the Diffie-Hellman key exchange, Alice sends g^x mod p to Bob, and Bob sends g^y mod p to Alice. (1) How do they get a common secret? (2) Suppose an attacker is intercepting their communication, and gets to know g, p, and g^x mod p. Why can’t the attacker figure out x from these data?
Problem 4 | A modied man-in-the-middle attack on Diffie-Hellman Suppose Alice and Bob wish to generate...
Problem 4 | A modied man-in-the-middle attack on Diffie-Hellman Suppose Alice and Bob wish to generate a shared cryptographic key using the Diffie-Hellman protocol. As usual, they agree on a large prime p and a primitive root g of p. Suppose also that p = mq + 1 where q is prime and m is very small (so p - 1 = mq has a large prime factor, as is generally required). Since g and p are public, it is...
Let’s assume A and B are creating a secret key using Diffie Hellman key exchange. Assume...
Let’s assume A and B are creating a secret key using Diffie Hellman key exchange. Assume q = 13 and A’s secret is 10 and B’s secret is 5. ⦁   Find all primitive roots of q = 13. (Show the table) ⦁   Find the secret key generated when the primitive root 6 is used. ⦁   Let’s say there is C, that uses a secret AC = 8 with A and secret BC = 12 with B. Find the shared keys...
What common elements do the ElGamal cryptosystem and Diffie-Hellman key exchange share?
What common elements do the ElGamal cryptosystem and Diffie-Hellman key exchange share?
How to generate a key pair for Alice and Bob Respectively Suppose Alice sends plaintext P=...
How to generate a key pair for Alice and Bob Respectively Suppose Alice sends plaintext P= 113, how does she encrypt and whats the ciphertext C? After Bob receives C, how does he decrypts it to get the plaintext P? Suppose Alice sends plaintext P= 113, how does she sign it and what are sent to Bob. How does Bob verify the signature? Suppose Bob sends plaintext P=113, how does he sign it and what are sent Alice. How does...
. The following is a key exchange protocol used by two clients, A and B, to...
. The following is a key exchange protocol used by two clients, A and B, to obtain a symmetric key???, using a trusted server, S. Assume that A and B had previously obtained the symmetric keys ??? and ??? securely with the server. Also assume that anyone can securely obtain a secret symmetric key with the server. I. A → S : A, B II. S → A : (???) ??? ,( ???) ??? III. A → B : (???)...
Elliptic Curve Cryptography has gained momentum in an application recently because of the relatively smaller key...
Elliptic Curve Cryptography has gained momentum in an application recently because of the relatively smaller key size to achieve the same level of security using another asymmetrical algorithm like RSA. For example, a key size of 3072 in RSA has the same strength as an ECC key size of 256. In this paper, you are going to explain the Elliptic Curve Algorithm and why the key size does not have to be large to provide an acceptable level of security...
B. The following is a key exchange protocol used by two clients, A and B, to...
B. The following is a key exchange protocol used by two clients, A and B, to obtain a symmetric key???, using a trusted server, S. Assume that A and B had previously obtained the symmetric keys ??? and ??? securely with the server. Also assume that anyone can securely obtain a secret symmetric key with the server. I. A → S : A, B II. S → A : (???) ??? ,( ???) ??? III. A → B : (???)...
B. The following is a key exchange protocol used by two clients, A and B, to...
B. The following is a key exchange protocol used by two clients, A and B, to obtain a symmetric key???, using a trusted server, S. Assume that A and B had previously obtained the symmetric keys ??? and ??? securely with the server. Also assume that anyone can securely obtain a secret symmetric key with the server. I. A → S : A, B II. S → A : (???) ??? ,( ???) ??? III. A → B : (???)...
1. Bob wants to use DES to make a secured communication with Alice using DES key...
1. Bob wants to use DES to make a secured communication with Alice using DES key ‘Kb’ to encrypt and decrypt data. Bob uses PKI method to distribute the DES key to Alice. If Alice private key is ‘Kpa’, and her public key is ‘Kpb’. Please describe the process that Bob can send his DES key ‘Kb’ to Alice securely. 2. You receive a message that was encoded using a block encoding scheme with the encoding matrix M=3275 Verify by...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT