Public Key Cryptography
Total Page:16
File Type:pdf, Size:1020Kb
Public Key Cryptography Indivar Gupta SAG, DRDO, Delhi Background Public Key Cryptography Basic Concepts in Complexity Theory Some Number Theoretic & Algebraic Algorithms Some Computational Indivar Gupta Hard Problems and their Application SAG, DRDO, Delhi Cryptography Public Key Cryptography INTERNATIONAL CRYPTO-WEBINAR, 2020 Diffie Hellman Key Exchange Protocol 26th - 30th August, 2020 Public Key Cryptosystems RSA & ElGamal Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum Elliptic Curve Cryptography Open Source Libraries Outline Public Key Cryptography 1 Background Indivar Gupta Basic Concepts in Complexity Theory SAG, DRDO, Delhi Some Number Theoretic & Algebraic Algorithms Background Some Computational Hard Problems and their Application Basic Concepts in Complexity Theory Some Number 2 Cryptography Theoretic & Algebraic Algorithms Some Computational 3 Public Key Cryptography Hard Problems and their Application Diffie Hellman Key Exchange Protocol Cryptography Public Key Cryptosystems Public Key Cryptography RSA & ElGamal Diffie Hellman Key Exchange Protocol Elliptic Curve Cryptography Public Key Cryptosystems Other Public Key Cryptosystems: Post Quantum RSA & ElGamal Elliptic Curve Cryptography 4 Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum 5 Open Source Libraries Elliptic Curve Cryptography Open Source Libraries Outline Public Key Cryptography 1 Background Indivar Gupta Basic Concepts in Complexity Theory SAG, DRDO, Delhi Some Number Theoretic & Algebraic Algorithms Background Some Computational Hard Problems and their Application Basic Concepts in Complexity Theory Some Number 2 Cryptography Theoretic & Algebraic Algorithms Some Computational 3 Public Key Cryptography Hard Problems and their Application Diffie Hellman Key Exchange Protocol Cryptography Public Key Cryptosystems Public Key Cryptography RSA & ElGamal Diffie Hellman Key Exchange Protocol Elliptic Curve Cryptography Public Key Cryptosystems Other Public Key Cryptosystems: Post Quantum RSA & ElGamal Elliptic Curve Cryptography 4 Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum 5 Open Source Libraries Elliptic Curve Cryptography Open Source Libraries Representation of Numbers Public Key Cryptography Indivar Gupta SAG, DRDO, Delhi Background Basic Concepts in Each number can be represented in the form of different Complexity Theory Some Number basis. Theoretic & Algebraic Algorithms k−1 k Some Computational Any number n between b and b is a k-digit number to the Hard Problems and their Application base b. Cryptography Number of digits = [logb n] + 1 (basis b) Public Key Cryptography Number of bits (size of number) [log2 n] + 1 Diffie Hellman Key Exchange Protocol Public Key Cryptosystems RSA & ElGamal Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum Elliptic Curve Cryptography Open Source Libraries Complexity Theory:I Public Key Cryptography Definition (Running Time) Indivar Gupta SAG, DRDO, Delhi The number of basic (primitives) operations (steps) to execute an Background algorithm (computational complexity). Running time of an Basic Concepts in Complexity Theory algorithm is depend on the size of the input. Some Number Theoretic & Algebraic Algorithms Some Computational Definition (Size of an Input) Hard Problems and their Application Cryptography In bits, in digits, in bytes, in words etc..... Public Key Cryptography Definition (Space Complexity) Diffie Hellman Key Exchange Protocol Public Key Cryptosystems It measures the amount of temporary storage used when RSA & ElGamal Elliptic Curve performing a computational task. Cryptography Other Public Key Cryptosystems: Post Quantum Definition (Big- O) Elliptic Curve Cryptography Open Source Libraries Complexity Theory:II Public Key Cryptography Indivar Gupta SAG, DRDO, Delhi f (n) = O(g(n)) if there exists a positive constant c and a positive n f (n) cg(n) n n : g Background integer ◦ such that 0 6 6 for all > ◦ Note: is Basic Concepts in Complexity Theory simpler function than f and it does not increase much faster than f . Some Number Theoretic & Algebraic Algorithms Some Examples of Big-O Some Computational Hard Problems and 3 2 3 their Application Let f (n) = 2n + 3n + 4n + 5 & g(n) = n . Then f = O(g) Cryptography ,for take n0 = 5, c = 3. Public Key k k−1 Cryptography Let f (n) = akn + ak−1n + ··· + a0 with ak > 0, Diffie Hellman Key k Exchange Protocol f (n) = O(n ). Public Key Cryptosystems n n RSA & ElGamal x = O(e ) for any positive power n Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum Elliptic Curve Cryptography Open Source Libraries Complexity Theory: III Public Key Cryptography Note: The notation Big-O is used to represents an upper bound of Indivar Gupta SAG, DRDO, the computational complexity of an algorithm in the worst-case Delhi scenario. Background Basic Concepts in Definition (Small-o) Complexity Theory Some Number Theoretic & Algebraic f (n) = o(g(n)) if Algorithms Some Computational f (n) Hard Problems and lim ! 0: their Application n!1 g(n) Cryptography Public Key Note: g(n) is upper bound of f (n) i.e f (n) << g(n). Cryptography Diffie Hellman Key Exchange Protocol Some Examples of small-o Public Key Cryptosystems n RSA & ElGamal For any positive integer a, a = o((n!)) Elliptic Curve n Cryptography n! = o(n ) Other Public Key Cryptosystems: Post Quantum Remark 1: : Other notations : Ω, !, Θ. Elliptic Curve Cryptography Open Source Libraries Orders of common functions2 Public Key Cryptography Indivar Gupta SAG, DRDO, O(1) Constant Delhi O(log log n) Double-Logarithmic Background O(log n) Logarithmic Basic Concepts in c Complexity Theory O(log n), c > 1 Poly-Logarithmic Some Number Theoretic & Algebraic c Algorithms O(n ), 0 < c < 1 Fractional Some Computational Hard Problems and O(n) Linear their Application c Cryptography O(n ), c > 1 Polynomial 1 Public Key Ln(α; c) Sub-exponential Cryptography n Diffie Hellman Key O(c ) Exponential Exchange Protocol Public Key O(n!) Factorial Cryptosystems RSA & ElGamal Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum 1O(exp(c + O(1))(n)α(log n)1−α) Elliptic Curve 2 Cryptography http://en.wikipedia.org/wiki/Big_O_notation Open Source Libraries Complexity of an AlgorithmI Public Key Cryptography Indivar Gupta SAG, DRDO, Delhi Background Complexity of an algorithm is said to be in polynomial time Basic Concepts in c Complexity Theory if its complexity is O(n ), where n is the bit length of the Some Number Theoretic & Algebraic input, & c > 1. Algorithms Some Computational f (n) Hard Problems and Algorithms with complexity of form c , where c > 1 & f their Application is a polynomial in n are called exponential time algorithm. Cryptography Public Key A sub-exponential algorithm is one for which the time Cryptography Diffie Hellman Key complexity is in between of polynomial and exponential Exchange Protocol Public Key (Ln(α; c)) Cryptosystems RSA & ElGamal Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum Elliptic Curve Cryptography Open Source Libraries Complexity of an AlgorithmII Public Key Definition Cryptography Indivar Gupta A decision problem is said to be in class P if it can be solved in SAG, DRDO, Delhi polynomial time. Background Basic Concepts in Example Complexity Theory Some Number + Theoretic & Algebraic Instance: n 2 Z Algorithms Some Computational Hard Problems and Question: Is n prime? their Application Answer: Yes, [O(log n)6 using AKS algo] Cryptography Public Key Cryptography Definition Diffie Hellman Key Exchange Protocol Public Key A decision problem is said to be in class NP if ’yes’ answer can be Cryptosystems RSA & ElGamal verified in polynomial time. Elliptic Curve Cryptography Other Public Key Cryptosystems: Post Quantum Elliptic Curve Cryptography Open Source Libraries Complexity of an Algorithm III Public Key Cryptography Definition Indivar Gupta SAG, DRDO, A decision problem is said to be in class co-NP if ’no’ answer can Delhi be verified in polynomial time. Background Basic Concepts in Complexity Theory Example Some Number Theoretic & Algebraic + Algorithms Instance: n 2 Z Some Computational Hard Problems and their Application Question: Is n composite? Cryptography Public Key Definition Cryptography Diffie Hellman Key Exchange Protocol L1 and L2 be two decision problems. L1 is said to poly-time Public Key Cryptosystems reduce to L2, written L1 6p L2, if there is an algorithm that solves RSA & ElGamal Elliptic Curve L1 using only polynomial calls to an algorithm for solving L2 as a Cryptography Other Public Key subroutine. This means a polynomial time algorithm for L2 Cryptosystems: Post Quantum implies a polynomial time algorithm for L1: Elliptic Curve Cryptography Open Source Libraries Complexity of an AlgorithmIV Public Key Cryptography Example Indivar Gupta SAG, DRDO, Delhi QRP 6P IFP Background Basic Concepts in Definition Complexity Theory Some Number Theoretic & Algebraic A decision problem L is said to be NP-complete if Algorithms Some Computational Hard Problems and L 2 NP their Application Cryptography L1 6P L for every L1 2 NP: Public Key Cryptography Diffie Hellman Key Exchange Protocol Example Public Key Cryptosystems Subset Sum Problem NP RSA & ElGamal is complete problem: given a set of Elliptic Curve Cryptography positive integers fa1; a2; ··· ang and a positive integer s, Other Public Key Cryptosystems: Post determine whether or not there is a subset of the ai that sum to s. Quantum Elliptic Curve Cryptography Open Source Libraries Complexity of an AlgorithmV