1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Bảo mật thông tin - Bài 4: Mã hóa công khai RSA

31 96 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 2,12 MB

Nội dung

Nội dung của bài giảng trình bày về lý thuyết số, mã hóa công khai và RSA, định lý Fermat, phép logarit rời rạc, đặc điểm mật mã khóa công khai, ứng dụng mật mã khóa công khai và mô hình đảm bảo bí mật, mô hình ứng dụng xác thực, các điều kiện cần thiết và tính an toàn của trao đổi khóa.

Trang 1

Trình bày:Ths Lương Trần Hy Hiếnhttp://hienlth.info/hutech/baomatthongtin

Trang 2

1. Lý thuyết số

2. Mã hóa công khai

3. RSA

2

Trang 3

 Phép chia modulo: phép chia lấy dư

a mod n = r với a ≥ 0; n > 0 ; 0 ≤ r ≤ n-1

 Đồng dư trong phép chia modulo cho n:

a ≡ b (mod n) hay a ≡ b mod n

 Phép toán modulo phân hoạch tập số tự nhiên

N thành n lớp tương đương đồng dư - ứng với

các giá trị của r trong tập {0, 1, 2, 3, …, N-1}

VD: N = 4 có 4 lớp tương đương:

{0, 4, 8, 12, 16 …}, {1, 5, 9, 13, 17 …},

{2, 6, 1, 14, 18 …}, {3, 7, 11, 15, 19 …}

3

Trang 4

Một số tính chất của modulo:

(a + b) mod n = [(a mod n) + (b mod n)] mod n

(a - b) mod n = [(a mod n) - (b mod n)] mod n

(a x b) mod n = [(a mod n) x (b mod n)] mod n

4

Trang 5

 Ước số:

Nếu a mod n = 0 nghĩa là a chia hết cho n (𝒂 ⋮

𝒏), hay n là ước số của a (n | a)

 gcd(a, b) : ước chung lớn nhất của 2 số, tìm

theo thuật toán Euclid

Trang 6

Phần tử nghịch đảo của phép nhân modulo:

 Nếu a  n thì:  w sao cho a.w  1 (mod n)

 w dgl phần tử nghịch đảo trong phép chia mod

n, kí hiệu a-1

 Ví dụ: n = 10, a = 7 là hai số nguyên tố cùng

nhau, do đó tìm được a-1 = 3 (21 ≡ 1 mod 10)

6

Trang 7

 Nếu p là số nguyên tố và a là số nguyên không chia hết cho p thì a p-1 ≡ 1 mod p

 Ví dụ:

 p = 5, a = 7  7 4 = 49.49 = 2401, 2401 ≡ 1 mod 5

 p = 7, a = 4  4 6 = 64.64 = 4096, 4096 ≡ 1 mod 7

7

Trang 9

 n = 19, a, x = 1 18

 Nhận xét:

 hàng a = 11 lặp lại theo chu kỳ 3 giá trị 11, 7, 1.

 Cần quan tâm hàng nào đủ giá trị (không tạo

chu kỳ)  hàng a = 2, 3, 10, 13, 14, 15

 Như vậy chỉ có a = 2, 3, 10, 13, 14, 15 thì phép

lũy thừa modulo trên mới khả nghịch.

 Tổng quát với mỗi n chỉ có một số trường hợp

của a thì phép lũy thừa là khả nghịch  a được gọi là primitive root của n

9

Trang 10

10

Trang 11

 Còn gọi là mật mã hai khóa hay bất đối xứng

 Các giải thuật khóa công khai sử dụng 2 khóa

 Một khóa công khai

▪ Ai cũng có thể biết

▪ Dùng để mã hóa thông báo và thẩm tra chữ ký

 Một khóa riêng

▪ Chỉ nơi giữ được biết

▪ Dùng để giải mã thông báo và ký (tạo ra) chữ ký

 Có tính bất đối xứng

 Bên mã hóa không thể giải mã thông báo

 Bên thẩm tra không thể tạo chữ ký

Trang 12

Trao đổi khóa

▪ Cho phép chia sẻ khóa phiên trong mã hóa đối xứng

 Một số giải thuật khóa công khai thích hợp cho

cả 3 loại ứng dụng; một số khác chỉ có thể dùng cho 1 hay 2 loại

Trang 13

Kẻ phá mã

