cryptanalysis andrew burkett, jacob peddicord, david burl project leader: jonathan mudronja

14
Cryptanalys Cryptanalys is is Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Upload: joleen-bridges

Post on 13-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

CryptanalysisCryptanalysisAndrew Burkett, Jacob Peddicord,

David Burl

Project Leader: Jonathan Mudronja

Page 2: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

EncryptionEncryption

• Encryption - the activity of converting from plain text into code.

• Encryption on a computer is mainly used for privacy.

• Some main uses.– Online shopping.– Classified information.– Personal privacy.

Page 3: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Public Key General ExplanationPublic Key General Explanation•I want you to send me data securely:

•I give you my public key

•You encrypt using the public key

•You send the encrypted message to

me

•I have the private key

•I use the private key to decode the

encrypted message

•I have the data

Page 4: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

RSA EncryptionRSA Encryption• Created by researchers at MIT during the late 70s.

• Patent expired in 2000.

•Due to its lack of copyright and its simple yet secure design it is one of the most widely implemented encryption schemes.

• Uses two large prime numbers and one semi-prime, the product of the primes, to convert data into code, and then back again.

•Shared key encryption architecture.

•Involves a public key which only can encrypt and a private key which is required to decrypt.

Page 5: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

RSA FormulasRSA Formulas– Private key:

» A & B – Prime numbers» D – Private exponent» Φ = phi

– Public Key:» C – Semi-prime» E – Public exponent

– Output:» F – Plain text» G – Cipher text

•C=A*B

•Φ=(A-1)(B-1)

•1<E< Φ; co-prime to Φ

•D=E-1 mod Φ

•G=FEmodC

•F=GDmodC

Page 6: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

RSA ExampleRSA Example

Gabriel sends Dresden an encrypted message.

A=47, B=71, C=A*B, C=3337, Φ=(47-1)(71-1) = 3220, E=79

D=79-1 mod 3220 = 1019

Dresden publishes public key, 3337

Gabriel wants to encrypt 688

Therefore, 68879 mod 3337 = 1570

Dresden receives 1570

To decrypt it is 15701019 mod 3337 = 688

Page 7: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Our projectOur project

• To learn about the history of encryption and its increasing importance as society becomes more information and technology dependent.

• To specially focus on the RSA cipher and write an encryption-decryption program.

• To write a program to factor the RSA semi-prime, which is the primary weakness of the encryption’s architecture.

Page 8: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Encrypt ProgramEncrypt Program

• Takes text input.

• Gives out encrypted string of characters by using the public key.

• Sends to decrypt program.

• Example: Bob likes cake-> 111226390292777438458676366684

Page 9: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Decrypt ProgramDecrypt Program

• Gets encrypted string of characters.

• Gives original text by using the private key.

• Example: 111226390292777438458676366684-> Bob likes cake

Page 10: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Single Processor ApproachSingle Processor Approach

• Takes semi-prime number.

• Attempts to factor– Counts up and down, tries to find primes.

• Example: Public key: 3337– Starts at 57(root of 3337), counts up and down– Hits 47 and 71, they are the primes.

• Time elapsed: .5 seconds.

Page 11: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Multi Processor ApproachMulti Processor Approach

• Takes semi-prime number, sends to all processors.

• Attempts to factor– Each processor takes different possible factors, attempts to

find primes.

• Example: Public key: 3337– Starts at 57(root of 3337), counts up and down– Hits 47 and 71, they are the primes.

• Time elapsed: .0000005 seconds.

• Linear performance increase in relation to number of processors.

Page 12: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Quadratic SieveQuadratic Sieve

• Another method of factoring numbers which is more sophisticated.

• Has a significant speed increase compared to a primitive brute force factoring method.

• Fastest method used for our project.

Page 13: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

Project VisualizationProject Visualization

• Displays the three factoring methods used to show the complexity of factoring RSA’s semi-prime.

• The right most bar represents the quadratic sieve which finishes almost immediately.

• The center bars show the brute force method as a parallel process using 18 CPUs.

• The left most bar represents the brute force method only running on a single CPUs.

Page 14: Cryptanalysis Andrew Burkett, Jacob Peddicord, David Burl Project Leader: Jonathan Mudronja

ConclusionsConclusions

• Due to RSA using extremely large primes it relies on the long amount of time required to factor them.

• Therefore a lot of processing power is required which has extreme cost disadvantages.

• Or a very elegant method of factoring is required which has yet to be discovered by mathematicians.

• As of today large RSA keys are sufficient for protecting sensitive data.