Thuchanh LaptrinhHeMa Ch4

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

TRƯỜNG ĐẠI HỌC PHENIKAA

KHOA CÔNG NGHỆ THÔNG TIN

An toàn và bảo mật thông tin

GVC.TS: Phạm Thị Thanh Thủy


Email: thanh-thuy.pham@mica.edu.vn
Thông tin môn học
• Nội dung
– Chương 1: Tổng quan về an toàn thông tin
– Chương 2: Các khái niệm cơ sở và hệ mật
mã cổ điển
– Chương 3: Mật mã khối và khóa đối xứng
– Chương 4: Hệ thống mật mã khóa công khai
– Chương 5: Chữ ký điện tử và hàm băm
– Chương 6: Quản lý khóa
– Chương 7: Xác thực
– Chương 8: Điều khiển truy nhập
– Chương 9: An toàn trên Internet
2
Thông tin môn học
• Nội dung
– Chương 1: Tổng quan về an toàn thông tin
– Chương 2, 3: Các khái niệm cơ sở và hệ mã
khóa đối xứng
– Chương 4: Hệ thống mật mã khóa công khai
– Chương 5: Chữ ký điện tử và hàm băm
– Chương 6: Quản lý khóa
– Chương 7: Xác thực
– Chương 8: Điều khiển truy nhập
– Chương 9: An toàn trên Internet

3
Thực hành

4
Các hệ mã
• RSA
• Diffie-Hellman
• ElGamal

5
Các hệ mã
• RSA
– Tạo khóa: KPU, KPR
– Mã hóa
• C=Pe mod n
– Giải mã
P = Cd mod n

6
Các hệ mã
• RSA
– Tạo khóa: KPU, KPR
Thành phần Mô tả Bài toán
p, q: Số nguyên tố Bí mật, chọn Kiểm tra số nguyên tố lớn?
lớn Miller-Rabin
n = pq Công khai, tính toán
𝝓(𝒏)=(𝒑−𝟏)(𝒒−𝟏) Phi hàm Euler
e: Công khai, được chọn ƯCLN (𝝓(𝒏), e)
- gcd(𝝓(𝒏), e) = 1 𝝓(𝒏)&e: NT cùng nhau
- 1< e < 𝝓(𝒏)

d = e-1 (mod 𝝓(𝒏)) Bí mật, tính toán Extended Euclide


Mã hóa C=Pe mod n Bình phương nhân
Hoặc ĐL phần dư trung hoa
Giải mã P=Cd mod n Bình phương nhân
Hoặc ĐL phần dư trung hoa
Các hệ mã
• RSA
– Tạo khóa: KPU, KPR

– Mã hóa:
• P = How are you?
= 33 14 22 62 00 17 04 62 24 14 20 66
3314,x, 0462
2262, 2414
0017, 2066
Các hệ mã
• RSA
– Giải mã
P = Cd mod n
3314 => 10260
2262 => 9489
0017 => 1782
0462 => 727
2414 => 10032
2066 => 2253
Các hệ mã
• Diffie-Hellman
– Tạo khóa: KPU, KPR
– Tính toán khóa bí mật K

10
Các hệ mã
• Diffie-Hellman
– Tạo khóa: KPU, KPR
• Chọn số nguyên tố
• Chọn vào số nguyên thỏa mãn α và là căn
nguyên thủy của .
– Tìm nhóm nhân là tập gồm các số nguyên nhỏ hơn và
nguyên tố cùng nhau với
– Kiểm tra từng phần tử trong tập thỏa mãn điều kiện sau
hay không
» Nếu thì là căn nguyên thủy của
,..,

11
Các hệ mã
• Diffie-Hellman
– Tạo khóa: KPU, KPR
• Chọn khóa bí mật (của người gửi) và (của người
nhận) thỏa mãn điều kiện ,
• Tính

Þ = (, , ); =
Þ = (, , ); =
– Tính toán khóa bí mật chia sẻ K

12
Các hệ mã
• Diffie-Hellman
– Ví dụ
• q=353 and = 3
• XA = 97 and XB = 233
• A tính YA = 397 mod 353 = 40
• B tính YB = 3233 mod 353 = 248
• Tính khóa bí mật
– A tính K = mod 353 = 24897 mod 353 = 160
– B tính K = mod 353 = 40233 mod 353 = 160.

13
Các hệ mã
• ElGamal
– Tạo khóa: KPU, KPR
– Mã hóa
– Giải mã

14
Các hệ mã
• ElGamal
– Tạo khóa: KPU, KPR
• Chọn số nguyên tố
• Chọn vào số nguyên thỏa mãn và là căn nguyên
thủy của .
– Tìm nhóm nhân là tập gồm các số nguyên nhỏ hơn và
nguyên tố cùng nhau với
– Kiểm tra từng phần tử trong tập thỏa mãn điều kiện sau
hay không
» Nếu thì là căn nguyên thủy của
,..,

15
Các hệ mã
• ElGamal
– Tạo khóa: KPU, KPR
• Chọn khóa bí mật (của người gửi) và (của người
nhận) thỏa mãn điều kiện ,
• Tính

Þ = (, , ); =
Þ = (, , ); =

16
Các hệ mã
• ElGamal
– Mã hóa: P
• Chọn số nguyên ngẫu nhiên
• Tính one-time K
• Tính :
• Tính : p
=> Phần tử mã: (, )

17
Các hệ mã
• ElGamal
– Giải mã: Phần tử mã: (, )
• Tính :
• Phần tử rõ:

18
Các hệ mã
• ElGamal
– Ví dụ
Tạo khóa
Chọn = 5 Các thành phần công khai chung
Tính p=19
Khóa =10
Khóa : =

Mã hóa
Phần tử rõ: Giải mã
Chọn số nguyên ngẫu nhiên k:
Tính one-time K Phần tử mã: (, )
Tính : Tính :
Tính : Phần tử rõ:
Phần tử mã: (, ) 19

You might also like