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] Feistel nhiều vòng

    Mạng Feistel — nhiều vòng

    Áp dụng R vòng Feistel lên khối (hai nửa L, R cùng độ dài). Mỗi vòng r (0-based): L' = R, R' = L ^ F(R, k_r), với F(R, k) = ((R + k) * 3) mod 256 áp dụng từng byte; khóa vòng k_r = r.

    Cho L, R (hex) và số vòng n, in L_final R_final (hex).

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

      Một dòng: L_hex R_hex n.

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

      0 ≤ n ≤ 100; len(L)=len(R).

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

      Một dòng: L_hex R_hex sau n vòng (chữ thường).

    Ví dụ:

    Đầu vào:

    00000000 01020304 2
    

    Đầu ra:

    0306090c 0d171d23

    Giải thích:

    Lặp 2 vòng: L'=R, R'=L XOR F(R, vòng) với F(x,k)=((x+k)*3) mod 256.

    Đang tải editor...