SlideShare a Scribd company logo
1 of 49
Download to read offline
CNIT 141


Cryptography for Computer Networks
12. Elliptic Curves
Updated 12-1-21
Topics
• What is an Elliptic Curve?


• The ECDLP Problem


• Diffie-Hellman Key Agreement over Elliptic
Curves


• Choosing a Curve


• How Things Can Go Wrong
New & Improved
• ECC was introduced in 1985


• More powerful and efficient than RSA and
classical Diffie-Hellman


• ECC with as 256-bit key is stronger than RSA
with a 4096-bit key
Slow Adoption
• OpenSSL added ECC in 2005


• OpenSSH added it in 2011


• Used in Bitcoin


• Most applications based on DLP can use ECC
instead


• Except Secure Remote Password


• Link Ch 12a
What is an Elliptic Curve?
Elliptic Curve over


Real Numbers
y2 = x3 + ax + b
Elliptic Curves over
Integers
• Mod 191


• From group Z191 = 0, 1, 2, ... 190
The Field Zp
• We'll use both addition and multiplication


• We need 0 as the additive identity element


• x + 0 = x


• There are inverses for addition (-x)


• And for multiplication (denoted 1/x)


• Such a group is called a field


• A finite number of elements: finite field
Adding Points
• P + Q: Draw line connecting P and Q


• Find the point where it intersects with the
elliptic curve


• Reflect around X-axis
P + (-P)
P =(xP, yP)


-P =(xP, -yP)


• Adding these points makes a vertical line


• Goes to the "point at infinity"


• Which acts as zero for elliptic curves
P + P
• Use tangent line
Multiplication
• kP = P + P + P + ... (k times)


• To calculate it faster, calculate:


• P2 = P + P


• P4 = P2 + P2


• P8 = P4 + P4


• etc.
What is a Group?
• A set of elements (denoted x, y, z below)


• An operation (denoted ✕ below)


• With these properties


• Closure


• If x and y are in the group, x ✕ y is too


• Associativity (x ✕ y) ✕ z = x ✕ (y ✕ z)


• Identity element e such that e ✕ x = x


• Inverse For every x, there is a y with x ✕ y = e
Elliptic Curve Groups
• Points P, Q, R and "addition" form a group


• Closure


• If P and Q are in the group, P + Q is too


• Associativity (P + Q) + R = P + (Q + R)


• Identity element O is the point at infinity


• Such that P + O = P


• Inverse


• For every P = (x, y) , -P = (x, -y)


• P + (-P) = O
The ECDLP Problem
ECDLP
• All elliptic curve cryptography is based in this
problem


Given P and Q


Find k such that Q = kP


• Believed to be hard, like DLP


• Has withstood cryptanalysis since its
introduction in 1985
Smaller Numbers
• Using the field Zp
• Where p is n bits long


• The security is n / 2 bits


• A p 256 bits long provides 128 bits of security


• That would take more than 4096 bits with RSA


• ECC is much faster
Diffie-Hellman Key Agreement
over Elliptic Curves
RSA-Based Diffie-Hellman
(DH)
• They can both calculate gab by combining
public and secret information
Keep a secret

Transmit ga
Keep b secret

Transmit gb
ECDH
• Choose a fixed point G (not secret)


• Shared secret is dAPB = dBPA = dAdBG
Pick a random secret dA

Transmit PA = dAG
Pick a random secret dB

Transmit PB = dBG
Signing with Elliptic Curves
• ECDSA (Elliptic Curve Digital Signature
Algorithm)


• Replaces RSA and classical DSA


• The only signature used in Bitcoin


• Supported by many TLS and SSH
implementations


• Consists of signature generation and
verification algorithms
• Signer holds a private key d


• Verifiers hold the public key P = dG


• Both know:


• What elliptic curve to use


• Its order n (the number of points in the
curve)


• Coordinates of a base point G
Signing with Elliptic Curves
ECDSA Signature
Generation
• Signer hashes the message to form h


• With a function such as SHA-256 or BLAKE2


• Signer picks a random number k


• Calculates kG, with coordinates (x, y)


• Signature is (r, s):


r = x mod n s = (h + rd) / k mod n
Signature Length
• If coordinates are 256-bit numbers


• r and s are both 256 bits long


• Signature is 512 bits long
ECDSA vs. RSA
Signatures
• RSA is used only for encryption and signatures


• ECC is a family of algorithms


• Encryption and signatures


• Key agreement


• Advanced functions such as identity-based
encryption
• RSA's signature and verification algorithms are
simpler than ECDSA


• RSA's verification process is often faster
because of the small public key e


