Nếu không có các kỹ thuật mã hóa hiện đại, Internet như chúng ta biết sẽ không tồn tại. Truyền thông an toàn cho phép hầu như tất cả tương tác trực tuyến. Thuật toán mã hóa cho phép trao đổi dữ liệu an toàn và xác minh danh tính một cách tự tin. Không có những công cụ mã hóa phổ biến này, xã hội kết nối hiện đại của chúng ta không thể hoạt động như ngày nay.

Thuật toán mã hóa khóa đối xứng

Thuật toán mã hóa khóa đối xứng dựa vào mật khẩu an toàn để hoạt động như khóa. Đây là hình thức mã hóa lâu đời nhất. Các phím đối xứng tạo thành cơ sở của mọi thứ từ ổ khóa kết hợp đến mã hóa ổ đĩa cứng hiện đại. AES, DES và Blowfish là tất cả các thuật toán mã hóa khóa đối xứng hiện đại.

Vì mã hóa đối xứng yêu cầu khóa chia sẻ, trao đổi khóa phải được thực hiện một cách an toàn. Trong khi các kỹ thuật hiện đại như giấy phép trao đổi khóa Diffie-Hellmen trao đổi một bí mật được chia sẻ qua các dòng không an toàn, nó đòi hỏi chi phí truyền thông đáng kể để làm như vậy cũng như sự tin cậy được chia sẻ giữa các giao tiếp. Nếu khóa chia sẻ không thể trao đổi an toàn, không thể thực hiện giao tiếp.

Trong khi mã hóa khóa đối xứng được sử dụng trong giao tiếp trực tuyến, nó hầu như luôn được kết hợp với mã hóa khóa công khai, cho phép giao tiếp an toàn trên các kênh mở.

Tags : PGP Encryption: Cách thức hoạt động và cách bạn có thể bắt đầu

Thuật toán mã hóa không đối xứng (khóa công khai)

Mã hóa khóa không đối xứng hoặc khóa công khai sử dụng một cặp khóa mã hóa. Các khóa này liên quan đến nhau bằng toán học. Khóa công khai, được chia sẻ rộng rãi, mã hóa thông điệp. Khóa cá nhân giải mã thông điệp. Kết quả là, bất kỳ người gửi nào cũng có thể mã hóa thư bằng khóa công khai của người nhận. Sau đó, họ có thể tự tin rằng chỉ người nhận dự định mới có thể giải mã thông điệp vì các bên không chia sẻ bí mật; họ không cần lòng tin.

Như một ví dụ thực tế, hãy xem xét sự tương tự này. Nếu Alice muốn giao tiếp an toàn với Bob, nhưng cô ấy không tin anh ta?

  1. Alice mua ổ khóa và tổ hợp phím. Cô mở khóa móc bằng chìa khóa của mình và gửi khóa móc mở khóa cho Bob.
  2. Bob đặt tin nhắn của mình trong một hộp và sử dụng khóa móc của Alice để khóa nó.
  3. Bob trả lại hộp bị khóa cho Alice, được bảo đảm bằng khóa móc của Alice.
  4. Alice mở hộp bằng chìa khóa móc khóa, thứ mà cô ấy chỉ sở hữu.

Để dễ giao tiếp, Alice có thể sao chép khóa móc mở khóa và xuất bản rộng rãi. Bất kỳ ai có khóa móc đều có thể gửi thông tin liên lạc an toàn của cô ấy. Với một khóa đủ phức tạp, kẻ tấn công không thể lấy chìa khóa từ khóa một mình.

Bảo mật bằng số lớn

Để duy trì an toàn, các thuật toán này dựa trên các vấn đề về khóa móc / toán học phức tạp mà không có giải pháp hiệu quả nào được biết đến. Những vấn đề khó hiểu này xác định chức năng một chiều: dễ tính toán theo một hướng nhưng cực kỳ khó để tính toán ngược. RSA, một thuật toán khóa công khai thường được sử dụng, dựa trên những khó khăn trong việc tìm kiếm các thừa số nguyên tố với hàng trăm chữ số thập phân.

Để bắt đầu, người dùng RSA tạo ra hai số nguyên tố rất lớn. Những con số này sau đó được nhân với nhau để tạo ra sản phẩm. Người dùng giữ nguyên tố chính bao gồm khóa riêng, bí mật. Người dùng xuất bản khóa công khai bắt nguồn từ sản phẩm của cặp chính. Khóa công khai mã hóa tin nhắn; khóa cá nhân giải mã chúng.

Nếu không biết các yếu tố chính, việc tìm ra các yếu tố chính của sản phẩm sẽ mất một khoảng thời gian không khả thi. RSA-1024, tiêu chuẩn tối thiểu, sử dụng các sản phẩm nhị phân 1024 bit được tạo từ các số nguyên tố nhị phân 512 bit. Theo tính toán, nó sẽ yêu cầu 5, 95 × 10 ^ 211 năm để yếu tố mà không có chìa khóa. Đối với quan điểm, vũ trụ chỉ tồn tại cho một tương đối ngắn 13.75 x 10 ^ 19 năm.

Hàm băm

Hàm băm dịch một thông điệp có độ dài tùy ý thành chuỗi có độ dài cố định được gọi là băm hoặc thông báo. Băm mật mã là xác định: cùng một đầu vào luôn tạo ra cùng một đầu ra. Ngay cả những thay đổi nhỏ đối với thông báo cũng sẽ dẫn đến một băm khác biệt đáng kể. Phát hiện hai thông điệp duy nhất tạo ra cùng một giá trị băm, được gọi là một va chạm băm, nên không khả thi.

Chữ ký số và xác thực mật khẩu đều sử dụng hàm băm như SHA. Thay vì xác thực mật khẩu văn bản thuần túy của bạn, máy chủ đăng nhập sử dụng mã băm của mật khẩu. Máy chủ so sánh giá trị băm này với băm được lưu trữ của máy chủ. Cùng một băm, cùng một mật khẩu.

Phát ban muối

Để lưu trữ mật khẩu, các công ty thường thêm một "muối" trước khi băm. Chuỗi được tạo ngẫu nhiên này được nối với văn bản mật khẩu trước khi băm, đảm bảo rằng ngay cả hai mật khẩu giống hệt nhau cũng tạo ra các băm riêng biệt. Điều này cũng bảo vệ chống lại một cuộc tấn công từ điển trên một bảng bị đánh cắp mật khẩu băm.

Phần kết luận

Cho đến những năm 1970, mã hóa dựa trên các khóa đối xứng. Chỉ sau khi bằng chứng mã hóa khóa công khai có thể có hai khóa khác nhau - một mã hóa, một mã hóa - được sử dụng để giao tiếp. Sự thay đổi mang tính cách mạng này, cho phép giao tiếp mà không có sự tin tưởng, là những gì cho phép Internet tồn tại dưới dạng nó cần đến ngày nay. Mọi thứ từ ngân hàng và mua sắm đến nhắn tin và duyệt web đều dựa vào nó.