Bài tập 3.6 từ Mật mã và Kỹ thuật Hãy xem xét một mật mã khối mới, DES2, chỉ bao gồm
hai vòng của mật mã khối DES. DES2 có cùng khối và khóa
kích thước như DES. Đối với câu hỏi này, bạn nên xem xét chức năng DES F
như một hộp đen có hai đầu vào, một đoạn dữ liệu 32-bit và một
Phím tròn 48 bit và tạo ra đầu ra 32 bit. Giả sử bạn có
một số lượng lớn các cặp bản rõ-bản mã cho DES2 dưới một,
chìa khóa không xác định. Đưa ra thuật toán khôi phục khóa tròn 48 bit cho
vòng 1 và khóa tròn 48 bit cho vòng 2. Thuật toán của bạn sẽ
yêu cầu ít thao tác hơn so với tìm kiếm toàn diện cho toàn bộ
Khóa DES 56 bit. thuật toán của bạn có thể được chuyển đổi thành một phân biệt
tấn công DES2?
Ý tưởng của tôi là nếu chúng ta có cặp bản rõ-bản mã, chúng ta sẽ làm như sau.
Chúng tôi chia bản mã C thành hai 32 bit. Chúng ta phải đoán K2 với 2^48 thao tác và sau đó XOR L với đầu ra là F(K2,C) và so sánh với R của bản rõ. Nếu nó bằng nhau, chúng ta biết K2 đã đúng. Để chắc chắn rằng K2 đã thực sự chính xác, chúng ta có thể sử dụng các cặp số khác để xác nhận. Bây giờ chúng ta phải tìm K1, một lần nữa với 2^48 thao tác. Tổng cộng chúng ta cần 2*2^48 thao tác thay vì 2^48 * 2^48 hoặc tốt hơn là 2^56 thao tác. Và chúng ta có thể dễ dàng sử dụng một cuộc tấn công phân biệt, bằng cách sử dụng các phím yếu của DES? và cố gắng tìm sự bằng nhau L và R này chỉ bằng 2^48 thao tác. Tôi có thể hoàn toàn sai từ mặt đất. Tôi thậm chí đã vẽ đúng mật mã "2DES" chưa?