Elliptic Curve Cryptography (ECC)

Table of contents

  1. Definition
  2. Reference
  3. Deep Dive
  4. Example of ECC domain parameter (secp256k1)

Definition

Elliptic Curve Cryptography (ECC) is a type of the trapdoor function. In theoretical computer science and cryptography, the trapdoor function is a function that is easy to compute in one direction, yet difficult to compute in the opposite direction (finding its inverse) without special information, called the “Trapdoor”. In Publick Key Infrastructure (PKI) using ECC, the “Trapdoor” shall be the ‘public key’. For example, In [Pic.1], the given ‘t’ shall be the public key. Thus, the main purpose of the usage of ECC is to create the public key by feeding a private key which is generated randomly (e.g., 32 bytes positive integer) into ECC function.


[Pic.1] Trapdoor

Reference

Please refer to the listed reference below. That help you understand what is ECC in deatil.

Deep Dive

  1. Elliptic Curve Cryptography
    • The elliptic curve of ECC is based on the mathmetical function in the finite field, which contains a finite number of elements. Thus, the result of the operations of multiplication, addition, subtraction and division meet the rules of arithmetic known as the field axioms. The most common examples of finite fields are given by the integers mod p, which is a prime/binary number.
    • The trapdoor function of ECC can be defined as shown in [Pic.2]. This function is ranging from 0 to (prime - 1). It means that there are no neative integers.


    [Pic.2] Trapdoor Function

    • Elliptic curve parameters (a, b) defines the property of the curve. For example, the parameter of secp256k curve is a = 0, b = 7 and the property of this curve is shown in [Pic.3].


    [Pic.3] Elliptic Curve

  2. Dot Operand
    • The dot operand is a protocol to calculate a point on the elliptic curve. For example, we have two points (A, B) and draw a straight line that intersects ‘A’ and ‘B’. Then, another point ‘C’ that the intersecting line is made on the curve will be shown. Fianlly, we do x-axis symmetric transposition with the point ‘C’. As a result, we get the point ‘D’. This is 1 time dot operation.


    [Pic.4] Dot Operand

    • ‘n’ times dot operation means that we do 1 time dot operation by ‘n’ times. With this principle, we genearte ‘Private and Public’ key system.
    • Dot Operand has more complex law than the above simple explanation. More details can be found at section 2.1 Geometric addition in Dot Operand Law document.
  3. ECC Domain Parameter
    • p: modulo prime number.
    • a: coefficient of the elliptic curve.
    • b: coefficient of the elliptic curve.
    • G: base point on the curve, which is already known according to the type of curve.
    • n: order of point G, which makes G infinite. Ideally, the maximum size of a private key should be ’n’ satisfiying the below equation.


    [Pic.5] Ideal Condition

    • H: Cofactor

Example of ECC domain parameter (secp256k1)

p: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFC2F
a: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007
G: 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
n: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
h: 01

Parameters we saw are nothing but positive integer. For better understanding, they are just utilized for a sepcific computation in ECC. What parameters should be used shall be defined in Certificate isseud by the trusted authrotiy. Thus, accoring to the security policy, that parameters shall be different.