Trang 14

14

Trang 16

Alice Bob

Khóa công khai của Bob Khóa riêng của Bob

Trang 17

 Bên B dễ dàng tạo ra được cặp (KUb, KRb)

 Bên A dễ dàng tạo ra được C = EKUb(M)

Trang 19

 Đề xuất bởi Ron Rivest, Adi Shamir và Len

Adleman (MIT) vào năm 1977

 Hệ mã hóa khóa công khai phổ dụng nhất

 Mã hóa khối với mỗi khối là một số nguyên < n

 Thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân

 Đăng ký bản quyền năm 1983, hết hạn năm

2000

 An ninh vì chi phí phân tích thừa số của một số nguyên lớn là rất lớn

19

Trang 20

 Mỗi bên tự tạo ra một cặp khóa công khai

-khóa riêng theo các bước sau:

1 Chọn ngẫu nhiên 2 số nguyên tố đủ lớn p  q

2 Tính n = pq và (n) = (p-1)(q-1) – dùng ĐL

Trung Hoa để giảm bớt tính toán.

3 Chọn ngẫu nhiên khóa mã hóa e sao cho 1 < e

< (n) và gcd(e, (n)) = 1 ( nguyên tố cùng

nhau )

4 Tìm khóa giải mã d ≤ n thỏa mãn e.d ≡ 1 mod

(n) (ed – 1 chia hết cho (n))

5 Công bố khóa công khai KU = {e, n}

Giữ bí mật khóa giải mã riêng KR = {d, n}

Các giá trị bí mật p và q bị hủy bỏ

Trang 21

Cho biết (e,n) và (d,n)

1. Để mã hóa 1 thông báo nguyên bản M, bên gửi

 Lưu ý là thông báo M phải nhỏ hơn n

 Phân thành nhiều khối nếu cần

Trang 22

 Theo ĐL Ole: aФ(n)mod N = 1 trong đó gcd(a, N)=1.

 Ta có N=p.q, với Ф(N)=(p-1)(q-1), e.d=1 mod Ф(N) e.d=1+k.Ф(N) đối với một giá trị k nào đó

 Suy ra: Cd = (Me)d = M1+k.Ф(N) = M1.(MФ(N))k

 Nên Cd mod N = M1.(1)k modN

= M1 mod N = M mod N

22

Trang 24

 Chọn 2 số nguyên tố p = 17 và q = 11

 Tính n = pq = 17  11 = 187

 Tính (n) = (p - 1)(q - 1) = 16  10 = 160

 Chọn e: gcd(e, 160) = 1 và 1 < e < 160; lấy e = 7

 Xác định d: de ≡ 1 mod 160 và d ≤ 187

Giá trị d = 23 vì 23  7 = 161 = 1  160 + 1

 Công bố khóa công khai KU = {7, 187}

 Giữ bí mật khóa riêng KR = {23, 187}

 Hủy bỏ các giá trị bí mật p = 17 và q = 11

Trang 25

Mã hóa Giải mã

Nguyên

bản

Nguyên bản Bản

Trang 27

 Khóa 128 bit là một số giữa 1 và một số rất lớn

Trang 28

28

Trang 29

 Phương pháp vét cạn

 Thử tất cả các khóa riêng có thể

▪ Phụ thuộc vào độ dài khóa

 Phương pháp phân tích toán học

 Phân n thành tích 2 số nguyên tố p và q

 Xác định trực tiếp (n) không thông qua p và q

 Xác định trực tiếp d không thông qua (n)

 Phương pháp phân tích thời gian

 Dựa trên việc đo thời gian giải mã

 Có thể ngăn ngừa bằng cách làm nhiễu

Trang 30

 An ninh của RSA dựa trên độ phức tạp của việc phân tích thừa số n

 Thời gian cần thiết để phân tích thừa số một số lớn tăng theo hàm mũ với số bit của số đó

 Mất nhiều năm khi số chữ số thập phân của n vượt quá 100 (giả sử làm 1 phép tính nhị phân mất 1 s)

 Kích thước khóa lớn đảm bảo an ninh cho RSA

 Từ 1024 bit trở lên

 Gần đây nhất năm 1999 đã phá mã được 512 bit (155 chữ số thập phân)

Trang 31

31

Ngày đăng: 30/01/2020, 11:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w