Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIRACL.

Similar presentations


Presentation on theme: "MIRACL."— Presentation transcript:

1 MIRACL

2 Outline Why we use the libraries? Elliptic Curves Arithmetic
add, scalar multiplication, random point, … ECC Protocols ECDSA, ECIES, ECDH, … Libraries with ECC implementation MIRACL: Multiprecision Integer and Rational Arithmetic C/C++ Library

3 Why we use the libraries?
In C/C++ unsigned long long: 64 bits RSA-1024 p and q are two primes of about 500 bits How about RSA-32? How about ECC-32? RSA-1024 = ECC-160

4 Multi Precision Numbers
In Java: BigInteger In C/C++: int bignum[100] ? What are the operations, +, -, x, / ? Efficient ? Use Libraries!!!

5 Elliptic Curves Arithmetic
Elliptic curves over Zp (p>3)

6 Elliptic Curves Arithmetic
Elliptic curves over Zp (p>3)

7 Elliptic Curves Arithmetic
Elliptic curves over GF(2m)

8 Elliptic Curves Arithmetic
Elliptic curves over GF(2m)

9 Elliptic Curves Arithmetic
How we calculate kP P+P+P+P+… ? Double and Add !!! How we choose a random point on an elliptic curve Choose x, and compute the suitable y Choose y, and compute the suitable x Can I get more functions from the libraries?

10 ECC Protocols ECDSA ECDH/ECMQV ECIES ECIES-DEM ECIES-KEM ECIES-KEM-DEM

11 MIRACL Multiprecision Integer and Rational Arithmetic Cryptographic Library

12 MIRACL

13 MIRACL File architecture To build the library
To build the library Visual Studio Unix-like MAC

14 MIRACL Build in Ubuntu … unzip -j -aa -L master.zip –d miracl
-j ignores the directory structure inside the zip file -aa converts all text files to Unix format -L ensures that all filenames are lower-case -d specify the directory to extract into bash linux bash linux64 bash liunx64_cpp

15 MIRACL Done -rwxr-xr-x 1 randy users 332452 May 22 08:03 schoof
-rw-r--r-- 1 randy users May 22 08:03 poly.o -rw-r--r-- 1 randy users May 22 08:03 polymod.o -rwxr-xr-x 1 randy users May 22 08:03 pk-demo -rwxr-xr-x 1 randy users May 22 08:03 ecsver -rwxr-xr-x 1 randy users May 22 08:03 ecsign -rwxr-xr-x 1 randy users May 22 08:03 ecsgen -rwxr-xr-x 1 randy users May 22 08:03 sample -rwxr-xr-x 1 randy users May 22 08:03 brent -rwxr-xr-x 1 randy users May 22 08:03 mersenne -rwxr-xr-x 1 randy users May 22 08:03 fact -rwxr-xr-x 1 randy users May 22 08:03 bmark -rw-r--r-- 1 randy users May 22 08:03 miracl.a -rw-r--r-- 1 randy users May 22 08:03 crt.o -rw-r--r-- 1 randy users May 22 08:03 flash.o -rw-r--r-- 1 randy users May 22 08:03 ec2.o -rw-r--r-- 1 randy users May 22 08:03 ecn.o -rw-r--r-- 1 randy users May 22 08:03 zzn.o -rw-r--r-- 1 randy users May 22 08:03 big.o -rw-r--r-- 1 randy users May 22 08:03 mrmuldv.c -rw-r--r-- 1 randy users May 22 08:03 mirdef.h

16 MIRACL schoof schoof2 sea cm schoof -s 389712424879511 -3 238
mueller: generate modular polynomials process: convert modular polynomials into those mod p modpol: generate modular polynomials mod p sea i p192.pol cm cm

17 MIRACL genprime

18 MIRACL ecp

19 MIRACL ec2m


Download ppt "MIRACL."

Similar presentations


Ads by Google