Mật mã khóa đối xứng là gì? | Binance Academy

Mật mã khóa đối xứng là gì (hay mã hóa đối xứng) là một loại sơ đồ mã hóa trong đó một khóa giống nhau sẽ vừa được dùng để mã hóa, vừa được dùng để giải mã các tệp tin. Phương pháp mã hóa thông tin này đã được sử dụng khá phổ biến từ nhiều thập kỷ với mục đích tạo ra cách thức liên lạc bí mật giữa chính phủ với quân đội. Ngày nay, các thuật toán khóa đối xứng được ứng dụng rộng rãi trên nhiều hệ thống máy tính khác nhau nhằm tăng cường bảo mật cho dữ liệu.

Cách thức hoạt động

Một sơ đồ mã hóa đối xứng thường sử dụng một khóa đơn được chia sẻ giữa 2 hoặc nhiều người dùng với nhau. Khóa duy nhất này sẽ được dùng cho cả 2 tác vụ mã hóa và giải mã các văn bản thô (các tin nhắn hoặc mảnh dữ liệu cần được mã hóa). Quá trình mã hóa bao gồm việc chạy văn bản thô (đầu vào) thông qua một thuật toán mã hóa còn gọi là mật mã (cipher) sẽ lần luợt tạo ra các bản mã – ciphertext (đầu ra).

Khi sơ đồ mã hóa đủ mạnh thì cách duy nhất để đọc và truy cập được các thông tin chứa trong các bản mã là sử dụng khóa tương ứng để giải mã. Quá trình giải mã về cơ bản sẽ chuyển đổi các bản mã trở về dạng văn bản thô ban đầu.

Mức độ bảo mật của các hệ thống mã hóa đối xứng sẽ phụ thuộc vào độ khó trong việc suy đoán ngẫu nhiên ra khóa đối xứng theo hình thức tấn công brute force. Lấy ví dụ, để dò ra mã hóa của 1 khóa 128-bit thì sẽ mất tới vài tỷ năm nếu sử dụng các phần cứng máy tính thông thường. Thông thường, các khóa có độ dài tới 256-bit có thể được xem là có độ bảo mật cao tuyệt đối, có khả năng chống lại được hình thức tấn công brute force từ các máy tính lượng tử.

Trong số các sơ đồ mã hóa đối xứng được sử dụng ngày nay thì có 2 loại thông dụng nhất là nền tảng mật mã block và stream. Trong mật mã block, dữ liệu được nhóm vào từng khối theo kích thước định trước, mỗi khối được mã hóa bằng khóa đối xứng và thuật toán mã hóa (vd: các văn bản thô 128-bit sẽ được mã hóa thành các bản mã 128-bit). Khác với mật mã block, mật mã stream không mã hóa dữ liệu văn bản thô theo block mà mã hóa theo các gia số 1-bit (mỗi văn bản thô 1-bit được mã hóa thành bản mã 1-bit mỗi lần).

Mã hóa đối xứng vs. Mã hóa bất đối xứng

Việc sử dụng tới 2 loại khóa thay vì 1 cũng tạo ra nhiều điểm khác biệt về mặt tính năng giữa 2 loại mã hóa này. Các thuật toán bất đối xứng thường phức tạp và chậm hơn so với các thuật toán đối xứng. Bởi khóa công khai và khóa bí mật sử dụng trong mã hóa bất đối xứng thường có liên quan tới toán học về một mức độ nào đó, vì thế, các khóa này bản thân nó sẽ dài hơn đáng kể so với các khóa đối xứng khác để có thể đạt được mức độ bảo mật tương đương.

Ứng dụng trong các hệ thống máy tính hiện đại

Các thuật toán mã hóa đối xứng được sử dụng nhiều trong các hệ thống máy tính hiện đại với mục đích tăng cường bảo mật dữ liệu và cho người dùng. Chuẩn Mã Hóa Cấp Cao (AES) được sử dụng rộng rãi trong các ứng dụng nhắn tin an toàn lẫn lưu trữ đám mây, chính là một ví dụ điển hình của mật mã đối xứng.

Ngoài các ứng dụng phần mềm, AES còn được tích hợp trực tiếp vào các phần cứng máy tính. Các sơ đồ mã hóa đối xứng nền tảng phần cứng thường sử dụng chuẩn AES 256, một biến thể đặc biệt của Chuẩn Mã Hóa Cấp Cao AES với kích thước khóa là 256 bit.

Một điểm dễ gây nhầm lẫn ở đây là thuật toán ECDSA hoạt động dựa theo mật mã đường ellip (elliptic-curve cryptography) – loại mật mã có khả năng ứng dụng thực thi đa tác vụ bao gồm mã hóa, chữ ký số và tạo ra các số giả ngẫu nhiên. Tuy nhiên, ECDSA tự bản thân nó lại không thể thực hiện mã hóa được.

Ưu và nhược điểm

Các thuật toán đối xứng vừa có khả năng cung cấp mức độ bảo mật khá cao, vừa có khả năng cho phép mã hóa và giải mã tin nhắn rất nhanh. Mức độ đơn giản về tương quan của các hệ thống đối xứng cũng là một ưu điểm về mặt logic bởi nó sử dụng ít năng lượng tính toán hơn so với các hệ thống bất đối xứng. Thêm vào đó, cấp độ bảo mật mà mã hóa đối xứng mang lại có thể được nhân rộng lên một cách đơn giản chỉ bằng việc tăng độ dài của các khóa. Với mỗi bit được thêm vào trong độ dài 1 khóa đối xứng, thì độ khó của việc phá vỡ mã hóa đó bằng tấn công brute force sẽ tăng lên theo cấp số mũ.

Kết luận