Thuật toán trao đổi khóa Diffie-Hellman

Một phần của tài liệu TÌM HIỂU MẠNG RIÊNG ẢO VPN-VÀ ỨNG DỤNG HẠ TẦNG PUBLIC KEY TĂNG ĐỘ TIN CẬY TRONG KẾT NỐI VPN (Trang 117)

d) Phân phối khóa

4.2.4 Thuật toán trao đổi khóa Diffie-Hellman

Thuật toán Diffie-Hellman cho phép hai bên trao đổi với nhau một khóa bí mật chung. Các bước thực hiện như sau:

Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman

Bên A Mạng Bên B

Đồng ý với bên B về sử dụng số nguyên lớn ban đầu: P

→ ← Đồng ý với bên A về sử dụng số nguyên lớn ban đầu: P

Đồng ý về số nguyên làm nhiệm vụ tạo khóa: G

→ ← Đồng ý về số nguyên làm nhiệm vụ tạo khóa: G

Chọn lọc số bí mật: A → ← Chọn lọc số bí mật: B

Tính số công cộng: X=GAmod P Tính số công cộng: Y=GBmod P Gửi số X tới bên B X→ ←Y Gửi số X tới bên B

Bây giờ đã biết: P, G, A, X, Y Bây giờ đã biết: P, G, B, X, Y Tính KA=YAmod P Tính KB=XBmod P

Bây giờ đã có khóa bảo mật chia sẻ: KA=KB=K

Bây giờ đã có khóa bảo mật chia sẻ: KA=KB=K Chứng minh: KA=(GBmod P)Amod P KA=(GB)Amod P KA=GBAmod P KA Chứng minh: KB=(GAmod P)Bmod P KB=(GA)Bmod P KB=GAB mod P KB

Ví dụ về trao đổi khóa Diffie-Hellman như sau: hai bên A và B thống nhất với nhau số nguyên tố P=31 và một số nguyên G=3.

Tại A: chọn A=8 X=38mod 31 = 20. X=20 này được gửi đến B.

Tại B: chọn B=6 Y=36mod 31 = 16. Y=16 này được gửi đến A.

Tính khóa bí mật K: Tại A: KA=168mod 31 = 4 Tại B: KB=206mod 31 = 4

Hai bên chọn khóa bí mật là KA=KB=K=8 cho quá trình mật mã và giải mã

thông tin.

4.3 Xác thực

Xác thực là thuật ngữ để chỉ hai khái niêm: xác thực tính toàn vẹn của dữ liệu và xác thực nguồn gốc dữ liệu. Về cơ bản thì các xác thực này được giải quyết bằng các phương pháp khác nhau. Trong phần này chúng ta sẽ xem xét cách thức giải quyết hai vấn đề này.

Một phần của tài liệu TÌM HIỂU MẠNG RIÊNG ẢO VPN-VÀ ỨNG DỤNG HẠ TẦNG PUBLIC KEY TĂNG ĐỘ TIN CẬY TRONG KẾT NỐI VPN (Trang 117)