Gi i thi u ớ ệo Vấn đề phân phối khóa • Khó đảm bảo chia sẻ mà không làm lộ khóa bí mật • Trung tâm phân phối khóa có thể bị tấn công o Không thích hợp cho chữ ký số • Bên nhận có thể là
Trang 1NETWORK SECURITY
ASYMMETRIC ENCRYPTION
MAI Xuân Phú xuanphu150@gmail.com
Trang 2C m n ả ơ
o Nguyễn Đại Thọ, bài giảng môn “An Ninh Mạng”, đại học Công Nghệ Hà Nội
Trang 3Gi i thi u ớ ệ
o Vấn đề phân phối khóa
• Khó đảm bảo chia sẻ mà không làm lộ khóa bí mật
• Trung tâm phân phối khóa có thể bị tấn công
o Không thích hợp cho chữ ký số
• Bên nhận có thể làm giả thông báo nói nhận được từ bên gửi
o Khắc phục những hạn chế của mật mã đối xứng
o Có thể coi là bước đột phá quan trọng nhất trong lịch sử của ngành mật mã
o Bổ xung chứ không thay thế mật mã đối xứng
Trang 4c i m m t mã khóa công khai
Mật mã hai khóa hay bất đối xứng
o 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ý
o 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ý
o Bên mã hóa không thể giải mã thông báo
o Bên thẩm tra không thể tạo chữ ký
Trang 5Mã hóa khóa công khai
Các khóa công khai
Nguyên bản
đầu vào
Nguyên bản đầu ra
Bản mã truyền đi
Giải thuật Giải thuật
Khóa công khai của Alice
Khóa riêng của Alice
Ted
Alice Mike
Joy
Trang 6Bản mã truyền đi
Giải thuật
mã hóa
Giải thuật giải mã
Khóa riêng của Bob
Khóa công khai của Bob
Ted
Bob Mike
Joy
Trang 7ng d ng m t mã khóa công khai
o Trao đổi khóa
• Cho phép chia sẻ khóa phiên trong mã hóa đối xứng
có thể dùng cho 1 hay 2 loại
Trang 8th báo
Nguồn cặp khóa
Kẻ phá mã
Trang 9th báo
Nguồn cặp khóa
Kẻ phá mã
Trang 10th báo
Nguồn cặp khóa
G thuật
mã hóa
G thuật giải mã
Nguồn cặp khóa
Trang 11Trao đổ i khóa
Khóa công khai của Bob Khóa riêng của Bob
Trang 12Các i u ki n c n thi t đ ề ệ ầ ế
o M = DKRb(EKUb(M)) = DKUb(EKRb(M))
o Không thực sự cần thiết
Trang 13H mã hóa RSA ệ
Mã hóa khối với mỗi khối là một số nguyên < n
o Thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân
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
Trang 14T o khóa RSA ạ
o Chọn ngẫu nhiên 2 số nguyên tố đủ lớn p ≠ q
o Tính n = pq
o Tính Φ(n) = (p-1)(q-1)
o Chọn ngẫu nhiên khóa mã hóa e sao cho 1 < e < Φ(n) và gcd(e, Φ(n)) = 1
o Tìm khóa giải mã d ≤ n thỏa mãn e.d ≡ 1 mod Φ(n)
o Các giá trị bí mật p và q bị hủy bỏ
Trang 15Th c hi n RSA ự ệ
o Lấy khóa công khai của bên nhận KU = {e, n}
o Tính C = Me mod n
o Sử dụng khóa riêng KR = {d, n}
o Tính M = Cd mod n
o Phân thành nhiều khối nếu cần
Trang 16Vì sao RSA kh thi ả
o ∀ a, n : gcd(a, n) = 1 ⇒ aΦ(n) mod n = 1
o Φ(n) là số các số nguyên dương nhỏ hơn n và nguyên tố cùng nhau với n
Trang 17o Hủy bỏ các giá trị bí mật p = 17 và q = 11
Trang 18mã
Trang 19Ch n tham s RSA ọ ố
Trang 20Hơn 121,617,874,031,562,000 năm (khoảng 10 triệu lần tuổi của vũ trụ)
Trang 21Phá mã RSA
o Thử tất cả các khóa riêng có thể
• Phụ thuộc vào độ dài khóa
o Phân n thành tích 2 số nguyên tố p và q
o Xác định trực tiếp Φ(n) không thông qua p và q
o Xác định trực tiếp d không thông qua Φ(n)
o Dựa trên việc đo thời gian giải mã
o Có thể ngăn ngừa bằng cách làm nhiễu
Trang 22Phân tích th a s RSA ừ ố
Trang 23H trao ệ đổ i khóa Diffie-Hellman
o Malcolm Williamson (GCHQ - Anh) phát hiện trước mấy năm nhưng đến năm 1997 mới công bố
ninh
Trang 24Thi t l p Diffie-Hellman ế ậ
o q là một số nguyên tố đủ lớn
o α là một nguyên căn của q
• α mod q, α 2 mod q, , α q-1 mod q là các số nguyên giao hoán của các số từ 1 đến q - 1
o Chọn ngẫu nhiên làm khóa riêng XA < q
o Tính khóa công khai YA = αXA mod q
o Chọn ngẫu nhiên làm khóa riêng XB < q
o Tính khóa công khai YB = αXB mod q
Trang 25Trao đổ i khóa Diffie-Hellman
Trang 26o K = YBXA mod 353 = 24897 mod 353 = 160 (Alice)
o K = YAXB mod 353 = 40233 mod 353 = 160 (Bob)
Trang 27H n ch c a khóa công khai ạ ế ủ
o Các giải thuật khóa công khai chủ yếu dùng các phép nhân chậm hơn nhiều so với các giải thuật đối xứng
o Không thích hợp cho mã hóa thông thường
o Thường dùng trao đổi khóa bí mật đầu phiên truyền tin
o Bất cứ ai cũng có thể tạo ra một khóa công bố đó là của một người khác
o Chừng nào việc giả mạo chưa bị phát hiện có thể đọc được nội dung các thông báo gửi cho người kia
o Cần đảm bảo những người đăng ký khóa là đáng tin