Mã hóa dữ liệu trong Python
Như bạn có thể tưởng tượng, dữ liệu di chuyển trên Internet là điểm yếu đối với gián điệp và ăn cắp tiềm tàng. Nó là
dễ để quan sát dữ liệu qua một mạng, đặc biệt bây giờ rằng ngày càng nhiều hình thức trao đổi thông tin đòi hỏi truyền
không dây. Ví dụ, một người có thể ngồi trong một ô tô trong parking lot bên ngoài major hotel nào và nhặt truyền dữ
liệu giữa hầu như bất cứ 2 máy tính nào nếu người đó chạy phần mềm sniff mạng đúng. Vì lí do này, hầu hết các ứng
dụng bây giờ sử dụng mã hóa dữ liệu để bảo vệ thông tin truyền giữa các mạng. Một vài giao thức ứng dụng bao gồm các
phiên bản an toàn cái sử dụng mã hóa dữ liệu. Các ví dụ về các phiên bản như vậy là FTPs và HTTPs, cái là các phiên
bản an toàn của FTP và HTTP cho truyền file và truyền trang web tương ứng.
Các kĩ thuật mã hóa cũ như thực hành gửi và nhận các thông điệp. Máy gửi mã hóa một thông điệp bằng cách dịch nó
thành một code bí mật, gọi là cipher text. Ở đầu cuối kia, máy gửi giải mã cipher text quay trở lại hình thức plaintext
ban đầu của nó. Cả hai bên đối với giao dịch này phải có đồng ý một hay nhiều hơn các keys cái cho phép chúng mã hóa
và giải mã các thông điệp. Để cung cấp cho bạn hương vị của quá trình này, chúng ta hãy thẩm định chiến lược mã hóa
chi tiết.
Một phương pháp mã hóa đơn giản cái đã được sử dụng trong hàng ngàn năm gọi là một Caesar cipher. Nhớ lại là
tập kí tự cho text được xếp trật tự như một chuỗi các giá trị riêng biệt. Chiến lược mã hóa này thay thế mỗi kí tự
trong plaintext với kí tự cái xuất hiện trong một khoảng cách đã cho trong chuỗi. Cho các khoảng cách dương, phương
pháp gói quanh đối với phần bắt đầu của chuỗi để định vị các kí tự thay thế cho các kí tự gần cuối của nó.
Ví dụ, nếu giá trị khoảng cách của một Caesar cipher bằng 3 kí tự, string “invaders” sẽ được mã hóa thành “lqydghuv”.
Để giải mã cipher text này quay trở lại plaintext, bạn áp dụng một phương pháp cái sử dụng cùng giá trị khoảng cách
nhưng nhìn về bên trái của mỗi kí tự cho thay thế của nó. Phương pháp mã hóa này gói quanh đối với cuối của chuỗi
để tìm ra một kí tự thay thế cho một cái gần phần bắt đầu của nó. Ảnh dưới thể hiện các kí tự plaintext 5 đầu tiên
và 5 cuối cùng của alphabet thường và các kí tự cipher text tương ứng cho một Caesar cipher với một khoảng cách bằng
+3. Các giá trị ASCII số được liệt kê trên và dưới các kí tự.