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] Tham số lịch trình khóa AES

    Chuẩn mã hóa AES (Advanced Encryption Standard) hỗ trợ ba độ dài khóa: 128, 192 và 256 bit. Với khóa dài LLL bit, thuật toán xác định:

    • Nk=L/32N_k = L / 32Nk​=L/32: số từ (word, mỗi từ 32 bit) của khóa gốc.
    • NrN_rNr​: số vòng mã hóa, xác định theo bảng Nk=4⇒Nr=10N_k = 4 \Rightarrow N_r = 10Nk​=4⇒Nr​=10, Nk=6⇒Nr=12N_k = 6 \Rightarrow N_r = 12Nk​=6⇒Nr​=12, Nk=8⇒Nr=14N_k = 8 \Rightarrow N_r = 14Nk​=8⇒Nr​=14.
    • W=Nb(Nr+1)W = N_b (N_r + 1)W=Nb​(Nr​+1) với Nb=4N_b = 4Nb​=4: tổng số từ 32 bit của toàn bộ các khóa vòng (round key) mà lịch trình khóa (key expansion) phải sinh ra cho một lần mã hóa.

    Cho TTT độ dài khóa AES, với mỗi độ dài hãy tính NkN_kNk​, NrN_rNr​, WWW tương ứng.

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

      Dòng đầu tiên là số nguyên TTT (0≤T≤10000 \le T \le 10000≤T≤1000) — số bộ dữ liệu. TTT dòng tiếp theo, mỗi dòng chứa một số nguyên L∈{128,192,256}L \in \{128, 192, 256\}L∈{128,192,256}.

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

      In ra TTT dòng, mỗi dòng ghi ba số nguyên NkN_kNk​, NrN_rNr​, WWW cách nhau bởi một khoảng trắng, theo đúng thứ tự các bộ dữ liệu đầu vào.

      Ví dụ: với đầu vào

      2
      128
      256
      

      kết quả là

      4 10 44
      8 14 60
      

    Ví dụ:

    Đầu vào:

    0

    Đầu ra:

    
    

    Đầu vào:

    1
    128

    Đầu ra:

    4 10 44
    

    Đang tải editor...