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] Thám mã thay thế đơn bảng theo thứ tự tần suất chuẩn

    Với mã thay thế đơn bảng tổng quát (khóa là hoán vị bất kỳ của 26 chữ cái, không chỉ Affine), một chiến lược thám mã đơn giản là ánh xạ các chữ cái bản mã theo thứ hạng tần suất của chúng sang thứ hạng tần suất chuẩn của tiếng Anh, theo thứ tự cố định: ETAOINSHRDLCUMWFGYPBVKJXQZ\texttt{ETAOINSHRDLCUMWFGYPBVKJXQZ}ETAOINSHRDLCUMWFGYPBVKJXQZ (chữ đầu tiên E là phổ biến nhất trong tiếng Anh, tiếp theo T, v.v.)

    Thuật toán xác định như sau:

    1. Đếm tần suất từng chữ cái xuất hiện trong bản mã (bỏ qua dấu cách).
    2. Sắp xếp các chữ cái có xuất hiện theo tần suất giảm dần; nếu bằng tần suất thì theo thứ tự bảng chữ cái tăng dần.
    3. Chữ cái đứng thứ iii (bắt đầu từ 0) trong danh sách đã sắp xếp được ánh xạ thành chữ cái đứng thứ iii trong xâu chuẩn ETAOINSHRDLCUMWFGYPBVKJXQZ ở trên.
    4. Thay mỗi chữ cái trong bản mã bằng ảnh tương ứng của nó theo ánh xạ vừa xây dựng để thu được văn bản giải mã.

    Đây là thuật toán tất định thuần túy dựa trên thống kê — không đảm bảo phục hồi đúng bản rõ gốc, kết quả chỉ phụ thuộc vào các bước trên.

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

      Một dòng duy nhất là bản mã (chữ in hoa A-Z và dấu cách), độ dài từ 000 đến 500500500 ký tự.

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

      In ra một dòng là văn bản sau khi áp dụng ánh xạ thay thế theo thứ tự tần suất mô tả ở trên, giữ nguyên vị trí dấu cách. Nếu bản mã rỗng, in ra dòng rỗng.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    
    

    Đầu vào:

    GSV JFRXP YILDM ULC QFNKH LEVI GSV OZAB WLT ZMW GSV UREV YLCRMT DRAZIWH QFNK JFRXPOB GSV VMW

    Đầu ra:

    ISE GOAQV ZRTMN XTU KOPYF TWER ISE BDLC HTJ DNH ISE XAWE ZTUANJ MALDRHF KOPY GOAQVBC ISE ENH
    

    Đang tải editor...