SlideShare a Scribd company logo
1 of 119
James McGivern
ECC vs RSA:
Battle of the Crypto-Ninjas
Friday, 11 July 2014
About James
Friday, 11 July 2014
About James
Mathematician turned
Computer Scientist
Technical Evangelist
Lives in London
Talks fast
Likes cats
Hates Marmite
Friday, 11 July 2014
Friday, 11 July 2014
Objectives
the basics: terminology, concepts, etc
symmetric vs. asymmetric cryptography
RSA overview
theory of elliptic curves
elliptic curve cryptography (ECC)
RSA vs. ECC (performance, security, etc)
using ECC
ECC “in the wild”
Friday, 11 July 2014
Please Note
Aim: to provide enough basic information to
“springboard” your own forays into cryptography
No:
History lessons (but maybe a tangent or two)
Proofs - rigourous or otherwise
Key exchange protocols
I work for Cisco but all the views in this
presentation are mine and do not reflect the
views of Cisco.
Friday, 11 July 2014
Cryptography:
Refresh
Friday, 11 July 2014
All Hail Claude Shannon
Godfather of:
- Communication theory
- Information Theory
- Digital Computing & Digital Circuit Design
- Modern cryptography
Proved that the cryptographic one-time pad
is unbreakable
"the enemy knows the system"
Friday, 11 July 2014
Terminology
A plaintext document is encrypted with a
cipher to produce ciphertext
Decryption is the reverse of encryption
A cipher may utilise 1 or more keys
Friday, 11 July 2014
Cryptanalysis
Crypto-ninjas need to be constantly
vigilant for attack
Friday, 11 July 2014
Cryptanalysis can be classified by:
Friday, 11 July 2014
Cryptanalysis can be classified by:
Computational resource requirements
Friday, 11 July 2014
Cryptanalysis can be classified by:
Computational resource requirements
Degree of information exposure
Friday, 11 July 2014
Cryptanalysis can be classified by:
Computational resource requirements
Degree of information exposure
Degree of cryptosystem penetration
Friday, 11 July 2014
Cryptanalysis can be classified by:
Computational resource requirements
Degree of information exposure
Degree of cryptosystem penetration
Do not underestimate: stupidity, spies,
traitors and other forms of social
engineering
Friday, 11 July 2014
Diffusion is a measure of the difference
between the statistical structure of the
plaintext and the ciphertext
Friday, 11 July 2014
Diffusion is a measure of the difference
between the statistical structure of the
plaintext and the ciphertext
Confusion is a measure of the complexity
of the relationship between the
ciphertext and the key(s)
Friday, 11 July 2014
Diffusion is a measure of the difference
between the statistical structure of the
plaintext and the ciphertext
Confusion is a measure of the complexity
of the relationship between the
ciphertext and the key(s)
Friday, 11 July 2014
Kerckhoff’s Principle
“A cryptosystem should be secure even if
everything about the system, except the
key, is public knowledge”
Friday, 11 July 2014
Warning! !
Even crypto-ninjas can’t herd cats
Friday, 11 July 2014
Cipher
Classical
Substitution Transposition
Rotor Machines
Modern
Symmetric
(public key)
Asymmetric
(private key)
Stream Block
A Cipher Class Diagram
Friday, 11 July 2014
http://xkcd.com/927
Friday, 11 July 2014
Cryptographic Standards
Created by “trusted” authorities, e.g. NIST
(US), ENISA (EU), CESG/HMG (UK)
Defines specific implementations of algorithms
& protocols, including:
key sizes
random number & seed generators
algorithm parameters
Allows in-depth cryptanalysis
Ensures support in hardware and software
applications
Friday, 11 July 2014
Symmetric
vs.
Asymmetric
Encryption
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Symmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Alice Bob
Asymmetric
Friday, 11 July 2014
Trapdoor Functions
Friday, 11 July 2014
The Mountains of
Complexity
Friday, 11 July 2014
Turing Machines
S - set of symbols
Q - set of states
q0 - the initial state, q0 Q
F - the set of final states, F ⊆ Q
δ - the transition function
Friday, 11 July 2014
Decisions, Decisions, Decisions
Given some formal system, a decision
problem is a statement that is either true
or false. E.g.
Given any 2 integers x and y, is
(x/y) mod 2 = 0?
Is the real part of any non-trivial zero of
the Riemann zeta function 1/2?
Does a given algorithm return a value
within a finite amount of time?
Friday, 11 July 2014
P & NP
Decision problems in P can be solved in
polynomial time on a deterministic Turing
machine.
sorting lists, shortest path problem
A decision problem is in NP if a solution
can be verified in polynomial time on a
non-deterministic Turing machine.
multi-body collision detection
Friday, 11 July 2014
NP-Hard & NP-Complete
Not all problems in NP are equal!
NP-complete problems are “the hardest
problems in NP”
A decision problem D is NP-complete if:
1. D is in NP
2. Every problem in NP is reducible to D
in polynomial time
If only (2) is true then D is NP-hard
Friday, 11 July 2014
P versus NP
Friday, 11 July 2014
RSA Dojo
Friday, 11 July 2014
Is a fundamental part of HTTPS/SSL
Based on the Integer Factorisation
Problem
Believed to be in NP and co-NP but not
NP-complete
A factor is a number that divides evenly
into another number, e.g.
20 has factors { 1, 2, 5, 10 }
Friday, 11 July 2014
Primes, Co-Primes
A prime number is a natural number
greater than 1 with no positive divisors
except itself and 1
Two numbers p, q are co-prime iff the
greatest common divisor is 1, i.e
gcd(p,q) = 1
Examples:
gcd(15, 10) = 5
gcd(16, 10) = 2
gcd(17, 10) = 1
Friday, 11 July 2014
Integer Factorisation Problem
The fundamental theorem of arithmetic,
proves every positive integer has a unique
prime decomposition:
n = Σ pq
Where n, p, q are integers and p are
prime numbers
Examples:
15 = 5 * 3 20 = 5 * 22
Friday, 11 July 2014
Totatives & Euler’s Totients
A number t is a totative of n iff
0 < t < n and gcd(t,n) = 1
Euler’s totient function of a number n is
given by φ(n) = |T(n)|, where T(n) is the
set of all totatives of n
Example: if n = 9, then
T(n) = {1, 2, 4, 5, 7, 8}
φ(9) = |T(9)| = 6
Friday, 11 July 2014
RSA Key Generation
Choose two prime number p and q
Compute n = pq
Compute φ(n) = φ(p) φ(q) = (p - 1)/(q - 1)
Chose an integer e s.t.
1 < e < φ(n) & gcd(e, φ(n)) = 1
Compute d = 1 / e(mod F(n))
Public Key = (e, n)
Private Key = (e, d)
Friday, 11 July 2014
Encryption
Given a message M convert to an integer
m s.t. 0 < m < n using a padding protocol,
the ciphertext c is generated by:
c = me (mod n)
Decryption
Given a ciphertext c compute
m = cd (mod n)
and recover M by reversing the padding
protocol on m
Friday, 11 July 2014
Caution! !
Picking the prime numbers is hard
If p or q are too small or too close to
each other it greatly decreases the
security
If p-1 or q-1 only has small prime factors
n can be factored in polynomial time
Friday, 11 July 2014
Theory-based Attacks
Trial division
Euler’s algorithm
Fermat’s algorithm
Wheel factorisation
Quadratic sieve
General number field sieve
Pollard’s ρ algorithm
Shor’s algorithm
Friday, 11 July 2014
Practical Attacks
Man-in-the-Middle:
BEAST - faulty cipher attack
CRIME & BREACH - secure cookie
compression attack
Side-Channel:
Lucky13 - padding attack
Bug:
Heartbleed - buffer overflow
Friday, 11 July 2014
A Detour through
the Garden of
Mathematics
Friday, 11 July 2014
Abstract Algebra
An algebraic structure is composed of one
or more sets with one or more n-ary
functions defined on them.
Underpins a great deal of modern
sciences: codes, symmetries, dynamical
systems
A beautiful example of mathematics at
work
Friday, 11 July 2014
NOTA BENE! !
Mathematics is a precise language, the
notation less so
Different branches of maths use the same
symbol to mean different things
There are some “rules” which if you don’t know
can be confusing
In abstract algebra we use + and • which are
not always numeric addition and multiplication
Mathematicians are lazy: a • b = ab
Friday, 11 July 2014
A group G is a pair G(S, •) where S is a set
and • a binary operator that satisfies:
Closed: ∀ a, b S then a • b S
Associative: ∀ a, b, c S then
(a • b) • c = a • (b • c)
Identity element: e S s.t ∀ a S
e • a = a • e = a
Inverse element: ∀ a S, b S s.t
a • b = b • a = e
Groups
E
E
Friday, 11 July 2014
A group G(S, •) is an abelian group (or
commutative group) if it also satisfies the
commutativity condition:
∀ a, b S then a • b = b • a
Abelian Groups
Friday, 11 July 2014
A ring R is a tuple R(S,+,•) if it satisfies
the 8 ring axioms:
1-4 (S,+) is an abelian group
5-6 (S,•) is a monoid
7-8 distributivity
If the • operator is commutative then R is
a commutative ring
Rings
Friday, 11 July 2014
A field F is a tuple F(S,+,•) where F(S,+)
and F(S,•) are abelian groups, and the
distributivity property is satisfied, i.e.
∀ a, b, c S then:
a • (b + c) = (a • b) + (a • c)
(a + b) • c = (a • c) + (b • c)
Every field is a ring but not every ring a
field
Fields
Friday, 11 July 2014
Mathematics of
Elliptic Curves
Friday, 11 July 2014
Foreword
Elliptic curves have (almost) nothing to do
with ellipses, so put ellipses and conic
sections out of your thoughts
Friday, 11 July 2014
An elliptic curve E defined over a field k
is a curve given by the equation
y2 = x3 + Ax + B
where the discriminant
∆ = 4A3 + 27B2
must be non-zero and A, B, x, y in k.
We define E(k), together with the point at
infinity Θ, as the set of all points on E
over k.
Friday, 11 July 2014
An elliptic curve is given by the
Weierstrass equation:
y2 + Axy + By = x3 + Cx2 + Dx + E
where
A, B, C, D, E, x, y in k
But we generally consider the cases
where A, B, C are zero => ∆ = 0
Lies Lies Lies
Friday, 11 July 2014
Elliptic Curves Over Prime Fields
An elliptic curve E defined over Zp is given
by the equation
y2 = x3 + Ax + B mod p
∆ = 4A3 + 27B2 mod p
where p is a prime number, and Zp is the
set of integers {0, ..., p-1} with modulo p
arithmetic
Friday, 11 July 2014
Friday, 11 July 2014
Friday, 11 July 2014
Adding Points on a Curve
Given two points P and Q on a elliptic curve,
how can we produce a 3rd point R = P + Q,
also on the curve?
1. If P ≠ Q, draw a line between P and Q
extending it until it intersects the curve;
If P = Q extend the tangent at P instead.
This intersection point is -(P + Q), or -R
2. Draw a line from the intersection parallel
to the y-axis until it intersects the curve
again at R = P + Q
Friday, 11 July 2014
P
Q
Case 0: Line between P
& Q not parallel to y-
axis
Friday, 11 July 2014
P
Q
-R
Case 0: Line between P
& Q not parallel to y-
axis
Friday, 11 July 2014
P
Q
-R
R
Case 0: Line between P
& Q not parallel to y-
axis
Friday, 11 July 2014
P
Case 1: P = Q
Friday, 11 July 2014
P
-R
Case 1: P = Q
Friday, 11 July 2014
P
-R
R
Case 1: P = Q
Friday, 11 July 2014
P
Q
Case 2: Q = -P, line
between P & Q parallel
to y-axis
Friday, 11 July 2014
P
Q
Case 2: Q = -P, line
between P & Q parallel
to y-axis
R = Θ
Friday, 11 July 2014
The set of all points on E over k, E(k), form
a group (E(k), +) under the point addition
operator.
Recall, a group has the properties:
P + Θ = Θ + P = P [Identity element]
P + (-P) = Θ [Inverse element]
P + (Q + R) = (P + Q) + R [Associative]
P + Q E(k) [Closed]
for all P, Q, R E(k)
Point Addition
Friday, 11 July 2014
Point Multiplication
Multiplication of a point by a scalar integer
is defined by
n • P = P + P + ... + P
Examples:
2P = P + P
-3P = -3(P) = (-P) + (-P) + (-P)
0P = Θ
Point multiplication is more efficient than
general point addition.
Friday, 11 July 2014
Elliptic Curve
Cryptography
Friday, 11 July 2014
Elliptic curve cryptography uses elliptic
curves over finite fields
A prime curve is defined over Zp
A binary curve is defined over GF(2m)
Hardware implementations of binary curve
systems are both small & fast
Prime curves are typically used in
software implementations
Friday, 11 July 2014
Discrete Logarithm Problem
Problem: find k where xk = y where x, y
in some group G
Note that xk = x • x • ... • x (k times)
If G is the set of points on an elliptic
curve we define the elliptic discrete
logarithm problem (ECDLP) as:
given P, Q G find k where Q = k • P
Friday, 11 July 2014
ECDLP Complexity
The elliptic curve discrete logarithm
problem is in NP and co-NP and not
thought to be in NP-complete or NP-hard
As key size increases performance of
implementations decreases
Friday, 11 July 2014
Domain Parameters
p: The prime number which defines the field in which
the curve operates, Fp. All point operations are taken
modulo p.
a, b: The two coefficients which define the curve.
These are integers.
G: The generator or base point. A distinct point of
the curve which resembles the "start" of the curve.
n: The order of the curve generator point G.
h: The cofactor of the curve. It is the quotient of
the number of curve-points, or #E(Fp), divided by n.
Friday, 11 July 2014
Key Generation
Generating a keypair for ECC is trivial. The private key
is a random integer dA, such that
0 < dA < n
Then we generate the public key QA using scalar point
multiplication of the private key with the generator
point G:
QA = dA • G
Note that the public and private key are not equally
exchangeable (like in RSA, where both are integers):
the private key dA is a integer, but the public key QA is
a point on the curve.
Friday, 11 July 2014
Encryption
First choose a random number r so that
0 < r < n
Then, calculate the “session” point R by multiplying r with the
generator point of the curve:
R = r . G
We also generate a secret using the public key of the
recipient:
S = r . QA
Now, R is publicly transmitted with the message and from the
point S a symmetric key is derived with which the message is
encrypted, e.g using AES.
Friday, 11 July 2014
Decryption
Given an encrypted message and session
key R, how do you recover S to decrypt
the message?
S = dA . R
= dA . (r . G)
= r . (dA . G)
= r . QA
Friday, 11 July 2014
ECC security correlates to:
Domain parameter generation and
validation (poor curve choice)
Small key sizes
Even small differences in parameters
can signifcantly change the security
Caution! !
Friday, 11 July 2014
Theory-Based Attacks
Brute-force O(2n/2)
Baby-step giant-step O(√n)
Function field sieves O(√n)
Pollard’s ρ algorithm for logarithms O(~0.8√n)
Shor’s algorithm for logarithms O((log n)3)
Friday, 11 July 2014
Practical Attacks
Side channel attacks (passive)
Differential power analysis
Timing attacks
Zero-value point attacks
Fault analysis attacks (active)
Safe error analysis
Invalid point & invalid curve analysis
Friday, 11 July 2014
RSA vs. ECC
Friday, 11 July 2014
Security
ECC is not “more secure” than RSA
They both utilise similar mathematical
problems
These problems are not NP-complete or
NP-hard
As (quantum) computers become more
powerful both ECC and RSA are in trouble
Friday, 11 July 2014
Performance
1. Shorter keys are as strong as long keys for
RSA (in general 256-bit ECC is equivalent to
3072-bit RSA)
2. Low on CPU consumption.
3. Low on memory usage.
4. (2) & (3) => lower energy
5. Fast key generation
6. Processing ECC SSL certificates x2 faster
Friday, 11 July 2014
Pairing
Pairing allows for a 3-party key exchange
and cryptography system
Useful for example in financial
transactions: buyer, seller, & bank
Active area of research, especially in
identity-based encryption (IBE), primarily
using elliptic curves
Friday, 11 July 2014
ECC “in the Wild”
Friday, 11 July 2014
ECC & Java
JCA
• java.security
• javax.security deprecated
JCE
• Oracle JCE + policies
Legion of the Bouncycastle
Friday, 11 July 2014
Standardised ECC
NIST curve P-256 [Safe]
y2 = x3- 3x + K
modulo p = 2224 - 296 + 1
where K = 18958286285566608000408668544493926415504680968679321075787234672564
SECp256k1 [Unsafe]
y2 = x3 + 7
modulo p = 2256 - 232 - 977
http://safecurves.cr.yp.to/
Friday, 11 July 2014
Curve25519
Is a high-speed Diffie-Hellman function
growing in popularity and as the “default
setting”
Uses the curve given by
y2 = x3 + 486662x2 + x
over the prime field given by 2255 − 19, and
the base point x = 9
Supported apps: http://ianix.com/pub/
curve25519-deployment.htmlFriday, 11 July 2014
The NSA & ECC
Attack method: tampered with Dual
EC_DRBG (a CSPRNG), which is part of
the NIST SP 800-90A standard, to
introduce a “backdoor”
Attack summary: the CSPRNG did not
generate random points P & Q on the
curve meaning an attacker can recover
the keys relatively easily from ciphertext
Friday, 11 July 2014
The Pirate Bay & ECC
Bit-torrent is a peer-2-peer file transfer
protocol co-ordinated by centralised
trackers
Recently IPOs have sought IP and domain
name blockades against index sites
August 2013 PirateBrowser launched
Coming soon: P2P darknet where
authenticated index site DNS entries are
mapped to their ECC public key
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
Summary
Friday, 11 July 2014
The Now
RSA is still secure but consider using
bigger keys soon
ECC support is nearly universal (OS,
browser, switches/routers/etc)
ECC is growing because of faster
performance not “better” security
Attacks in the wild generally focus on
implementations not the mathematical
theory
Friday, 11 July 2014
The Future
ECC is a stepping stone technology
Advances in mathematics, computing power
and models threaten the security of ECC
and RSA
Lattice Cryptography will be the next
generation of non-quantum cryptosystems
Research in to NP-intermediate and the
rest of the complexity landscape
Friday, 11 July 2014
Thank you
Friday, 11 July 2014
Resouces
• Lance Fortnow “The Status of the P Versus NP
Problem” http://cacm.acm.org/magazines/
2009/9/38904-the-status-of-the-p-versus-np-
problem
• P. de Sautoy, “Music of the Primes”
• https://blogs.rsa.com/secure-crypto-lucky-
thirteen-attack/
• Bos, Joppe W., Marcelo E. Kaihara, and Peter L.
Montgomery. "Pollard rho on the PlayStation 3."
Workshop record of SHARCS. Vol. 9. 2009.
Friday, 11 July 2014
Resouces
• Joye, Marc, and Michael Tunstall. Fault Analysis in
Cryptography. Springer, 2012
• Matthew Green “The Many Flaws of
Dual_EC_DRBG”, http://
blog.cryptographyengineering.com/2013/09/the-
many-flaws-of-dualecdrbg.html
Friday, 11 July 2014
James McGivern
ECC vs RSA:
Battle of the Crypto-Ninjas
Friday, 11 July 2014

