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

    Mật mã Gronsfeld

    Gronsfeld là Vigenère với khóa là dãy chữ số (0..9) thay vì chữ cái. Mỗi chữ số là lượng dịch.

    C[i] = (P[i] + d[i mod m]) mod 26,  d là chữ số khóa
    

    Thuật toán

    Tách khóa thành các chữ số, cộng dịch như Vigenère.

    Ví dụ

    Khóa 31415, bản rõ HELLO → KFPMT.

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

      Dòng 1: khóa gồm các chữ số 0-9. Dòng 2: bản rõ (chữ HOA).

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

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

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

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

    Ví dụ:

    Đầu vào:

    31415
    HELLO

    Đầu ra:

    KFPMT

    Giải thích:

    H+3=K, E+1=F, L+4=P, L+1=M, O+5=T.

    Đang tải editor...