An Introduction to the RSA Encryption Method



Similar documents
The application of prime numbers to RSA encryption

Public Key Cryptography and RSA. Review: Number Theory Basics

Public Key Cryptography: RSA and Lots of Number Theory

RSA Question 2. Bob thinks that p and q are primes but p isn t. Then, Bob thinks Φ Bob :=(p-1)(q-1) = φ(n). Is this true?

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

Some practice problems for midterm 2

Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information

The Mathematical Cryptography of the RSA Cryptosystem

RSA Encryption. Tom Davis October 10, 2003

Applied Cryptography Public Key Algorithms

Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Primes, Factoring, and RSA A Return to Cryptography. Table of contents

Number Theory and Cryptography using PARI/GP

MATH 13150: Freshman Seminar Unit 10

Advanced Cryptography

Primality Testing and Factorization Methods

Number Theory and the RSA Public Key Cryptosystem

Software Tool for Implementing RSA Algorithm

Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms

Lecture 3: One-Way Encryption, RSA Example

Lecture 6 - Cryptography

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

Computing exponents modulo a number: Repeated squaring

RSA Attacks. By Abdulaziz Alrasheed and Fatima

GREATEST COMMON DIVISOR

Cryptography and Network Security Chapter 9

Elements of Applied Cryptography Public key encryption

CIS 5371 Cryptography. 8. Encryption --

Introduction to Hill cipher

Index Calculation Attacks on RSA Signature and Encryption

1. The RSA algorithm In this chapter, we ll learn how the RSA algorithm works.

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

The Mathematics of the RSA Public-Key Cryptosystem

Separable & Secure Data Hiding & Image Encryption Using Hybrid Cryptography

Timing Attacks on software implementation of RSA

Public Key (asymmetric) Cryptography

RSA and Primality Testing

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

Notes on Network Security Prof. Hemant K. Soni

Overview of Public-Key Cryptography

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

LUC: A New Public Key System

MATH 537 (Number Theory) FALL 2016 TENTATIVE SYLLABUS

Every Positive Integer is the Sum of Four Squares! (and other exciting problems)

Module: Applied Cryptography. Professor Patrick McDaniel Fall CSE543 - Introduction to Computer and Network Security

CSCE 465 Computer & Network Security

Homework until Test #2

Cryptography and Network Security

Outline. CSc 466/566. Computer Security. 7 : Cryptography Public Key. History of Public Key Cryptography. Public-key Algorithms. Christian Collberg

MATH 168: FINAL PROJECT Troels Eriksen. 1 Introduction

Kevin James. MTHSC 412 Section 2.4 Prime Factors and Greatest Comm

Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography

Number Theory: A Mathemythical Approach. Student Resources. Printed Version

An Efficient Data Security in Cloud Computing Using the RSA Encryption Process Algorithm

EXAM questions for the course TTM Information Security June Part 1

Solutions to Problem Set 1

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Lecture 13 - Basic Number Theory.

RSA Keys with Common Factors

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Factoring Algorithms

Data Grid Privacy and Secure Storage Service in Cloud Computing

Computer Security: Principles and Practice

CS 758: Cryptography / Network Security

Math 453: Elementary Number Theory Definitions and Theorems

Chapter 3. if 2 a i then location: = i. Page 40

Public-key cryptography RSA

Cloud and Mobile Computing

Introduction to Cryptography CS 355

1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

Embedding more security in digital signature system by using combination of public key cryptography and secret sharing scheme

THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0

