Tải bản đầy đủ (.pdf) (23 trang)

Slide an toàn và hệ thống bảo mật thông tin chapter 6 cryptography asymmetric cipher

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (688.87 KB, 23 trang )

.c
om
cu

u

du
o

ng

th

an

co

ng

ASYMMETRIC CIPHERS

CuuDuongThanCong.com

/>

.c
om

Contents
Principles Of Public-Key Cryptosystems


2)

RSA Algorithm

cu

u

du
o

ng

th

an

co

ng

1)

CuuDuongThanCong.com

/>

.c
om


cu

u

du
o

ng

th

an

co

ng

1. Principles Of Public-Key Cryptosystems

CuuDuongThanCong.com

/>

.c
om

1. Principles Of Public-Key Cryptosystems

ng


 Commonly know as public key cryptography

co

 Invented by Whitfield Diffie and Martin Hellman in 1976

th

an

 Uses a pair of key

du
o

ng

 A private key that is kept secret

cu

u

 A public key that can be sent to anyone

CuuDuongThanCong.com

/>

.c

om

Public-Key Cryptosystems
 Asymmetric algorithms rely on one key for encryption and a different but

co

ng

related key for decryption. These algorithms have the following important

th

an

characteristic.

ng

 It is computationally infeasible to determine the decryption key given only

du
o

knowledge of the cryptographic algorithm and the encryption key.

for decryption.

cu


u

 Either of the two related keys can be used for encryption, with the other used

CuuDuongThanCong.com

/>

cu

u

du
o

ng

th

an

co

ng

.c
om

Encryption with public key


CuuDuongThanCong.com

/>

cu

u

du
o

ng

th

an

co

ng

.c
om

Encryption with private key

CuuDuongThanCong.com

/>


.c
om

Authentication and confidentiality
 possible to provide both the authentication function and confidentiality by

co

ng

a double use of the public-key.

th

an

 Z=E(PUb,E(PRa,X))

cu

u

du
o

ng

 X=D(PUa,D(PRb,Z))

CuuDuongThanCong.com


/>

.c
om

Applications for Public-Key Cryptosystems
 Encryption/decryption: The sender encrypts a message with the

co

ng

recipient’s public key.

th

an

 Digital signature: The sender “signs” a message with its private key.

cu

u

du
o

ng


 Key exchange: Two sides cooperate to exchange a session key.

CuuDuongThanCong.com

/>

.c
om

Requirements for Public-Key Cryptography

ng

 It is computationally easy for a party B to generate a pair.

co

 It is computationally easy for a sender A, knowing the public key and the

th

an

message to be encrypted,M, to generate the corresponding ciphertext.

du
o

ng


C=E(PUb,M)

u

 It is computationally easy for the receiver B to decrypt the resulting

cu

ciphertext using the private key to recover the original message:

CuuDuongThanCong.com

/>

.c
om

Requirements for Public-Key Cryptography
 It is computationally infeasible for an adversary, knowing the public

co

ng

key,PUb,to determine the private key,PRb.

th

an


 It is computationally infeasible for an adversary, knowing the public key,

cu

u

du
o

ng

PUb, and a ciphertext, C, to recover the original message, M.

CuuDuongThanCong.com

/>

.c
om

cu

u

du
o

ng

th


an

co

ng

2. RSA ALGORITHM

CuuDuongThanCong.com

/>

.c
om

RSA Algorithm

ng

 Developed in 1977 by Ron Rivest, Adi Shamir, and Len Adleman.

co

 The RSA scheme is a block cipher in which the plaintext and ciphertext

th

an


are integers between 0 and n-1 for some n. A typical size for n is 1024 bits,

du
o

ng

or 309 decimal digits. That is, n is less than 21024

cu

u

 Based on exponentiation in a finite field over intergers modulo a prime

CuuDuongThanCong.com

/>

.c
om

Description of the Algorithm

ng

 Select two large prime numbers: p and q

co


 Calculate: n = pq

th

an

 Calculate: m=(p-1)(q-1)

du
o

ng

 Choose a small number e, co prime to m, with GCD(m,e)=1; 1
cu

u

 Find d, such that e.d ≡ 1 mod m
 PU = (n, e), PR = (n, d)

CuuDuongThanCong.com

/>

.c
om

Description of the Algorithm


co

C = Me mod n (với M < n)

ng

 Encryption:

cu

u

du
o

ng

M = Cd mod N

th

an

 Decryption:

CuuDuongThanCong.com

/>


.c
om

Euclid’s algorithm

ng

 Computing the greatest common divisor (GCD) of two numbers,

an

co

gcd(a,b) = gcd(b, a mod b)

th

1. A ← a; B ← b

u

4. A ← B

cu

3. R = A mod B

du
o


ng

2. if B = 0 return A = gcd(a, b)

5. B ← R
6. goto 2
CuuDuongThanCong.com

/>

.c
om
ng
co
an
th
ng
du
o
u
cu
CuuDuongThanCong.com

/>

.c
om

Extended Euclid’s algorithm
(A1, A2, A3) ← (1, 0, m); (B1, B2, B3) ← (0, 1, b)


2.

if B3 = 0 return A3 = gcd(m, b); no inverse

3.

if B3 = 1 return B3 = gcd(m, b); B2

4.

Q = A3 div B3

5.

(T1, T2, T3) ←(A1 – Q*B1, A2 – Q*B2, A3 – Q*B3)

6.

(A1, A2, A3) ← (B1, B2, B3)

7.

(B1, B2, B3) ← (T1, T2, T3)

8.

goto 2

cu


u

du
o

ng

th

an

co

ng

1.

CuuDuongThanCong.com

/>

.c
om

Extended Euclid’s algorithm - example

cu

u


du
o

ng

th

an

co

ng

 Finding inverse of 7 in modulo 187

=>Result: 80

CuuDuongThanCong.com

/>

.c
om

RSA Example

co

 m= (p-1)(q-1) = (11 – 1)(3 – 1) = 20


ng

 p = 11, q = 3 => n = pq=33

th

an

 Gcd(m,e)=1

du
o

ng

 e corprime to m, means that the largest numbet that can be exactly divide

u

both e and m (their greatest common divisor, or gcd) is 1. Euclid's

cu

algorithm is used to find the GCD of two numbers

CuuDuongThanCong.com

/>


.c
om

RSA Example
 e=2 => GCD(20,e) = 2 (no)

co

ng

 e=3 => GCD(20,e)=1 (yes!)

an

 Find d: using Extended Euclid's algorithm ? d=7

ng
du
o

Plaintext: M = 15:

th

 PU (33, 3), PR = (33, 7)

cu

Deencryption: c=9


u

Encryption: C = 153mod 33 = 9
M = 97mod 33 = 15

CuuDuongThanCong.com

/>

.c
om

RSA Security

ng

 Brute-force attack

co

 Mathematical attack

ng

cu

u

du
o


 Chosen ciphertext attack

th

an

 Timing attack

CuuDuongThanCong.com

/>

.c
om
ng
co
an
th
ng
du
o
u
cu
CuuDuongThanCong.com

/>



×