Hiểu về bản chất của mã hoá dễ nhất

Anh em mình làm mạng nghe tới các thuật ngữ IPSec như khóa bí mật, khóa công khai, giải thuật mã hóa… cũng hơi thấy "xoắn não” . Nhưng nếu bình tĩnh, "mổ xẻ" ra thì nó cũng tuân theo quy tắc dễ nhớ.

Trong VPN IPSec, "khóa bí mật", "khóa công khai" chứ thực chất nó cũng chỉ là chuỗi số 0 và 1 mà thôi.

Ví dụ, khóa 256 bit nghĩa là có 256 con số 0 1 sắp xếp ngẫu nhiên lung tung.

Còn "giải thuật mã hóa" thì sao? Nó giống như "công thức" để xáo trộn dữ liệu gốc.

Xáo trộn bằng cách dùng các phép toán logic như XOR, AND, OR, NOT, cộng modulo, dịch bit, hoán vị... để biến dữ liệu "lung tung beng lên”. Một số giải thuật mã hoá như 3DES, AES,...cũng chính là thực hiện nhiều lần các phép toán logic này.

===Ví dụ đơn giản====:

Giả sử dữ liệu ban đầu của mình là: 11001010

Và "chuỗi khóa bí mật" là: 10101011

Bây giờ, ta sẽ áp dụng giải thuật mã hóa XOR để "xáo trộn" dữ liệu:

XOR từng bit tương ứng của dữ liệu gốc và chuỗi khóa:

11001010  (Dữ liệu gốc)

10101011  (Chuỗi khóa)

---------thực hiện XOR------

01100001  (Kết quả)

Như vậy, sau khi "xáo trộn" bằng giải thuật XOR, dữ liệu ban đầu 11001010 đã biến thành 01100001

Tóm lại: Dữ liệu gốc + Khoá + giải thuật==>Tạo thành dữ liệu đã mã hoá

Tóm lại, IPSec dùng "khóa" (chuỗi số 0 và 1) và "giải thuật mã hóa" (công thức xáo trộn) để biến dữ liệu gốc thành dạng “lung tung ko đọc được”.

Ví dụ khi mình vào trang web https, rồi bắt wireshark, thấy các gói 443 , thì mình ko thể xem được bên trong có gì, còn nếu trang nào http 80 thì mình xem được link là gì, tải file gì do không mã hoá.

Bài viết cùng danh mục