Elliptic Curve Crypto

149 Views Asked by At

I had just read a primer about ECC, I see how it can be complicated.

Something I haven't been able to determine is what information does the client machine get to help decrypt the data?

The whole exchange part I'm not sure about.

2

There are 2 best solutions below

14
On

As an example, lets look at Elliptic-Curve-Diffie-Hellman (ECDH).

Alice

  • Ephemeral key pair generation
  • Select a private key $n_A \in [1, n-1]$
  • Calculate the public key $Q_A = n_A P$
  • Alice ships $Q_A$ to Bob

Bob

  • Ephemeral key pair generation
  • Select a private key $n_B \in [1, n-1]$
  • Calculate the public key $Q_B = n_B P$
  • Bob ships $Q_B$ to Alice

Each party calculates shared key

  • Alice: Shared key computation $K= n_AQ_B$
  • Bob: Shared key computation $K= n_BQ_A$
  • Consistency: $K=n_AQ_B=n_An_B P=n_BQ_A$ (they have the same shared key, while having their own private component)

Notice that they each keep their private key to themselves.

Also note, in order to break this scheme, you would have to solve the Elliptic-Curve-Discrete-Log-Problem (ECDLP).

Elliptic Curve Discrete Logarithm Problem (ECDLP):

Let $E$ be an elliptic curve over a finite field $F_q$. Suppose $P$ is some point of $E( F_q )$ and let $Q$ be a point in $\left< P \right>$. Find an integer $t$ such that $Q = [t] P$.

0
On

I don't think this is an answer, but really a comment, but I don't have a high enough reputation to comment:

If you're talking about ECIES then, the client Bob, would already have the private key (which is a secret that is kept to himself) to decrypt data that was sent by Alice.

Note the that private and public key are related to each other, the public key can be given to anyone (namely, Alice); the private key is kept secret.