Public Key Cryptosystem In Symmetric or Private Key cryptosystems the encryption and decryption keys are either the same or can be easily found from each.

Slides:



Advertisements
Similar presentations
Chapter 3 Public Key Cryptography and Message authentication.
Advertisements

RSA.
RSA and Public Key Cryptography Oct Nathanael Paul.
RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
BY : Darshana Chaturvedi.  INTRODUCTION  RSA ALGORITHM  EXAMPLES  RSA IS EFFECTIVE  FERMAT’S LITTLE THEOREM  EUCLID’S ALGORITHM  REFERENCES.
7. Asymmetric encryption-
Abdullah Sheneamer CS591-F2010 Project of semester Presentation University of Colorado, Colorado Springs Dr. Edward RSA Problem and Inside PK Cryptography.
RSA ( Rivest, Shamir, Adleman) Public Key Cryptosystem
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
Public Key Crytography1 From: Introduction to Algorithms Cormen, Leiserson and Rivest.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Public Key Cryptography
Public Encryption: RSA
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Chapter 3 Encryption Algorithms & Systems (Part B)
Public Key Cryptography Bryan Pearsaul. Outline What is Cryptology? Symmetric Ciphers Asymmetric Ciphers Diffie-Hellman RSA (Rivest/Shamir/Adleman) Moral.
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Codes, Ciphers, and Cryptography-RSA Encryption
Asymmetric encryption. Asymmetric encryption, often called "public key" encryption, allows Alice to send Bob an encrypted message without a shared secret.
Public Key Model 8. Cryptography part 2.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
The RSA Algorithm Based on the idea that factorization of integers into their prime factors is hard. ★ n=p . q, where p and q are distinct primes Proposed.
Lecture 5 Overview Does DES Work? Differential Cryptanalysis Idea – Use two plaintext that barely differ – Study the difference in the corresponding.
 Introduction  Requirements for RSA  Ingredients for RSA  RSA Algorithm  RSA Example  Problems on RSA.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
CSCI 398 Research Topics in Computer Science Yana Kortsarts Computer Science Department Widener University Chester, PA.
Andreas Steffen, , 4-PublicKey.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen Institute for Internet Technologies and Applications.
Rachana Y. Patil 1 1.
RSA Public Key Algorithm. RSA Algorithm history  Invented in 1977 at MIT  Named for Ron Rivest, Adi Shamir, and Len Adleman  Based on 2 keys, 1 public.
Computer System Security CSE 5339/7339
Merkle-Hellman Knapsack Cryptosystem Merkle offered $100 award for breaking singly - iterated knapsack Singly-iterated Merkle - Hellman KC was broken by.
RSA Implementation. What is Encryption ? Encryption is the transformation of data into a form that is as close to impossible as possible to read without.
RSA Ramki Thurimella.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Public-Key Cryptography CS110 Fall Conventional Encryption.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Implementing RSA Encryption in Java
Public Key Encryption CS432 – Security in Computing Copyright © 2005, 2008 by Scott Orr and the Trustees of Indiana University.
Day 37 8: Network Security8-1. 8: Network Security8-2 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key:
By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Darci Miyashiro Math 480 April 29, 2013
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
RSA Public Key Crypto System. About RSA Announced in 1977 by Ronald Rivest, Adi Shamir, and Leonard Adleman Relies on the relative ease of finding large.
RSA Prepared by: SITI ZAINAH ADNAN
8.6. Knapsack Ciphers. The Concept At the core of the Knapsack cipher is the Knapsack problem: At the core of the Knapsack cipher is the Knapsack problem:
Merkle-Hellman Knapsack Cryptosystem
Public Key Systems 1 Merkle-Hellman Knapsack Public Key Systems 2 Merkle-Hellman Knapsack  One of first public key systems  Based on NP-complete problem.
Public Key Cryptosystems RSA Diffie-Hellman Department of Computer Engineering Sharif University of Technology 3/8/2006.
The First Ten Years of Public-Key Cryptography Paper by: Whitfield Diffie Presentation by Taotao Zhao.
PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 Principles Applications Requirements RSA Algorithm Description.
Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations.
1 Security through complexity Ana Nora Sovarel. 2 Projects Please fill one slot on the signup sheet. One meeting for each group. All members must agree.
Computer Security Lecture 5 Ch.9 Public-Key Cryptography And RSA Prepared by Dr. Lamiaa Elshenawy.
Week 4 - Wednesday.  What did we talk about last time?  Finished DES  AES.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Lecture 3 (Chapter 9) Public-Key Cryptography and RSA Prepared by Dr. Lamiaa M. Elshenawy 1.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
CS/COE 1501 Recitation RSA Encryption/Decryption Extended Euclidean Algorithm Digital Signatures.
Intro to Cryptography ICS 6D Sandy Irani. Cryptography Intro Alice wants to send a message to Bob so that even if Eve can see the transmitted information,
Public Key Encryption.
Public Key Cryptosystem
Network Security Design Fundamentals Lecture-13
Knapsack Cryptosystems
Knapsack Cryptosystems
Input: A={a1, a2, … an} – public key, S - ciphertext
Poking Holes in Knapsack Cryptosystems
Introduction to Elliptic Curve Cryptography
Introduction to Algorithms Second Edition by
Presentation transcript:

