Tải bản đầy đủ (.ppt) (25 trang)

Phân tích & Thiết kế Giải thuật nâng cao Mã hóa Cryptography

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 (801.16 KB, 25 trang )

10.1
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Mã hóa
Cryptography
10.2
Objectives

Phân biệt mã hóa đối xứng và mã hóa bất đối xứng

Giới thiệu về hàm một chiều trong mã hóa bất đối
xứng

Mã hóa RSA
Chapter 10
10.3
10-1 INTRODUCTION
10-1 INTRODUCTION
Mã hóa đối xứng và mã hóa bất đối xứng là hai cách
Mã hóa đối xứng và mã hóa bất đối xứng là hai cách
tiếp cận cùng tồn tại song song trong lĩnh vực mã hóa
tiếp cận cùng tồn tại song song trong lĩnh vực mã hóa

Mã hóa đối xứng
Mã hóa đối xứng
: cùng chia sẻ bí mật
: cùng chia sẻ bí mật
ví dụ mật mã Caesar k=3
ví dụ mật mã Caesar k=3
ABCDEF…Z
ABCDEF…Z
DEFGHI…C


DEFGHI…C

Mã hóa bất đối xứng
Mã hóa bất đối xứng
: bí mật cá nhân
: bí mật cá nhân

Mã hóa: khóa công khai
Mã hóa: khóa công khai

Giải mã: khóa bí mật
Giải mã: khóa bí mật
10.4
Mã hóa bất đối xứng dùng hai khóa:

Một khóa công khai (public key)

Một khóa bí mật (private key)
10.1.1 Keys
Figure 10.1 khóa và mở khóa trong hệ mã bất đối xứng
10.5
10.1.2 General Idea
Figure 10.2 ý tưởng chính của hệ mã bất đối xứng
10.6
Bản rõ và bản mã (Plaintext/Ciphertext)
Bản rõ (P) là bản chưa mã hóa
Bản mã (C) là bản đã mã hóa
10.1.2 Continued
C = f (K
public

, P) P = g(K
private
, C)
Mã hóa và giải mã (Encryption/Decryption) trong hệ mã
bất đối xứng dùng hai hàm và hai khóa riêng biệt
10.7
Hệ mã bất đối xứng dùng hàm bẫy một chiều (trapdoor
one-way function).
10.1.4 Trapdoor One-Way Function
Hàm
Figure 10.3 hàm là một qui tắc ánh xạ một miền xác định
vào một miền giá trị
10.8
Hàm bẫy một chiều (Trapdoor One-Way Function
(TOWF))
10.1.4 Continued
Hàm một chiều (One-Way Function (OWF))
1. f dễ dàng tính được.
2. f
−1
tính cực kỳ khó (không thể tính được).
3. Cho y và một cái bẫy thì x tính được
dễ dàng
10.9
10.1.4 Continued
Ví dụ 10. 1
Ví dụ 10. 2
Khi n đủ lớn, n = p × q là hàm một chiều.
Cho p và q , tính n dễ dàng;
Cho n, rất khó để tính được p và q.

Khi n đủ lớn, y = x
k
mod n là một hàm bẫy 1 chiều.
Cho x, k và n, dễ dàng tính y.
Cho y, k và n, rất khó tính x.
Tuy nhiên nếu biết cái bẫy k′ sao cho k × k ′ = 1 mod φ(n)
Ta tính được x dễ dàng x = y
k′
mod n.
10.10
10-2 RSA CRYPTOSYSTEM
10-2 RSA CRYPTOSYSTEM
Hệ mã RSA
Hệ mã RSA
RSA lấy tên của những người phát minh (Rivest,
RSA lấy tên của những người phát minh (Rivest,
Shamir, and Adleman).
Shamir, and Adleman).
10.2.1 Introduction
10.2.2 Procedure
10.2.3 Some Trivial Examples
10.2.4 Attacks on RSA
10.2.5 Recommendations
10.2.6 Optimal Asymmetric Encryption Padding (OAEP)
10.2.7 Applications
Topics discussed in this section:
Topics discussed in this section:
10.11
10.2.1 Giới thiệu
Figure 10.5 độ phức tạp trong thuật toán RSA