How To Use Amazon Cloud 2 On Linux And Windows 2 On A Pc Or Mac Or Ipad (For Pc) On A Microsoft Mac Or Macbook Or Ipa (For Mac) On An Ubuntu Or Ipro (For Windows

Continued Fractions. Darren C. Collins

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

CIS 433/533 - Computer and Network Security Public Key Crypto/ Cryptographic Protocols

Math 319 Problem Set #3 Solution 21 February 2002

DIVISIBILITY AND GREATEST COMMON DIVISORS

A Comparison Of Integer Factoring Algorithms. Keyur Anilkumar Kanabar

Digital Signatures. Meka N.L.Sneha. Indiana State University. October 2015

Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Shor s algorithm and secret sharing

An Overview of Integer Factoring Algorithms. The Problem

Primes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Keywords- Cloud Computing, Android Platform, Encryption, Decryption, NTRU, RSA, DES, throughput.

Java Coding Ground With Security Editor

Factoring integers, Producing primes and the RSA cryptosystem Harish-Chandra Research Institute

CSE Final Project: crypchat Encrypted Chat Program Christopher Durr, Matthew Mooney, Paul Zakas

Basic Algorithms In Computer Algebra

Mathematical Model Based Total Security System with Qualitative and Quantitative Data of Human

Today s Topics. Primes & Greatest Common Divisors

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Lectures on Number Theory. Lars-Åke Lindahl

Evaluation of Digital Signature Process

The Euclidean Algorithm

8 Divisibility and prime numbers

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

Transcription:

April 17, 2012

Outline 1 History 2 3 4 5

History RSA stands for Rivest, Shamir, and Adelman, the last names of the designers It was first published in 1978 as one of the first public-key crytographic systems A public-key system means the algorithm for encrypting a message is publicly known but the algorithm to decrypt the message is only privately known (by the person who set up the system)

Review Definition a b (mod c) a = b + kc for some integer k.

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8 4 7 13 (mod 8)

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8 4 7 13 (mod 8) 7 13 ( 1) 13

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8 4 7 13 (mod 8) 7 13 ( 1) 13 1

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8 4 7 13 (mod 8) 7 13 ( 1) 13 1 7 (mod 8)

Review Definition a b (mod c) a = b + kc for some integer k. 1 21 1 (mod 4) because 21 = 1 + (5)4 2 5 2 3 (mod 11) because 25 = 3 + (2)11 3 1 7 (mod 8) because 1 = 7 + ( 1)8 4 7 13 7 (mod 8) 7 13 ( 1) 13 1 7 (mod 8)

Necessary Theorems for RSA - φ(n) Definition If n is a positive integer, then Euler s phi function, φ(n), returns the number of integers k in the range 1 k n for which gcd(n, k) = 1.

Necessary Theorems for RSA - φ(n) Definition If n is a positive integer, then Euler s phi function, φ(n), returns the number of integers k in the range 1 k n for which gcd(n, k) = 1. Theorem (Euler s Theorem) If n > 0 and a are relatively prime integers, then a φ(n) 1 (mod n).

Necessary Theorems for RSA - φ(n) Definition If n is a positive integer, then Euler s phi function, φ(n), returns the number of integers k in the range 1 k n for which gcd(n, k) = 1. Theorem (Euler s Theorem) If n > 0 and a are relatively prime integers, then a φ(n) 1 (mod n). Corollary If b 1 b 2 (mod φ(n)), then a b 1 a b 2 (mod n).

Setting up your own RSA system Pick p and q to be large prime numbers, and let n = pq. Then pick an e such that gcd(e, φ(n)) = 1. e is your encryption exponent.

Setting up your own RSA system Pick p and q to be large prime numbers, and let n = pq. Then pick an e such that gcd(e, φ(n)) = 1. e is your encryption exponent. Now, solve for d where ed 1 (mod φ(n)). This can be done with something called the Extended Euclidean Algorithm, or by solving the Linear Diophantine Equation: ed = 1 + kφ(n). d is your decryption exponent.

Setting up your own RSA system Pick p and q to be large prime numbers, and let n = pq. Then pick an e such that gcd(e, φ(n)) = 1. e is your encryption exponent. Now, solve for d where ed 1 (mod φ(n)). This can be done with something called the Extended Euclidean Algorithm, or by solving the Linear Diophantine Equation: ed = 1 + kφ(n). d is your decryption exponent. You now have your own RSA system! Public Key - (n, e) Private Key - (d)

Using your RSA system When someone wants to send you a message they: 1 Convert their message into a number in a simple agreed upon way such as a=01, b=02, c=03... 2 Compute the ciphertext c m e (mod n) 3 Send you c

Using your RSA system When someone wants to send you a message they: 1 Convert their message into a number in a simple agreed upon way such as a=01, b=02, c=03... 2 Compute the ciphertext c m e (mod n) 3 Send you c To decrypt their message you: 1 Compute m c d (mod n) 2 Convert their message back into letters and words

(Set-Up and Encryption) First, set up your RSA system. Pick p = 5, q =11. Let n = pq = 55. Now pick e = 3. Then ed 1 (mod φ(n)) = d = 27. Since 3 27 81 1 (mod 40). Your RSA system is now set up. Make n and e public.

(Set-Up and Encryption) First, set up your RSA system. Pick p = 5, q =11. Let n = pq = 55. Now pick e = 3. Then ed 1 (mod φ(n)) = d = 27. Since 3 27 81 1 (mod 40). Your RSA system is now set up. Make n and e public. Let s say that your friend wants to send you the message m=18. They will compute c where c m e (mod n). c m e 18 3 5832 2 (mod 55) because 18 3 = 5832 = 2 + (106)55. Your friend will send you the ciphertext c = 2.

(Decryption) You just recieved c = 2 from your friend. Use your private key, d = 27, to compute their message m. m c d 2 27 134217728 18 (mod 55) because 2 27 = 134217728 = 18 + (2440322)55. So your friend sent you the message m = 18.

RSA Why does m c d message m? (mod n) work to get you back the original. Let p and q be prime, n = pq, ed 1 (mod φ(n)). Then k Z such that ed = 1 + kφ(n). Also let m < n be a message and let c m e (mod n). Then, c d (m e ) d m ed m 1+kφ(n) m (mod n).