Professional Documents
Culture Documents
Thuchanh LaptrinhHeMa Ch4
Thuchanh LaptrinhHeMa Ch4
Thuchanh LaptrinhHeMa Ch4
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 < 𝝓(𝒏)
– 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