Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.