Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Vernam XOR - Mã hóa byte

    Vernam gốc dùng phép XOR

    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]
    

    Thuật toán

    Đọc dãy byte thông điệp và dãy byte khóa, XOR theo chỉ số (khóa lặp vòng).

    Ví dụ

    M = 72 73, K = 15 → 87 70 (72^15=71? kiểm tra lại bằng máy).

    • Định dạng đầu vào:

      Dòng 1: dãy byte thông điệp (0..255). Dòng 2: dãy byte khóa (0..255).

    • Ràng buộc đầu vào:

      1 ≤ số byte thông điệp ≤ 1000; 1 ≤ số byte khóa ≤ 256; mỗi byte 0..255.

    • Định dạng đầu ra:

      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:

    XOR từng byte với khóa 15 (khóa lặp vòng).

    Đang tải editor...