More Related Content

What's hot

Elliptic Curves in Cryptography
Elliptic Curves in CryptographyElliptic Curves in Cryptography
Elliptic Curves in CryptographyCSNP
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve CryptographyJorgeVillamarin5
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryptionNamit Sinha
 
Elliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message ExchangeElliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message ExchangeJacopoMariaValtorta
 
History of cryptography
History of cryptographyHistory of cryptography
History of cryptographyFarah Shaikh
 
On deriving the private key from a public key
On deriving the private key from a public keyOn deriving the private key from a public key
On deriving the private key from a public keyDharmalingam Ganesan
 
Cryptographic algorithms
Cryptographic algorithmsCryptographic algorithms
Cryptographic algorithmsAnamika Singh
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.pptUday Meena
 
Introductory Lecture on Cryptography and Information Security
Introductory Lecture on Cryptography and Information SecurityIntroductory Lecture on Cryptography and Information Security
Introductory Lecture on Cryptography and Information SecurityBikramjit Sarkar, Ph.D.
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofArunanand Ta
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and PrivacyAnil John
 
Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxRedWhite12
 
Introduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyIntroduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyAlexandre Augusto Giron
 
Image encryption using elliptical curve cryptosytem with hill cipher
Image encryption using elliptical curve cryptosytem with hill cipherImage encryption using elliptical curve cryptosytem with hill cipher
Image encryption using elliptical curve cryptosytem with hill cipherkarthik kedarisetti
 
