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] Ước lượng entropy của mật khẩu

    Entropy (số bit ngẫu nhiên) của một mật khẩu độ dài LLL được sinh từ bảng ký tự kích thước NNN được ước lượng bằng công thức E=L⋅log⁡2NE = L \cdot \log_2 NE=L⋅log2​N.

    Cho một mật khẩu SSS, xác định bảng ký tự NNN mà SSS thực sự sử dụng dựa trên các nhóm ký tự xuất hiện trong SSS:

    • Nếu SSS chứa ít nhất một chữ thường: cộng thêm 262626 vào NNN;
    • Nếu SSS chứa ít nhất một chữ hoa: cộng thêm 262626 vào NNN;
    • Nếu SSS chứa ít nhất một chữ số: cộng thêm 101010 vào NNN;
    • Nếu SSS chứa ít nhất một ký tự đặc biệt (không phải chữ, số, không phải khoảng trắng): cộng thêm 323232 vào NNN.

    Quy ước: nếu SSS rỗng (hoặc không xác định được nhóm ký tự nào, tức N=0N = 0N=0) thì E=0E = 0E=0.

    Ví dụ: S=S = S= aaaaaaaaaa (10 chữ thường) ⇒N=26\Rightarrow N = 26⇒N=26, E=10⋅log⁡226≈47.00E = 10 \cdot \log_2 26 \approx 47.00E=10⋅log2​26≈47.00.

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

      Một dòng chứa mật khẩu SSS (độ dài từ 000 đến 200200200 ký tự ASCII in được).

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

      In ra giá trị entropy EEE làm tròn đến đúng 2 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    
    

    Đầu ra:

    0.00
    

    Đầu vào:

    aaaaaaaaaa
    

    Đầu ra:

    47.00
    

    Đang tải editor...