Encryption / Decryption VHDL Core Project Characterization

12
Encryption / Decryption VHDL Core Project Characterization Instructor : Mony Orbach Semester : Winter-Spring 2013 Performed By: Watad Duna , Watad Esam ןןןן- ןןןןןןן ןןןןןןןן ןןןןןן ןןןןןןן ןןןןןן ןןןןon - Israel institute of technology epartment of Electrical Engineering

description

Technion - Israel institute of technology department of Electrical Engineering . הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל. Encryption / Decryption VHDL Core Project Characterization . Instructor : Mony Orbach Semester :Winter-Spring 2013 - PowerPoint PPT Presentation

Transcript of Encryption / Decryption VHDL Core Project Characterization

Page 1: Encryption / Decryption VHDL Core Project Characterization

Encryption / Decryption VHDL CoreProject Characterization

Instructor : Mony OrbachSemester : Winter-Spring 2013Performed By: Watad Duna , Watad Esam

הטכניון - מכון טכנולוגי לישראל

הפקולטה להנדסת חשמל

Technion - Israel institute of technologydepartment of Electrical Engineering

Page 2: Encryption / Decryption VHDL Core Project Characterization

Introduction

<Message>

• We are interesting to send a message From A to B• Transferring messages done by a unsecured channel • Encryption can provide a means of securing

information

Encrypt

<Message>!hd#4!xZf

Decrypt

Page 3: Encryption / Decryption VHDL Core Project Characterization

Symmetric Vs. Asymmetric• Symmetric:

– When using symmetric algorithms, both parties share the same key for encryption and decryption

– Once somebody else gets to know the key, it is not safe any more– Symmetric algorithms have the advantage of not consuming too

much computing

• Asymmetric:– Asymmetric algorithms use pairs of keys, one is used for encryption and the

other one for decryption– The decryption key is typically kept secretly, therefore called ``private key''

while the encryption key is spread to all who might want to send encrypted messages, therefore called ``public key'‘

– The secret key can't be reconstructed from the public key

Page 4: Encryption / Decryption VHDL Core Project Characterization

RSA Algorithm

• The RSA algorithm is named after Ron Rivest, Adi Shamir and Len Adleman who invented it in 1977

• It is the most widely-used asymmetric algorithm encryption in the world

• It can be used to encrypt a message without the need to exchange a secret key separately

• The security of the RSA cryptosystem is based on two mathematical problems– The problem of factoring large numbers– The RSA problem

Page 5: Encryption / Decryption VHDL Core Project Characterization

Project’s Goals

• Enhancing encryption and decryption processing time by implementing RSA algorithm by hardware

• Achieving reasonable safety level

Page 6: Encryption / Decryption VHDL Core Project Characterization

RSA Theory• Key Generation Algorithm– Generate two large random primes, p and q– Compute n = pq and (phi) φ = (p-1)(q-1) – Choose an integer e, 1<e<phi, such that gcd(e,phi) = 1– Compute the secret exponent d, 1 < d < phi, such that

(e x d) ≡ 1 (mod phi)– The public key is (n, e) and the private key (d, p, q)

Page 7: Encryption / Decryption VHDL Core Project Characterization

RSA Theory (Cont.) • Encryption Sender A does the following:

1. Obtains the recipient B's public key (n, e)2. Represents message as a positive integer m, 1< m< n3. Computes c = me mod n4. Sends the c to B

Page 8: Encryption / Decryption VHDL Core Project Characterization

RSA Theory (Cont.) • Decryption Recipient B does the following:

1. Uses his private key (n, d) to compute m = cd mod n

2. Extracts the message from the representative m

Page 9: Encryption / Decryption VHDL Core Project Characterization

RSA – Very Simple Example

1. Select primes p=11, q=32. n = p*q=11*3 = 33

phi=(p-1)(q-1)=10*2=203. Choose e=3 ( gcd(3, 20) = 1 )4. Compute d such that e*d ≡ 1 (mod phi)

simple calculation lead to d=75. say we want to encrypt the message m = 7

c = me mod n = 73 mod 33 = 343 mod 33 = 13

6. To decrypt the encryption result we compute m' = cd mod n = 137 mod 33 = 7

Page 10: Encryption / Decryption VHDL Core Project Characterization

Work Flow

Studying Theory Background

Writing a C code illustrate RSA

Encryption/Decryption

Choosing Work Environment According

To Implementation Requirements

Writing VHDL Code Which Implements RSA

Synthesis / Validation

Improving performanceSimulation/Testing

Page 11: Encryption / Decryption VHDL Core Project Characterization

TimeLineNov •Studying Theory Background

Dec •Writing a C code il lustrate RSA Encryption/Decryption

Dec •Choosing Work Environment According To Implementation Requirements

Jan •Writing VHDL Code Which Implements RSA

Apr •Improving performance

Aug • Simulation/Testing

Sep • Synthesis / Validation

Page 12: Encryption / Decryption VHDL Core Project Characterization

?Questions