Vernam nguyên thủy thao tác trên bit/byte bằng phép XOR. XOR cũng là đối hợp:
(M XOR K) XOR K = M, nên cùng một hàm dùng cho cả mã hóa và giải mã.
C[i] = M[i] XOR K[i mod m]
Đọc dãy byte thông điệp và dãy byte khóa, XOR theo chỉ số (khóa lặp vòng).
M = 72 73, K = 15 → 87 70 (72^15=71? kiểm tra lại bằng máy).
Dòng 1: dãy byte thông điệp (0..255). Dòng 2: dãy byte khóa (0..255).
1 ≤ số byte thông điệp ≤ 1000; 1 ≤ số byte khóa ≤ 256; mỗi byte 0..255.
Một dòng: dãy byte mã hóa, cách nhau bởi dấu cách.
Ví dụ:
Đầu vào:
72 73
15
Đầu ra:
71 70
Giải thích:
Đang tải editor...