Introduction to Bitcoin's Scripting Language
Introduction to Bitcoin's Scripting LanguageIntroduction to Bitcoin's Scripting Language
Introduction to Bitcoin's Scripting LanguageJeff Flowers
 

What's hot (20)

Elliptic Curves in Cryptography
Elliptic Curves in CryptographyElliptic Curves in Cryptography
Elliptic Curves in Cryptography
 
S-DES.ppt
S-DES.pptS-DES.ppt
S-DES.ppt
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryption
 
Elliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message ExchangeElliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message Exchange
 
History of cryptography
History of cryptographyHistory of cryptography
History of cryptography
 
On deriving the private key from a public key
On deriving the private key from a public keyOn deriving the private key from a public key
On deriving the private key from a public key
 
RSA algorithm
RSA algorithmRSA algorithm
RSA algorithm
 
Cryptographic algorithms
Cryptographic algorithmsCryptographic algorithms
Cryptographic algorithms
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Introductory Lecture on Cryptography and Information Security
Introductory Lecture on Cryptography and Information SecurityIntroductory Lecture on Cryptography and Information Security
Introductory Lecture on Cryptography and Information Security
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryption
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptx
 
Cryptography
CryptographyCryptography
Cryptography
 
Visual Cryptography
Visual CryptographyVisual Cryptography
Visual Cryptography
 
Introduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyIntroduction - Lattice-based Cryptography
Introduction - Lattice-based Cryptography
 
Image encryption using elliptical curve cryptosytem with hill cipher
Image encryption using elliptical curve cryptosytem with hill cipherImage encryption using elliptical curve cryptosytem with hill cipher
Image encryption using elliptical curve cryptosytem with hill cipher
 
Introduction to Bitcoin's Scripting Language
Introduction to Bitcoin's Scripting LanguageIntroduction to Bitcoin's Scripting Language
Introduction to Bitcoin's Scripting Language
 

Viewers also liked

Elliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyElliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyMd. Al-Amin Khandaker Nipu
 
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic Currencies
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic CurrenciesIntroducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic Currencies
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic CurrenciesMark Smalley
 
Eliptic-Curve Cryptography and the Internet
Eliptic-Curve Cryptography and the InternetEliptic-Curve Cryptography and the Internet
Eliptic-Curve Cryptography and the InternetOwaspCzech
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...Soumya Kanti Datta
 
Distributed Computing in IoT
Distributed Computing in IoTDistributed Computing in IoT
Distributed Computing in IoTKishan Patel
 
Patterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer SystemsPatterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer SystemsMarcel Winandy
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practicalMoabi.com
 
Introduction to and survey of TLS security (BsidesHH 2014)
Introduction to and survey of TLS security (BsidesHH 2014)Introduction to and survey of TLS security (BsidesHH 2014)
Introduction to and survey of TLS security (BsidesHH 2014)Aaron Zauner
 
Elliptic Curve Cryptography: Arithmetic behind
Elliptic Curve Cryptography: Arithmetic behindElliptic Curve Cryptography: Arithmetic behind
Elliptic Curve Cryptography: Arithmetic behindAyan Sengupta
 
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasan
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.SrinivasanMathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasan
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasanmunicsaa
 
Palm Vein Technology
Palm Vein TechnologyPalm Vein Technology
Palm Vein TechnologyManav Mittal
 
(Crypto) DES And RSA Algorithms Overview
(Crypto) DES And RSA Algorithms Overview(Crypto) DES And RSA Algorithms Overview
(Crypto) DES And RSA Algorithms OverviewEL Bachir Nouni
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptographydrewz lin
 
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)Nitesh Bhatia
 
Elliptic Curve Cryptography for those who are afraid of maths
Elliptic Curve Cryptography for those who are afraid of mathsElliptic Curve Cryptography for those who are afraid of maths
Elliptic Curve Cryptography for those who are afraid of mathsMartijn Grooten
 
SFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEESFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEELinaro
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewLinaro
 

Viewers also liked (20)

Elliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyElliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve Cryptography
 
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan PalacioElliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
Elliptic curvecryptography Shane Almeida Saqib Awan Dan Palacio
 