• ECC has two major advantages


• Shorter signatures


• Faster signing speed
ECDSA vs. RSA
Signatures
Speed Comparison
• ECDSA is 150x faster at signing than RSA


• Slightly faster at verifying
Encrypting with Elliptic
Curves
• Rarely used


• Message size can't exceed about 100 bits


• RSA can use 4000 bits at same security level
Integrated Encryption
Scheme (IES)
• Generate a Diffie-Hellman shared secret


• Derive a symmetric key from the shared
secret


• Use symmetric encryption
Elliptic Curve Integrated
Encryption Scheme (ECIES)
Choosing a Curve
Coefficients
• Choosing a and b in


y2 = x3 + ax + b


• Order must not be product of small numbers


• Curves that treat P+Q and P+P the same are
safer, to avoid information leaks


• Creators of curve might be sneaky and fail to
explain how they were chosen
NIST Curves
• Standardized in 2000


• Five prime curves (modulus is prime)


• The most commonly used ones


• Ten others use "binary polynomials"


• Make hardware implementation more
efficient
P-256
• The most common NIST curve


• Modulus is p


• b is a 256-bit number
Where Did b Come From?
• NSA never explained it well


• Most experts don't believe there's a backdoor


• b is the SHA-1 hash of this random-looking
value
• https://medium.com/asecuritysite-when-bob-met-alice/ding-ding-its-secp256k1-
and-curve-25519-in-red-corner-and-nist-in-the-blue-corner-f49c4ad1c3a8
Curve 25519
• Published by Daniel J. Bernstein in 2006


• Faster than NIST standard curves


• Uses shorter keys


• No suspicious constants


• Uses same formula for P+Q and P+P
p = 2255 - 19


• Used everywhere


• Chrome, Apple, OpenSSH


• But not a NIST standard
Curve 25519
y2 = x3 + 7


p = 2256 - 232 - 977


• Used in Bitcoin


https://en.bitcoin.it/wiki/Secp256k1
Curve secp256k1
Other Curves
• Old national standards


• France: ANSSI curves


• Germany: Brainpool curves


• Use constants of unknown origin
Other Curves
• Newer curves, rarely used


• Curve41417


• More secure variant of Curve25519


• Ed448-Goldilocks


• 448-bit curve from 2014
How Things Can Go
Wrong
Large Attack Surface
• Elliptic curves have


• More parameters than classic Diffie-Hellman


• More opportunities for mistakes


• Possible vulnerabilities to side-channel
attacks


• Timing of calculations on large numbers
ECDSA with Bad
Randomness
• Signing uses a secret random k


s = (h + rd) / k mod n


• If k is re-used, attacker can calculate k


k = (h1 - h2) / (s1 - s2)


• This happened on the PlayStation 3 in 2010


• Presented at CCC by failOverflow team
Invalid Curve Attack
• Attacker sends PA that is not on the same curve


• From a weak curve instead


• Target fails to verify that PA is on the curve, and replies
with dBPA
Transmits malicious 

PA != dAG
Pick a random secret dB

Transmit PB = dBG
Invalid Curve Attack
• Malicious client could trick server into using
the wrong curve


• Exposing the server's secret key


• Some TLS implementations were shown to be
vulnerable in 2015


• https://threatpost.com/json-libraries-patched-against-invalid-
curve-crypto-attack/124336/
CNIT 141 12. Elliptic Curves

More Related Content

What's hot

CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. EncryptionSam Bowne
 
CNIT 141 6. Hash Functions
CNIT 141 6. Hash FunctionsCNIT 141 6. Hash Functions
CNIT 141 6. Hash FunctionsSam Bowne
 
CNIT 126: 13: Data Encoding
CNIT 126: 13: Data EncodingCNIT 126: 13: Data Encoding
CNIT 126: 13: Data EncodingSam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
CNIT 141: 10. RSA
CNIT 141: 10. RSACNIT 141: 10. RSA
CNIT 141: 10. RSASam Bowne
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. EncryptionSam Bowne
 
CNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated EncryptionCNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated EncryptionSam Bowne
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. EncryptionSam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
CNIT 1417. Keyed Hashing
CNIT 1417. Keyed HashingCNIT 1417. Keyed Hashing
CNIT 1417. Keyed HashingSam Bowne
 
CNIT 141: 3. Cryptographic Security
CNIT 141: 3. Cryptographic SecurityCNIT 141: 3. Cryptographic Security
CNIT 141: 3. Cryptographic SecuritySam Bowne
 
CNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsCNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsSam Bowne
 
CNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed HashingCNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed HashingSam Bowne
 
CNIT 141 5. Stream Ciphers
CNIT 141 5. Stream CiphersCNIT 141 5. Stream Ciphers
CNIT 141 5. Stream CiphersSam Bowne
 
CNIT 141: 13. TLS
CNIT 141: 13. TLSCNIT 141: 13. TLS
CNIT 141: 13. TLSSam Bowne
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionSam Bowne
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
CNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersCNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersSam Bowne
 
CISSP Certification Security Engineering-Part2
CISSP Certification Security Engineering-Part2CISSP Certification Security Engineering-Part2
CISSP Certification Security Engineering-Part2Hamed Moghaddam
 

What's hot (20)

CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. Encryption
 
CNIT 141 6. Hash Functions
CNIT 141 6. Hash FunctionsCNIT 141 6. Hash Functions
CNIT 141 6. Hash Functions
 
CNIT 126: 13: Data Encoding
CNIT 126: 13: Data EncodingCNIT 126: 13: Data Encoding
CNIT 126: 13: Data Encoding
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
CNIT 141: 10. RSA
CNIT 141: 10. RSACNIT 141: 10. RSA
CNIT 141: 10. RSA
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. Encryption
 
CNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated EncryptionCNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated Encryption
 
CNIT 141: 1. Encryption
CNIT 141: 1. EncryptionCNIT 141: 1. Encryption
CNIT 141: 1. Encryption
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
CNIT 1417. Keyed Hashing
CNIT 1417. Keyed HashingCNIT 1417. Keyed Hashing
CNIT 1417. Keyed Hashing
 
CNIT 141: 3. Cryptographic Security
CNIT 141: 3. Cryptographic SecurityCNIT 141: 3. Cryptographic Security
CNIT 141: 3. Cryptographic Security
 
CNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsCNIT 141: 6. Hash Functions
CNIT 141: 6. Hash Functions
 
CNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed HashingCNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed Hashing
 
CNIT 141 5. Stream Ciphers
CNIT 141 5. Stream CiphersCNIT 141 5. Stream Ciphers
CNIT 141 5. Stream Ciphers
 
CNIT 141: 13. TLS
CNIT 141: 13. TLSCNIT 141: 13. TLS
CNIT 141: 13. TLS
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated Encryption
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
CNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream CiphersCNIT 141: 5. Stream Ciphers
CNIT 141: 5. Stream Ciphers
 
CISSP Certification Security Engineering-Part2
CISSP Certification Security Engineering-Part2CISSP Certification Security Engineering-Part2
CISSP Certification Security Engineering-Part2
 

Similar to CNIT 141 12. Elliptic Curves

12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic CurvesSam Bowne
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsNIT Sikkim
 
Chapter 8 cryptography lanjutan
Chapter 8 cryptography lanjutanChapter 8 cryptography lanjutan
Chapter 8 cryptography lanjutannewbie2019
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
ellipticcurvecryptography.pptx
ellipticcurvecryptography.pptxellipticcurvecryptography.pptx
ellipticcurvecryptography.pptxAYUSHJAIN152065
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated EncryptionSam Bowne
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyCSNP
 
CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)Sam Bowne
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3rayborg
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyMd. Shafiul Alam Sagor
 
Applied cryptanalysis - stream ciphers
Applied cryptanalysis - stream ciphersApplied cryptanalysis - stream ciphers
Applied cryptanalysis - stream ciphersVlad Garbuz
 
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz «Applied cryptanalysis stream ciphers» by Vladimir Garbuz
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz 0xdec0de
 

Similar to CNIT 141 12. Elliptic Curves (20)

12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
Class3
Class3Class3
Class3
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
 
Chapter 8 cryptography lanjutan
Chapter 8 cryptography lanjutanChapter 8 cryptography lanjutan
Chapter 8 cryptography lanjutan
 
Cryptography-101
Cryptography-101Cryptography-101
Cryptography-101
 
Cryptography - 101
Cryptography - 101Cryptography - 101
Cryptography - 101
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
ellipticcurvecryptography.pptx
ellipticcurvecryptography.pptxellipticcurvecryptography.pptx
ellipticcurvecryptography.pptx
 
Symmetric encryption
Symmetric encryptionSymmetric encryption
Symmetric encryption
 
Rsa
RsaRsa
Rsa
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum Cryptography
 
CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)CNIT 125 Ch 4. Security Engineering (Part 2)
CNIT 125 Ch 4. Security Engineering (Part 2)
 
RSA
RSARSA
RSA
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key Cryptography
 
