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] Tìm khóa từ rõ-mã (known plaintext)

    Tấn công biết bản rõ (known-plaintext)

    Nếu biết cả bản rõ và bản mã, ta khôi phục dòng khóa bằng:

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

    (Đây là điểm yếu chí mạng nếu khóa bị lặp lại.)

    Thuật toán

    Với mỗi cặp ký tự rõ/mã, tính (C - P) mod 26 để ra ký tự khóa.

    Ví dụ

    Rõ ATTACKATDAWN, mã LXFOPVEFRNHR → dòng khóa LEMONLEMONLE.

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

      Dòng 1: bản rõ. Dòng 2: bản mã (cùng độ dài, chữ HOA).

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

      len(rõ) = len(mã); 1 ≤ độ dài ≤ 1000.

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

      Một dòng: dòng khóa khôi phục được.

    Ví dụ:

    Đầu vào:

    ATTACKATDAWN
    LXFOPVEFRNHR

    Đầu ra:

    LEMONLEMONLE

    Giải thích:

    (L-A)=L, (X-T)=E, ... lộ ra khóa lặp LEMONLEMONLE.

    Đang tải editor...