Public Key Cryptosystem In Symmetric or Private Key cryptosystems the encryption and decryption keys are either the same or can be easily found from each other. Public Key Cryptosystem (PKC) was introduced in 1976 by Diffie and Hellman. In PKC different keys are used for encryption and decryption. Alice: 1. Chooses secret (private) key 2. Create and publishes public key 3. Receives ciphertext 4. Decrypts ciphertext using secret key to recover the plaintext – original message Bob 1. Uses Public Key to encrypt the message 2. Sends ciphertext – encrypted message to Alice

Public Key Cryptosystem 1978: First Two Implementation RSA: Rivest-Shamir-Adleman Based on integer factorization Merkle-Hellman Knapsack Cryptosystem Based on the subset-sum problem, variant of knapsack problem Additive Knapsack Cryptosystem Multiplicative Knapsack Cryptosystem Multiply-Iterated Knapsack Cryptosystem

Merkle-Hellman Knapsack Cryptosystem Example Alice: Private Key Private Key: A = {1, 2, 4, 8}, M = 17, W = 7, w = 5 Public Key: B ={7, 14, 11, 5} Bob: Encryption Plaintext 1101 Ciphertext = = 26 Alice: Decryption 5*26 (mod 17) = = 1*1 + 1*2 +0*4 + 1*8 Plaintext: 1101

Alice Bob Private Key A = {1, 2, 4, 8} M = 17, W = 7 w = 5 Public Key B ={7, 14, 11, 5} Creates Cryptosystem Plaintext: P=1101 Encryption: Using Public Key 1*7 +1* 14 +0*11+1* 5 = 26 Ciphertext: 26 Decryption: 5*26 (mod 17) = = 1*1 + 1*2 + 0*4 + 1*8 Plaintext: 1101 Decrypts Ciphertext

Merkle-Hellman Knapsack Cryptosystem 1982: Singly-iterated Merkle - Hellman Knapsack Cryptosystem was broken by Adi Shamir 1983: At the CRYPTO ’83, Adleman used an Apple II computer to demonstrate Shamir’s method 1985: Multiply-iterated Merkle-Hellman knapsack was broken by Brickell, a system of 40 iterations was breaking in about an hour of Cray-1 time

Classical Knapsack Problem General 0-1 knapsack problem: given n items of different values v i and weights w i, find the most valuable subset of the items while the overall weight does not exceed a given capacity W The knapsack problem is NP-hard The knapsack problem could be solved in pseudo- polynomial time through dynamic programming

Subset-Sum Problem Subset – Sum problem is a special case of knapsack problem when a value of each item is equal to its weight Input: set of positive integers: A = {a 1, a 2, …a n } and the positive integer S Output: TRUE, if there is a subset of A that sums to S and the subset itself FALSE otherwise. The subset-sum problem is NP-hard

Easy Knapsack Problem An easy knapsack problem is one in which set A = {a 1, a 2, …a n } is a super-increasing sequence A super-increasing sequence is one in which the next term of the sequence is greater than the sum of all preceding terms: a 2 > a 1, a 3 > a 1 + a 2,…., a n > a 1 + a 2 +…+ a n-1 Example: A= {1, 2, 4, 8, …2 n-1 } is super-increasing sequence

Polynomial Time Algorithm for Easy Knapsack Problem Input: A = {a 1, …a n } is super-increasing sequence, S Output: TRUE and P – binary array of n elements, P[i] =1 means: a i belongs to subset of A that sums to S, P[0] = 0 otherwise. The algorithm returns FALSE if the subset doesn’t exist for i  n to 1 if S  a i then P[i]  1 and S  S - a i else P[i]  0 if S != 0 then return (FALSE – no solution) else return (P[1], P[2], …P[n]).

Merkle-Hellman Additive Knapsack Cryptosystem Alice: 1. Constructs the Knapsack cryptosystem 2. Publishes the public key 3. Receives the ciphertext 4. Decrypts the ciphertext using private key Bob: 1.Encrypts the plaintext using public key 2.Sends the plaintext to Alice

Alice Knapsack Cryptosystem Construction Chooses A = {a 1, …a n } super-increasing sequence, A is a private (easy) knapsack a 1 + …+ a n = E Chooses M - the next prime larger than E. Chooses W that satisfies 2  W < M and (W, M) = 1 Computes Public (hard) knapsack B = {b 1, ….b n }, where b i = Wa i (mod M), 1  i  n Keeps Private Key: A, W, M Publishes Public key: B

Bob – Encryption Process Binary Plaintext P breaks up into sets of n elements long: P = {P 1, …P k } For each set P i compute C i is the ciphertext that corresponds to plaintext P i C = {C 1, …C k ) is ciphertext that corresponds to the plaintext P C is sent to Alice

Alice – Decryption Process Computes w, the multiplicative inverse of W mod M: wW  1 (mod M) The connection between easy and hard knapsacks: wa i = b i (mod M), 1  i  n For each C i computes: S i = wC i (mod M) Plaintext P i could be found using polynomial time algorithm for easy knapsack

Example Alice Private Key: A= {1, 2, 4, 8}, M = 17, W = 7, 2  W < 17, (7, 17) = 1 Public Key: B={7 mod 17, 14 mod 17, 28 mod 17, 56 mod 17}={7, 14, 11, 5} Bob Encryption: Plaintext: 1101 Ciphertext = = 26 Alice Decryption: w = 5 – multiplicative inverse of 7 (mod 17) 5*26 (mod 17) = 11 Plaintext: 1101 (11 = 1*1 + 1*2 +0*4 + 1*8)