Applied cryptanalysis - stream ciphers
Applied cryptanalysis - stream ciphersApplied cryptanalysis - stream ciphers
Applied cryptanalysis - stream ciphers
 
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz «Applied cryptanalysis stream ciphers» by Vladimir Garbuz
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz
 
Cryptography for Everyone
Cryptography for EveryoneCryptography for Everyone
Cryptography for Everyone
 

More from Sam Bowne

3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities Sam Bowne
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development SecuritySam Bowne
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the ApplicationSam Bowne
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)Sam Bowne
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-HellmanSam Bowne
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1Sam Bowne
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android ApplicationsSam Bowne
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)Sam Bowne
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3Sam Bowne
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard ProblemsSam Bowne
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)Sam Bowne
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis MethodologySam Bowne
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)Sam Bowne
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)Sam Bowne
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream CiphersSam Bowne
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data CollectionSam Bowne
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers Sam Bowne
 
6 Analyzing Android Applications (Part 2)
6 Analyzing Android Applications (Part 2)6 Analyzing Android Applications (Part 2)
6 Analyzing Android Applications (Part 2)Sam Bowne
 

More from Sam Bowne (20)

Cyberwar
CyberwarCyberwar
Cyberwar
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
10 RSA
10 RSA10 RSA
10 RSA
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers
 
6 Analyzing Android Applications (Part 2)
6 Analyzing Android Applications (Part 2)6 Analyzing Android Applications (Part 2)
6 Analyzing Android Applications (Part 2)
 

Recently uploaded

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Recently uploaded (20)

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