Elliptic curve cryptography
Elliptic curve cryptographyElliptic curve cryptography
Elliptic curve cryptography
 
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic Currencies
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic CurrenciesIntroducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic Currencies
Introducing Bitcoin :: The (Mostly) Visual-Guide to Cryptographic Currencies
 
Eliptic-Curve Cryptography and the Internet
Eliptic-Curve Cryptography and the InternetEliptic-Curve Cryptography and the Internet
Eliptic-Curve Cryptography and the Internet
 
A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...A lightweight framework for efficient m2m device management in onem2m archite...
A lightweight framework for efficient m2m device management in onem2m archite...
 
Distributed Computing in IoT
Distributed Computing in IoTDistributed Computing in IoT
Distributed Computing in IoT
 
Patterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer SystemsPatterns for Secure Boot and Secure Storage in Computer Systems
Patterns for Secure Boot and Secure Storage in Computer Systems
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical
 
Introduction to and survey of TLS security (BsidesHH 2014)
Introduction to and survey of TLS security (BsidesHH 2014)Introduction to and survey of TLS security (BsidesHH 2014)
Introduction to and survey of TLS security (BsidesHH 2014)
 
Elliptic Curve Cryptography: Arithmetic behind
Elliptic Curve Cryptography: Arithmetic behindElliptic Curve Cryptography: Arithmetic behind
Elliptic Curve Cryptography: Arithmetic behind
 
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasan
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.SrinivasanMathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasan
Mathematics Towards Elliptic Curve Cryptography-by Dr. R.Srinivasan
 
Palm Vein Technology
Palm Vein TechnologyPalm Vein Technology
Palm Vein Technology
 
Modern Cryptography
Modern CryptographyModern Cryptography
Modern Cryptography
 
(Crypto) DES And RSA Algorithms Overview
(Crypto) DES And RSA Algorithms Overview(Crypto) DES And RSA Algorithms Overview
(Crypto) DES And RSA Algorithms Overview
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptography
 
JTAG Interface (Intro)
JTAG Interface (Intro)JTAG Interface (Intro)
JTAG Interface (Intro)
 
Elliptic Curve Cryptography for those who are afraid of maths
Elliptic Curve Cryptography for those who are afraid of mathsElliptic Curve Cryptography for those who are afraid of maths
Elliptic Curve Cryptography for those who are afraid of maths
 
SFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEESFO15-503: Secure storage in OP-TEE
SFO15-503: Secure storage in OP-TEE
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
 

Similar to ECC vs RSA: Battle of the Crypto-Ninjas

Property based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesProperty based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesDebasish Ghosh
 
10 logic+programming+with+prolog
10 logic+programming+with+prolog10 logic+programming+with+prolog
10 logic+programming+with+prologbaran19901990
 
Predicate calculus
Predicate calculusPredicate calculus
Predicate calculusRajendran
 
Strategic Argumentation is NP-complete
Strategic Argumentation is NP-completeStrategic Argumentation is NP-complete
Strategic Argumentation is NP-completeGuido Governatori
 
The Level Ancestor Problem simplified
The Level Ancestor Problem simplifiedThe Level Ancestor Problem simplified
The Level Ancestor Problem simplifiedleifwalsh
 
RuleML2015: Input-Output STIT Logic for Normative Systems
RuleML2015: Input-Output STIT Logic for Normative SystemsRuleML2015: Input-Output STIT Logic for Normative Systems
RuleML2015: Input-Output STIT Logic for Normative SystemsRuleML
 
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdfDeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdfSean Meyn
 
Intro to disceret structure
Intro to disceret structureIntro to disceret structure
Intro to disceret structureAbdur Rehman
 
Expressiveness and Model of the Polymorphic λ Calculus
Expressiveness and Model of the Polymorphic λ CalculusExpressiveness and Model of the Polymorphic λ Calculus
Expressiveness and Model of the Polymorphic λ Calculusevastsdsh
 
Cryptography Baby Step Giant Step
Cryptography Baby Step Giant StepCryptography Baby Step Giant Step
Cryptography Baby Step Giant StepSAUVIK BISWAS
 
Artificial intelligence for Social Good
Artificial intelligence for Social GoodArtificial intelligence for Social Good
Artificial intelligence for Social GoodOana Tifrea-Marciuska
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardAnimesh Chaturvedi
 

Similar to ECC vs RSA: Battle of the Crypto-Ninjas (18)

Pnp
PnpPnp
Pnp
 
Property based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesProperty based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rules
 
10 logic+programming+with+prolog
10 logic+programming+with+prolog10 logic+programming+with+prolog
10 logic+programming+with+prolog
 
Predicate calculus
Predicate calculusPredicate calculus
Predicate calculus
 
Strategic Argumentation is NP-complete
Strategic Argumentation is NP-completeStrategic Argumentation is NP-complete
Strategic Argumentation is NP-complete
 
CSE680-17NP-Complete.pptx
CSE680-17NP-Complete.pptxCSE680-17NP-Complete.pptx
CSE680-17NP-Complete.pptx
 
The Level Ancestor Problem simplified
The Level Ancestor Problem simplifiedThe Level Ancestor Problem simplified
The Level Ancestor Problem simplified
 
RuleML2015: Input-Output STIT Logic for Normative Systems
RuleML2015: Input-Output STIT Logic for Normative SystemsRuleML2015: Input-Output STIT Logic for Normative Systems
RuleML2015: Input-Output STIT Logic for Normative Systems
 
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdfDeepLearn2022 1. Goals & AlgorithmDesign.pdf
DeepLearn2022 1. Goals & AlgorithmDesign.pdf
 
Abhik-Satish-dagstuhl
Abhik-Satish-dagstuhlAbhik-Satish-dagstuhl
Abhik-Satish-dagstuhl
 
Intro to disceret structure
Intro to disceret structureIntro to disceret structure
Intro to disceret structure
 
Expressiveness and Model of the Polymorphic λ Calculus
Expressiveness and Model of the Polymorphic λ CalculusExpressiveness and Model of the Polymorphic λ Calculus
Expressiveness and Model of the Polymorphic λ Calculus
 
NLP Project Full Cycle
NLP Project Full CycleNLP Project Full Cycle
NLP Project Full Cycle
 
4535092.ppt
4535092.ppt4535092.ppt
4535092.ppt
 
Introduction
IntroductionIntroduction
Introduction
 
