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

    Mật mã tự khóa (Autokey) - Mã hóa

    Trong Autokey, dòng khóa là mồi khóa (primer) nối tiếp bởi chính bản rõ. Nhờ vậy khóa không lặp tuần hoàn nên khó phân tích Kasiski hơn.

    dòng khóa = primer + bản rõ
    C[i] = (P[i] + dòngkhóa[i]) mod 26
    

    Thuật toán

    1. Tạo dòng khóa = primer ++ bản rõ.
    2. Mã hóa từng chữ cái P[i] bằng dòngkhóa[i].

    Ví dụ

    Primer QUEEN, bản rõ ATTACKATDAWN: dòng khóa = QUEENATTACKA, kết quả → QNXEPKTMDCGN.

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

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

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

      1 ≤ độ dài primer ≤ 100; 1 ≤ độ dài bản rõ ≤ 1000; chỉ chữ A-Z.

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

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

    Ví dụ:

    Đầu vào:

    QUEEN
    ATTACKATDAWN

    Đầu ra:

    QNXEPKTMDCGN

    Giải thích:

    Dòng khóa QUEEN+ATTACKATDAWN, lấy 12 ký tự đầu để cộng.

    Đang tải editor...