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] Beaufort - Mã hóa

    Mật mã Beaufort

    Beaufort là biến thể đa bảng dùng công thức đối xứng:

    C[i] = (K[i] - P[i]) mod 26
    

    Điểm thú vị: Beaufort là một đối hợp (involution) — mã hóa và giải mã dùng cùng một phép toán (áp dụng hai lần sẽ về bản rõ).

    Thuật toán

    Với mỗi chữ cái, tính (key - plain) mod 26.

    Ví dụ

    Khóa LEMON, bản rõ ATTACK → LLTMLR.

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

      Dòng 1: khóa. Dòng 2: bản rõ (chữ HOA).

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

      1 ≤ độ dài khóa ≤ 100; 1 ≤ độ dài bản rõ ≤ 1000.

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

      Một dòng: bản mã Beaufort.

    Ví dụ:

    Đầu vào:

    LEMON
    ATTACK

    Đầu ra:

    LLTOLB

    Giải thích:

    (L-A)=L, (E-T)%26=L, (M-T)=T, ... cho LLTMLR.

    Đang tải editor...