Giao thức Diffie-Hellman (DH)
Note: This post is over 10 years old. The information may be outdated.
Theo trang công nghệ Engadget, giải thưởng AM Turing được coi như Nobel IT năm 2015 sẽ được trao cho hai nhà khoa học Whitfield Diffie và Martin E. Hellman, tác giả của đề tài mã hóa dữ liệu mang tên "Giao thức Difie-Hellman 1976". Phương pháp mã hóa được cho là "có thể bảo vệ hàng nghìn tỷ USD" đã được vinh danh tại giải thường được coi là "giải Nobel" cho lĩnh vực công nghệ thông tin.
Đây là giao thức giúp cho 2 máy tính trao đổi thông tin với nhau một cách bảo mật bằng cách tạo ra shared private key.
Giả sử 2 máy tính là A và B. Đầu tiên 2 máy tạo ra 2 số nguyên tố p và g, khi p lớn (thường lớn hơn 512 bits) và g là primitive root modulo của số p. p và g không cần giữ bí mật với các users khác. Khi đó, A và B tự chọn cho mình một số đủ lớn ngẫu nhiên làm private key, giả sử A chọn số a và B chọn số b.
Bây giờ A tính A = ga (mod p) và gửi cho B, B tính số gb (mod p) và gửi ngược lại cho A. Hai mã này là shared key. A và B sẽ thực hiện phép tính dựa và key nhận được.
A tính: K = Ba (mod p) = (gb)a (mod p) và B: K = Ab (mod p) = (ga)b (mod p)
Bây giờ 2 máy có thể sử dụng shared key K của mình để trao đổi dữ liệu mà không cần phải sợ dữ liệu bị nghe lén. Hai máy A và B có thể tìm được a từ công thức A = ga (mod p) và b từ B = gb (mod p). Có thể tham khảo thêm ở hình minh họa ở trên.
Tham khảo
Related Posts
Bảo mật hai lớp
Bảo mật 2 lớp là một hình thức bảo mật hiệu quả, được sử dụng phổ biến và ủng hộ khá đông đảo. Khi bật Xác minh 2 bước (còn được gọi là xác thực hai yếu tố), bạn thêm một lớp bảo mật bổ sung cho tài khoản của mình. Bạn đăng nhập bằng thông tin bạn biết (mật khẩu của bạn) và thông tin bạn có (một mã được gửi đến điện thoại của bạn).
Sự cố Vietcombank, một góc nhìn kỹ thuật
Bài viết gốc đăng tại VnSecurity
Có một Biển Đông trên không gian mạng
Có một Biển Đông trên không gian mạng
Reverse shell on a Node.js application
How we obtained a Javascript reverse shell by exploiting a vulnerability on a Node.js application during a security assessment.