10.12
10.2.2 Qui trình
Figure 10.6 mã hóa, giải mã và sinh khóa trong RSA
10.13
10.2.2 Sinh khóa RSA
10.14
Mã hóa (Encryption)
10.2.2 Continued
10.15
Giải mã (Decryption)
10.2.2 Continued
10.16
Proof of RSA
10.2.2 Continued
10.17
10.2.3 ví dụ đơn giản
Ví dụ 10. 5
Bob chọn p=7 và q=11, tính được n = pxq = 77.
Tính φ(n) = (7 − 1)(11 − 1) = 60.
Bob chọn e và d trong Z
60
sao cho ed = 1 mod 60.∗
(ví dụ e = 13, d = 37)
Bob công bố khóa công khai (13,77) giữ bí mật d = 37
Alice muốn gởi P= 5 tới Bob. Cô ta dùng e=13 để mã hóa 5.
Bob nhận C=26 từ Alice
Bob dùng d = 37 để giải mã:
/>10.18
10.2.3 ví dụ đơn giản (tt)
Ví dụ 10. 6

Bob nhận được C = 28 và dùng khóa bí mật d = 37 để giải mã:
Giả sử John muốn gởi nội dung P=63 cho Bob.
John dùng khóa công khai của Bob đã công bố
(13,77)
10.19
10.2.3 ví dụ cách áp dụng
Example 10. 7
Ted muốn gởi thông báo “NO” cho Jennifer.
Anh ta đổi kí tự ra số
Ví dụ ABC Z đổi thành số 0…25  NO=1314. Vậy xem như là số P=1314
Jennifer chọn p = 397 và q = 401.
Cô ta tính được n = 159197 và φ(n) = 158400
Cô ta chọn e = 343 và tính d = 12007.
Jennifer công bố (343,159197) là khóa công khai
Giữ bí mật d=12007
10.20
10.2.3 Continued
Figure 10.7 mã hóa và giải mã trong ví dụ
10.21
10.2.6 ví dụ áp dụng thật
Example 10. 8
Giả sử ta chọn p và q là hai số 512-bit
Giả sử ta chọn p và q là hai số 512-bit
Tính n
Tính n


φ
φ
(

(
n
n
),
),
Chọn
Chọn
e
e
và kiểm tra nguyên tố cùng nhau với
và kiểm tra nguyên tố cùng nhau với
φ
φ
(
(
n
n
).
).
Tính
Tính
d
d
.
.
Dùng khóa công khai (e,n) để mã hóa
Dùng khóa công khai (e,n) để mã hóa
Dùng khóa bí mật (d,n) để giải mã.
Dùng khóa bí mật (d,n) để giải mã.
10.22

10.2.6 ví dụ áp dụng thật (tt)
Ví dụ 10. 8 (tt)
n
n
=
=
p
p
×
×
q,
q,
n có 309 số.
n có 309 số.
φ
φ
(
(
n
n
) = (
) = (
p
p
− 1)(
− 1)(
q
q
− 1) có 309 số.
− 1) có 309 số.

10.23
10.2.6 ví dụ áp dụng thật (tt)
Ví dụ (tt)
Bob chọn e = 35535 và kiểm tra tính nguyên tố cùng
Bob chọn e = 35535 và kiểm tra tính nguyên tố cùng
nhau với
nhau với
φ
φ
(n). Tính
(n). Tính
d
d
.
.
10.24
10.2.6 ví dụ áp dụng thật (tt)
Ví dụ 10. 8 (tt)
Alice muốn gởi “THIS IS A TEST”, và đổi thành số với
Alice muốn gởi “THIS IS A TEST”, và đổi thành số với
bảng mã 00−26.
bảng mã 00−26.
Alice mã hóa C = P
Alice mã hóa C = P
e
e
, đó là:
, đó là:
10.25
10.2.6 ví dụ áp dụng thật (tt)

Ví dụ 10. 8 (tt)
Bob nhận được C và giải mã P = C
Bob nhận được C và giải mã P = C
d
d
, đó là
, đó là
Đổi ngược lại thành “THIS IS A TEST” với bảng mã
Đổi ngược lại thành “THIS IS A TEST” với bảng mã
00-26 tương ứng với A Z.
00-26 tương ứng với A Z.
/>9444/rsademo/

×