Cryptography Baby Step Giant Step
Cryptography Baby Step Giant StepCryptography Baby Step Giant Step
Cryptography Baby Step Giant Step
 
Artificial intelligence for Social Good
Artificial intelligence for Social GoodArtificial intelligence for Social Good
Artificial intelligence for Social Good
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

ECC vs RSA: Battle of the Crypto-Ninjas

  • 1. James McGivern ECC vs RSA: Battle of the Crypto-Ninjas Friday, 11 July 2014
  • 3. About James Mathematician turned Computer Scientist Technical Evangelist Lives in London Talks fast Likes cats Hates Marmite Friday, 11 July 2014
  • 5. Objectives the basics: terminology, concepts, etc symmetric vs. asymmetric cryptography RSA overview theory of elliptic curves elliptic curve cryptography (ECC) RSA vs. ECC (performance, security, etc) using ECC ECC “in the wild” Friday, 11 July 2014
  • 6. Please Note Aim: to provide enough basic information to “springboard” your own forays into cryptography No: History lessons (but maybe a tangent or two) Proofs - rigourous or otherwise Key exchange protocols I work for Cisco but all the views in this presentation are mine and do not reflect the views of Cisco. Friday, 11 July 2014
  • 8. All Hail Claude Shannon Godfather of: - Communication theory - Information Theory - Digital Computing & Digital Circuit Design - Modern cryptography Proved that the cryptographic one-time pad is unbreakable "the enemy knows the system" Friday, 11 July 2014
  • 9. Terminology A plaintext document is encrypted with a cipher to produce ciphertext Decryption is the reverse of encryption A cipher may utilise 1 or more keys Friday, 11 July 2014
  • 10. Cryptanalysis Crypto-ninjas need to be constantly vigilant for attack Friday, 11 July 2014
  • 11. Cryptanalysis can be classified by: Friday, 11 July 2014
  • 12. Cryptanalysis can be classified by: Computational resource requirements Friday, 11 July 2014
  • 13. Cryptanalysis can be classified by: Computational resource requirements Degree of information exposure Friday, 11 July 2014
  • 14. Cryptanalysis can be classified by: Computational resource requirements Degree of information exposure Degree of cryptosystem penetration Friday, 11 July 2014
  • 15. Cryptanalysis can be classified by: Computational resource requirements Degree of information exposure Degree of cryptosystem penetration Do not underestimate: stupidity, spies, traitors and other forms of social engineering Friday, 11 July 2014
  • 16. Diffusion is a measure of the difference between the statistical structure of the plaintext and the ciphertext Friday, 11 July 2014
  • 17. Diffusion is a measure of the difference between the statistical structure of the plaintext and the ciphertext Confusion is a measure of the complexity of the relationship between the ciphertext and the key(s) Friday, 11 July 2014
  • 18. Diffusion is a measure of the difference between the statistical structure of the plaintext and the ciphertext Confusion is a measure of the complexity of the relationship between the ciphertext and the key(s) Friday, 11 July 2014
  • 19. Kerckhoff’s Principle “A cryptosystem should be secure even if everything about the system, except the key, is public knowledge” Friday, 11 July 2014
  • 20. Warning! ! Even crypto-ninjas can’t herd cats Friday, 11 July 2014
  • 21. Cipher Classical Substitution Transposition Rotor Machines Modern Symmetric (public key) Asymmetric (private key) Stream Block A Cipher Class Diagram Friday, 11 July 2014
  • 23. Cryptographic Standards Created by “trusted” authorities, e.g. NIST (US), ENISA (EU), CESG/HMG (UK) Defines specific implementations of algorithms & protocols, including: key sizes random number & seed generators algorithm parameters Allows in-depth cryptanalysis Ensures support in hardware and software applications Friday, 11 July 2014
  • 42. Turing Machines S - set of symbols Q - set of states q0 - the initial state, q0 Q F - the set of final states, F ⊆ Q δ - the transition function Friday, 11 July 2014
  • 43. Decisions, Decisions, Decisions Given some formal system, a decision problem is a statement that is either true or false. E.g. Given any 2 integers x and y, is (x/y) mod 2 = 0? Is the real part of any non-trivial zero of the Riemann zeta function 1/2? Does a given algorithm return a value within a finite amount of time? Friday, 11 July 2014
  • 44. P & NP Decision problems in P can be solved in polynomial time on a deterministic Turing machine. sorting lists, shortest path problem A decision problem is in NP if a solution can be verified in polynomial time on a non-deterministic Turing machine. multi-body collision detection Friday, 11 July 2014
  • 45. NP-Hard & NP-Complete Not all problems in NP are equal! NP-complete problems are “the hardest problems in NP” A decision problem D is NP-complete if: 1. D is in NP 2. Every problem in NP is reducible to D in polynomial time If only (2) is true then D is NP-hard Friday, 11 July 2014
  • 46. P versus NP Friday, 11 July 2014
  • 47. RSA Dojo Friday, 11 July 2014
  • 48. Is a fundamental part of HTTPS/SSL Based on the Integer Factorisation Problem Believed to be in NP and co-NP but not NP-complete A factor is a number that divides evenly into another number, e.g. 20 has factors { 1, 2, 5, 10 } Friday, 11 July 2014
  • 49. Primes, Co-Primes A prime number is a natural number greater than 1 with no positive divisors except itself and 1 Two numbers p, q are co-prime iff the greatest common divisor is 1, i.e gcd(p,q) = 1 Examples: gcd(15, 10) = 5 gcd(16, 10) = 2 gcd(17, 10) = 1 Friday, 11 July 2014
  • 50. Integer Factorisation Problem The fundamental theorem of arithmetic, proves every positive integer has a unique prime decomposition: n = Σ pq Where n, p, q are integers and p are prime numbers Examples: 15 = 5 * 3 20 = 5 * 22 Friday, 11 July 2014
  • 51. Totatives & Euler’s Totients A number t is a totative of n iff 0 < t < n and gcd(t,n) = 1 Euler’s totient function of a number n is given by φ(n) = |T(n)|, where T(n) is the set of all totatives of n Example: if n = 9, then T(n) = {1, 2, 4, 5, 7, 8} φ(9) = |T(9)| = 6 Friday, 11 July 2014
  • 52. RSA Key Generation Choose two prime number p and q Compute n = pq Compute φ(n) = φ(p) φ(q) = (p - 1)/(q - 1) Chose an integer e s.t. 1 < e < φ(n) & gcd(e, φ(n)) = 1 Compute d = 1 / e(mod F(n)) Public Key = (e, n) Private Key = (e, d) Friday, 11 July 2014
  • 53. Encryption Given a message M convert to an integer m s.t. 0 < m < n using a padding protocol, the ciphertext c is generated by: c = me (mod n) Decryption Given a ciphertext c compute m = cd (mod n) and recover M by reversing the padding protocol on m Friday, 11 July 2014
  • 54. Caution! ! Picking the prime numbers is hard If p or q are too small or too close to each other it greatly decreases the security If p-1 or q-1 only has small prime factors n can be factored in polynomial time Friday, 11 July 2014
  • 55. Theory-based Attacks Trial division Euler’s algorithm Fermat’s algorithm Wheel factorisation Quadratic sieve General number field sieve Pollard’s ρ algorithm Shor’s algorithm Friday, 11 July 2014
  • 56. Practical Attacks Man-in-the-Middle: BEAST - faulty cipher attack CRIME & BREACH - secure cookie compression attack Side-Channel: Lucky13 - padding attack Bug: Heartbleed - buffer overflow Friday, 11 July 2014
  • 57. A Detour through the Garden of Mathematics Friday, 11 July 2014
  • 58. Abstract Algebra An algebraic structure is composed of one or more sets with one or more n-ary functions defined on them. Underpins a great deal of modern sciences: codes, symmetries, dynamical systems A beautiful example of mathematics at work Friday, 11 July 2014
  • 59. NOTA BENE! ! Mathematics is a precise language, the notation less so Different branches of maths use the same symbol to mean different things There are some “rules” which if you don’t know can be confusing In abstract algebra we use + and • which are not always numeric addition and multiplication Mathematicians are lazy: a • b = ab Friday, 11 July 2014
  • 60. A group G is a pair G(S, •) where S is a set and • a binary operator that satisfies: Closed: ∀ a, b S then a • b S Associative: ∀ a, b, c S then (a • b) • c = a • (b • c) Identity element: e S s.t ∀ a S e • a = a • e = a Inverse element: ∀ a S, b S s.t a • b = b • a = e Groups E E Friday, 11 July 2014
  • 61. A group G(S, •) is an abelian group (or commutative group) if it also satisfies the commutativity condition: ∀ a, b S then a • b = b • a Abelian Groups Friday, 11 July 2014
  • 62. A ring R is a tuple R(S,+,•) if it satisfies the 8 ring axioms: 1-4 (S,+) is an abelian group 5-6 (S,•) is a monoid 7-8 distributivity If the • operator is commutative then R is a commutative ring Rings Friday, 11 July 2014
  • 63. A field F is a tuple F(S,+,•) where F(S,+) and F(S,•) are abelian groups, and the distributivity property is satisfied, i.e. ∀ a, b, c S then: a • (b + c) = (a • b) + (a • c) (a + b) • c = (a • c) + (b • c) Every field is a ring but not every ring a field Fields Friday, 11 July 2014
  • 65. Foreword Elliptic curves have (almost) nothing to do with ellipses, so put ellipses and conic sections out of your thoughts Friday, 11 July 2014
  • 66. An elliptic curve E defined over a field k is a curve given by the equation y2 = x3 + Ax + B where the discriminant ∆ = 4A3 + 27B2 must be non-zero and A, B, x, y in k. We define E(k), together with the point at infinity Θ, as the set of all points on E over k. Friday, 11 July 2014
  • 67. An elliptic curve is given by the Weierstrass equation: y2 + Axy + By = x3 + Cx2 + Dx + E where A, B, C, D, E, x, y in k But we generally consider the cases where A, B, C are zero => ∆ = 0 Lies Lies Lies Friday, 11 July 2014
  • 68. Elliptic Curves Over Prime Fields An elliptic curve E defined over Zp is given by the equation y2 = x3 + Ax + B mod p ∆ = 4A3 + 27B2 mod p where p is a prime number, and Zp is the set of integers {0, ..., p-1} with modulo p arithmetic Friday, 11 July 2014
  • 71. Adding Points on a Curve Given two points P and Q on a elliptic curve, how can we produce a 3rd point R = P + Q, also on the curve? 1. If P ≠ Q, draw a line between P and Q extending it until it intersects the curve; If P = Q extend the tangent at P instead. This intersection point is -(P + Q), or -R 2. Draw a line from the intersection parallel to the y-axis until it intersects the curve again at R = P + Q Friday, 11 July 2014
  • 72. P Q Case 0: Line between P & Q not parallel to y- axis Friday, 11 July 2014
  • 73. P Q -R Case 0: Line between P & Q not parallel to y- axis Friday, 11 July 2014
  • 74. P Q -R R Case 0: Line between P & Q not parallel to y- axis Friday, 11 July 2014
  • 75. P Case 1: P = Q Friday, 11 July 2014
  • 76. P -R Case 1: P = Q Friday, 11 July 2014
  • 77. P -R R Case 1: P = Q Friday, 11 July 2014
  • 78. P Q Case 2: Q = -P, line between P & Q parallel to y-axis Friday, 11 July 2014
  • 79. P Q Case 2: Q = -P, line between P & Q parallel to y-axis R = Θ Friday, 11 July 2014
  • 80. The set of all points on E over k, E(k), form a group (E(k), +) under the point addition operator. Recall, a group has the properties: P + Θ = Θ + P = P [Identity element] P + (-P) = Θ [Inverse element] P + (Q + R) = (P + Q) + R [Associative] P + Q E(k) [Closed] for all P, Q, R E(k) Point Addition Friday, 11 July 2014
  • 81. Point Multiplication Multiplication of a point by a scalar integer is defined by n • P = P + P + ... + P Examples: 2P = P + P -3P = -3(P) = (-P) + (-P) + (-P) 0P = Θ Point multiplication is more efficient than general point addition. Friday, 11 July 2014
  • 83. Elliptic curve cryptography uses elliptic curves over finite fields A prime curve is defined over Zp A binary curve is defined over GF(2m) Hardware implementations of binary curve systems are both small & fast Prime curves are typically used in software implementations Friday, 11 July 2014
  • 84. Discrete Logarithm Problem Problem: find k where xk = y where x, y in some group G Note that xk = x • x • ... • x (k times) If G is the set of points on an elliptic curve we define the elliptic discrete logarithm problem (ECDLP) as: given P, Q G find k where Q = k • P Friday, 11 July 2014
  • 85. ECDLP Complexity The elliptic curve discrete logarithm problem is in NP and co-NP and not thought to be in NP-complete or NP-hard As key size increases performance of implementations decreases Friday, 11 July 2014
  • 86. Domain Parameters p: The prime number which defines the field in which the curve operates, Fp. All point operations are taken modulo p. a, b: The two coefficients which define the curve. These are integers. G: The generator or base point. A distinct point of the curve which resembles the "start" of the curve. n: The order of the curve generator point G. h: The cofactor of the curve. It is the quotient of the number of curve-points, or #E(Fp), divided by n. Friday, 11 July 2014
  • 87. Key Generation Generating a keypair for ECC is trivial. The private key is a random integer dA, such that 0 < dA < n Then we generate the public key QA using scalar point multiplication of the private key with the generator point G: QA = dA • G Note that the public and private key are not equally exchangeable (like in RSA, where both are integers): the private key dA is a integer, but the public key QA is a point on the curve. Friday, 11 July 2014
  • 88. Encryption First choose a random number r so that 0 < r < n Then, calculate the “session” point R by multiplying r with the generator point of the curve: R = r . G We also generate a secret using the public key of the recipient: S = r . QA Now, R is publicly transmitted with the message and from the point S a symmetric key is derived with which the message is encrypted, e.g using AES. Friday, 11 July 2014
  • 89. Decryption Given an encrypted message and session key R, how do you recover S to decrypt the message? S = dA . R = dA . (r . G) = r . (dA . G) = r . QA Friday, 11 July 2014
  • 90. ECC security correlates to: Domain parameter generation and validation (poor curve choice) Small key sizes Even small differences in parameters can signifcantly change the security Caution! ! Friday, 11 July 2014
  • 91. Theory-Based Attacks Brute-force O(2n/2) Baby-step giant-step O(√n) Function field sieves O(√n) Pollard’s ρ algorithm for logarithms O(~0.8√n) Shor’s algorithm for logarithms O((log n)3) Friday, 11 July 2014
  • 92. Practical Attacks Side channel attacks (passive) Differential power analysis Timing attacks Zero-value point attacks Fault analysis attacks (active) Safe error analysis Invalid point & invalid curve analysis Friday, 11 July 2014
  • 93. RSA vs. ECC Friday, 11 July 2014
  • 94. Security ECC is not “more secure” than RSA They both utilise similar mathematical problems These problems are not NP-complete or NP-hard As (quantum) computers become more powerful both ECC and RSA are in trouble Friday, 11 July 2014
  • 95. Performance 1. Shorter keys are as strong as long keys for RSA (in general 256-bit ECC is equivalent to 3072-bit RSA) 2. Low on CPU consumption. 3. Low on memory usage. 4. (2) & (3) => lower energy 5. Fast key generation 6. Processing ECC SSL certificates x2 faster Friday, 11 July 2014
  • 96. Pairing Pairing allows for a 3-party key exchange and cryptography system Useful for example in financial transactions: buyer, seller, & bank Active area of research, especially in identity-based encryption (IBE), primarily using elliptic curves Friday, 11 July 2014
  • 97. ECC “in the Wild” Friday, 11 July 2014
  • 98. ECC & Java JCA • java.security • javax.security deprecated JCE • Oracle JCE + policies Legion of the Bouncycastle Friday, 11 July 2014
  • 99. Standardised ECC NIST curve P-256 [Safe] y2 = x3- 3x + K modulo p = 2224 - 296 + 1 where K = 18958286285566608000408668544493926415504680968679321075787234672564 SECp256k1 [Unsafe] y2 = x3 + 7 modulo p = 2256 - 232 - 977 http://safecurves.cr.yp.to/ Friday, 11 July 2014
  • 100. Curve25519 Is a high-speed Diffie-Hellman function growing in popularity and as the “default setting” Uses the curve given by y2 = x3 + 486662x2 + x over the prime field given by 2255 − 19, and the base point x = 9 Supported apps: http://ianix.com/pub/ curve25519-deployment.htmlFriday, 11 July 2014
  • 101. The NSA & ECC Attack method: tampered with Dual EC_DRBG (a CSPRNG), which is part of the NIST SP 800-90A standard, to introduce a “backdoor” Attack summary: the CSPRNG did not generate random points P & Q on the curve meaning an attacker can recover the keys relatively easily from ciphertext Friday, 11 July 2014
  • 102. The Pirate Bay & ECC Bit-torrent is a peer-2-peer file transfer protocol co-ordinated by centralised trackers Recently IPOs have sought IP and domain name blockades against index sites August 2013 PirateBrowser launched Coming soon: P2P darknet where authenticated index site DNS entries are mapped to their ECC public key Friday, 11 July 2014
  • 114. The Now RSA is still secure but consider using bigger keys soon ECC support is nearly universal (OS, browser, switches/routers/etc) ECC is growing because of faster performance not “better” security Attacks in the wild generally focus on implementations not the mathematical theory Friday, 11 July 2014
  • 115. The Future ECC is a stepping stone technology Advances in mathematics, computing power and models threaten the security of ECC and RSA Lattice Cryptography will be the next generation of non-quantum cryptosystems Research in to NP-intermediate and the rest of the complexity landscape Friday, 11 July 2014
  • 116. Thank you Friday, 11 July 2014
  • 117. Resouces • Lance Fortnow “The Status of the P Versus NP Problem” http://cacm.acm.org/magazines/ 2009/9/38904-the-status-of-the-p-versus-np- problem • P. de Sautoy, “Music of the Primes” • https://blogs.rsa.com/secure-crypto-lucky- thirteen-attack/ • Bos, Joppe W., Marcelo E. Kaihara, and Peter L. Montgomery. "Pollard rho on the PlayStation 3." Workshop record of SHARCS. Vol. 9. 2009. Friday, 11 July 2014
  • 118. Resouces • Joye, Marc, and Michael Tunstall. Fault Analysis in Cryptography. Springer, 2012 • Matthew Green “The Many Flaws of Dual_EC_DRBG”, http:// blog.cryptographyengineering.com/2013/09/the- many-flaws-of-dualecdrbg.html Friday, 11 July 2014
  • 119. James McGivern ECC vs RSA: Battle of the Crypto-Ninjas Friday, 11 July 2014