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] Dẫn xuất khóa bằng PBKDF2

    PBKDF2 (Password-Based Key Derivation Function 2) là hàm dẫn xuất khóa dùng để làm chậm tấn công vét cạn mật khẩu bằng cách lặp lại HMAC nhiều lần. Cho mật khẩu PPP, salt TTT, số vòng lặp ccc và độ dài khóa đầu ra dklen\textit{dklen}dklen (tính bằng byte), hãy tính khóa dẫn xuất:

    DK=PBKDF2-HMAC-SHA256(P,T,c,dklen)DK = \text{PBKDF2-HMAC-SHA256}(P, T, c, \textit{dklen})DK=PBKDF2-HMAC-SHA256(P,T,c,dklen)

    sử dụng hàm băm cơ sở là HMAC-SHA256, theo đúng đặc tả RFC 8018.

    Ví dụ: với P=P = P= password, T=T = T= salt, c=1c = 1c=1, dklen=32\textit{dklen} = 32dklen=32, kết quả là 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b.

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

      Bốn dòng: dòng 1 là mật khẩu PPP (có thể rỗng); dòng 2 là salt TTT (có thể rỗng); dòng 3 là số nguyên ccc (1≤c≤2000001 \le c \le 2000001≤c≤200000); dòng 4 là số nguyên dklen\textit{dklen}dklen (1≤dklen≤641 \le \textit{dklen} \le 641≤dklen≤64).

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

      In ra khóa dẫn xuất DKDKDK dưới dạng chuỗi hex chữ thường, có độ dài đúng 2×dklen2 \times \textit{dklen}2×dklen ký tự.

    Ví dụ:

    Đầu vào:

    password
    salt
    1
    32
    

    Đầu ra:

    120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b
    

    Đầu vào:

    
    
    1
    16
    

    Đầu ra:

    f7ce0b653d2d72a4108cf5abe912ffdd
    

    Đang tải editor...