CNIT 141 12. Elliptic Curves

  • 1. CNIT 141 Cryptography for Computer Networks 12. Elliptic Curves Updated 12-1-21
  • 2. Topics • What is an Elliptic Curve? • The ECDLP Problem • Diffie-Hellman Key Agreement over Elliptic Curves • Choosing a Curve • How Things Can Go Wrong
  • 3. New & Improved • ECC was introduced in 1985 • More powerful and efficient than RSA and classical Diffie-Hellman • ECC with as 256-bit key is stronger than RSA with a 4096-bit key
  • 4. Slow Adoption • OpenSSL added ECC in 2005 • OpenSSH added it in 2011 • Used in Bitcoin • Most applications based on DLP can use ECC instead • Except Secure Remote Password • Link Ch 12a
  • 5. What is an Elliptic Curve?
  • 6. Elliptic Curve over 
 Real Numbers y2 = x3 + ax + b
  • 7. Elliptic Curves over Integers • Mod 191 • From group Z191 = 0, 1, 2, ... 190
  • 8. The Field Zp • We'll use both addition and multiplication • We need 0 as the additive identity element • x + 0 = x • There are inverses for addition (-x) • And for multiplication (denoted 1/x) • Such a group is called a field • A finite number of elements: finite field
  • 9. Adding Points • P + Q: Draw line connecting P and Q • Find the point where it intersects with the elliptic curve • Reflect around X-axis
  • 10.
  • 11. P + (-P) P =(xP, yP) -P =(xP, -yP) • Adding these points makes a vertical line • Goes to the "point at infinity" • Which acts as zero for elliptic curves
  • 12.
  • 13. P + P • Use tangent line
  • 14. Multiplication • kP = P + P + P + ... (k times) • To calculate it faster, calculate: • P2 = P + P • P4 = P2 + P2 • P8 = P4 + P4 • etc.
  • 15. What is a Group? • A set of elements (denoted x, y, z below) • An operation (denoted ✕ below) • With these properties • Closure • If x and y are in the group, x ✕ y is too • Associativity (x ✕ y) ✕ z = x ✕ (y ✕ z) • Identity element e such that e ✕ x = x • Inverse For every x, there is a y with x ✕ y = e
  • 16. Elliptic Curve Groups • Points P, Q, R and "addition" form a group • Closure • If P and Q are in the group, P + Q is too • Associativity (P + Q) + R = P + (Q + R) • Identity element O is the point at infinity • Such that P + O = P • Inverse • For every P = (x, y) , -P = (x, -y) • P + (-P) = O
  • 18. ECDLP • All elliptic curve cryptography is based in this problem Given P and Q Find k such that Q = kP • Believed to be hard, like DLP • Has withstood cryptanalysis since its introduction in 1985
  • 19. Smaller Numbers • Using the field Zp • Where p is n bits long • The security is n / 2 bits • A p 256 bits long provides 128 bits of security • That would take more than 4096 bits with RSA • ECC is much faster
  • 21. RSA-Based Diffie-Hellman (DH) • They can both calculate gab by combining public and secret information Keep a secret Transmit ga Keep b secret Transmit gb
  • 22. ECDH • Choose a fixed point G (not secret) • Shared secret is dAPB = dBPA = dAdBG Pick a random secret dA Transmit PA = dAG Pick a random secret dB Transmit PB = dBG
  • 23. Signing with Elliptic Curves • ECDSA (Elliptic Curve Digital Signature Algorithm) • Replaces RSA and classical DSA • The only signature used in Bitcoin • Supported by many TLS and SSH implementations • Consists of signature generation and verification algorithms
  • 24. • Signer holds a private key d • Verifiers hold the public key P = dG • Both know: • What elliptic curve to use • Its order n (the number of points in the curve) • Coordinates of a base point G Signing with Elliptic Curves
  • 25. ECDSA Signature Generation • Signer hashes the message to form h • With a function such as SHA-256 or BLAKE2 • Signer picks a random number k • Calculates kG, with coordinates (x, y) • Signature is (r, s): r = x mod n s = (h + rd) / k mod n
  • 26. Signature Length • If coordinates are 256-bit numbers • r and s are both 256 bits long • Signature is 512 bits long
  • 27. ECDSA vs. RSA Signatures • RSA is used only for encryption and signatures • ECC is a family of algorithms • Encryption and signatures • Key agreement • Advanced functions such as identity-based encryption
  • 28. • RSA's signature and verification algorithms are simpler than ECDSA • RSA's verification process is often faster because of the small public key e • ECC has two major advantages • Shorter signatures • Faster signing speed ECDSA vs. RSA Signatures
  • 29. Speed Comparison • ECDSA is 150x faster at signing than RSA • Slightly faster at verifying
  • 30. Encrypting with Elliptic Curves • Rarely used • Message size can't exceed about 100 bits • RSA can use 4000 bits at same security level
  • 31. Integrated Encryption Scheme (IES) • Generate a Diffie-Hellman shared secret • Derive a symmetric key from the shared secret • Use symmetric encryption
  • 34. Coefficients • Choosing a and b in y2 = x3 + ax + b • Order must not be product of small numbers • Curves that treat P+Q and P+P the same are safer, to avoid information leaks • Creators of curve might be sneaky and fail to explain how they were chosen
  • 35. NIST Curves • Standardized in 2000 • Five prime curves (modulus is prime) • The most commonly used ones • Ten others use "binary polynomials" • Make hardware implementation more efficient
  • 36. P-256 • The most common NIST curve • Modulus is p • b is a 256-bit number
  • 37. Where Did b Come From? • NSA never explained it well • Most experts don't believe there's a backdoor • b is the SHA-1 hash of this random-looking value
  • 39. Curve 25519 • Published by Daniel J. Bernstein in 2006 • Faster than NIST standard curves • Uses shorter keys • No suspicious constants • Uses same formula for P+Q and P+P
  • 40. p = 2255 - 19 • Used everywhere • Chrome, Apple, OpenSSH • But not a NIST standard Curve 25519
  • 41. y2 = x3 + 7 p = 2256 - 232 - 977 • Used in Bitcoin https://en.bitcoin.it/wiki/Secp256k1 Curve secp256k1
  • 42. Other Curves • Old national standards • France: ANSSI curves • Germany: Brainpool curves • Use constants of unknown origin
  • 43. Other Curves • Newer curves, rarely used • Curve41417 • More secure variant of Curve25519 • Ed448-Goldilocks • 448-bit curve from 2014
  • 44. How Things Can Go Wrong
  • 45. Large Attack Surface • Elliptic curves have • More parameters than classic Diffie-Hellman • More opportunities for mistakes • Possible vulnerabilities to side-channel attacks • Timing of calculations on large numbers
  • 46. ECDSA with Bad Randomness • Signing uses a secret random k s = (h + rd) / k mod n • If k is re-used, attacker can calculate k k = (h1 - h2) / (s1 - s2) • This happened on the PlayStation 3 in 2010 • Presented at CCC by failOverflow team
  • 47. Invalid Curve Attack • Attacker sends PA that is not on the same curve • From a weak curve instead • Target fails to verify that PA is on the curve, and replies with dBPA Transmits malicious PA != dAG Pick a random secret dB Transmit PB = dBG
  • 48. Invalid Curve Attack • Malicious client could trick server into using the wrong curve • Exposing the server's secret key • Some TLS implementations were shown to be vulnerable in 2015 • https://threatpost.com/json-libraries-patched-against-invalid- curve-crypto-attack/124336/