ECC is a field of mathematics that defines (loosely) a ring group over various types of elliptic curves. The elements of the ring are points on the curve from which you can add two points (to make a third point) or double a point to make a new point.
From this you can make up multiplication. e.g. if X is a point on the curve than 3X is simply 2X (a doubling) + X (point addition). You can define multiplication for any integer by using “point multiplication algorithms” that use double, add, and variations (e.g. double-and-add, etc).
Because the order (number of points on the curve) tend to be prime numbers then if you multiply a point you can also multiply by the inverse which lets you do useful things.
ECCDH for instance works like this
1. Both agree on a base point on the curve called G
2. you pick a random number x and send them xG
3. They pick a random number y and send you yG
From this you can compute x(yG) and they can compute y(xG) and you end up with the same point on the curve. you can then use this point as the basis for a shared key.
ECDSA is a variation of the DSA scheme.
So
1. ECC is the field of math that defines operations with points on an elliptic curve as the basis for cryptographic algorithms
2. ECDSA is one such algorithm.
Think “Calculus” vs “integrals”. Integrals are a part of the topic of Calculus.
The entire field of ECC is enormous though. There are a plethora of different curve equations over different basis fields which then all have their own double, add, double-and-add (etc) algorithms and limitations and security concerns. You practically need to do a masters thesis on it to wrap your mind around it (or like me I was a professional cryptographer for 10+ years).
Encryption takes a message and creates a garbled version of it. The encrypted message is at least the same size as the original and preserves all of its information.
A digital signature takes a message and generates a value from it in such a way that any two messages are highly unlikely to have the same value. The signature is the same size for all messages and does not preserve the information in the message.
Modern public-key cryptography relies on trapdoor functions, functions that are easy to compute but hard to reverse. Elliptic curves can be used for trapdoor functions, they are the most popular type beside RSA. A good trapdoor function can usually be applied to both encryption and digital signatures.
**TL;DR** Encryptions and digital signatures are different things, elliptic curves algorithms can be applied to either.
Latest Answers