Điểm:0

Sự cần thiết của các mạng thay thế và hoán vị trong AES là gì?

lá cờ ec

Tôi đã cố gắng trả lời câu hỏi này khá lâu rồi. Nhưng một sự hiểu biết hoàn toàn bằng trực giác vẫn lảng tránh tôi.

Xem xét một cấu trúc thay thế cho mật mã khối mà không có bất kỳ mạng thay thế và hoán vị nào. Mã hóa khối này chỉ XOR các khối thông báo bằng các khóa khác nhau được lấy từ khóa chính (tương tự như chế độ ECB nhưng với các khóa khác nhau cho mỗi khối thông báo). Nếu bộ mở rộng khóa tạo ra nhiều khóa từ một khóa chính duy nhất được bảo mật bằng mật mã thì mật mã khối thu được cũng phải được bảo mật bằng mật mã. Tôi khá chắc chắn rằng lý do của mình là không chính xác nhưng tôi không thể xác định lỗi.

Bất kỳ giải thích trực quan nào về lý do tại sao cấu trúc này không tốt và tại sao chúng tôi cần các mạng thay thế và hoán vị trong AES đều được hoan nghênh.

fgrieu avatar
lá cờ ng
Gợi ý: xem xét chức năng mã hóa cấu trúc thay thế của bạn để tìm khóa bí mật cố định. $E(A\oplus B)$ là gì (trong đó $\oplus$ là [độc quyền bit-OR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)) w.r.t. $E(A)$ và $E(B)$? Thuộc tính đó có được mong đợi từ một hoán vị ngẫu nhiên không? Làm thế nào để nó gây hại cho an ninh?
Abhisek Dash avatar
lá cờ ec
Bạn có thể vui lòng giải thích những gì A và B đại diện?
fgrieu avatar
lá cờ ng
Trong nhận xét của tôi ở trên, $A$ và $B$ là các đầu vào tùy ý của mật mã khối đang được xem xét (nói cách khác: các khối văn bản gốc tùy ý). Nếu đó là AES-192, thì $A$ và $B$ sẽ là các chuỗi bit 128 bit tùy ý.
Abhisek Dash avatar
lá cờ ec
Bạn có đề xuất mã hóa cả A và B bằng cùng một khóa không? Nếu tôi sử dụng lại khóa, điều này sẽ gây ra sự cố hai phím thời gian. Vì vậy, mạng hoán vị thay thế ngăn chặn điều này bằng cách làm xáo trộn mối quan hệ đầu vào-đầu ra. Đúng không?
fgrieu avatar
lá cờ ng
Có, tôi khuyên bạn nên kiểm tra hậu quả của việc mã hóa cả $A$ và $B$ bằng cùng một khóa. Đó là một phần của mục đích sử dụng mật mã khối: nó sẽ vẫn an toàn ngay cả khi cùng một khóa được sử dụng với nhiều khối khác nhau. Và quả thực, việc sử dụng lại khóa sẽ không an toàn với cấu trúc được xem xét trong câu hỏi, vì những lý do liên quan đến điều gì sẽ xảy ra khi một bộ đệm được sử dụng lại trong bộ đệm Một lần.
Điểm:0
lá cờ vn

Mật mã khối này chỉ XOR các khối tin nhắn […]

Việc bạn nói về "khối tin nhắn" ở đây cho thấy rằng bạn đang làm việc từ một trong những định nghĩa (sai) khủng khiếp dành cho người mới bắt đầu về "mật mã khối" nói rằng đó là mật mã mã hóa từng khối một tin nhắn có độ dài thay đổi . Rất nhiều lời giải thích giới thiệu nói rằng, nhưng đó không phải là cách thuật ngữ được sử dụng bởi các nhà mật mã học thực tế, vì vậy tôi thấy rằng "định nghĩa" thân thiện với người mới bắt đầu (được cho là) ​​chỉ sai và khó hiểu.

Mật mã khối trong mật mã lý thuyết là một thuật toán nhằm mục đích triển khai thực tế của một họ hoán vị giả ngẫu nhiênâmột thuật toán có khóa bí mật thực hiện chức năng xáo trộn các khối dữ liệu có độ dài cố định theo kiểu mà trên thực tế không thể phân biệt được với một hoán vị được chọn ngẫu nhiên trong miền của nó. Câu trả lời này trên trang web này diễn ra khá dài về nó.

Điều bạn muốn nói chính xác là "mật mã khối" ở đây rất quan trọng bởi vì nếu bạn đang sử dụng "mật mã mã hóa các thông điệp có độ dài thay đổi từng khối một" mà tôi chỉ trích, thì đề xuất của bạn ở đây:

Mật mã khối này chỉ XOR các khối thông báo bằng các khóa khác nhau được lấy từ khóa chính

...thực sự là một cách hợp lý để xây dựng mật mã có độ dài thay đổi an toàn từ mật mã khối (theo đúng nghĩa). sử dụng rộng rãi CTR chế độ hoạt động trên thực tế hoạt động theo những dòng này—bạn tạo ra luồng khóa (cái mà bạn gọi là "các khóa khác nhau được lấy từ khóa chính") bằng cách áp dụng mật mã khối cho bộ đếm khối tin nhắn.

Tuy nhiên, có một lỗ hổng lớn trong đề xuất của bạn vì bạn không nói cách lấy các khóa phụ từ khóa chính, ngoài việc cho rằng nó "an toàn về mặt mật mã"—điều đó có nghĩa là gì an toàn trong ứng dụng này và làm thế nào để bạn đạt được nó? Trên thực tế, đây là một điểm khác biệt lớn khi bạn đề cập đến các mạng thay thế/hoán vị, bởi vì đó là "nước sốt đặc biệt" mà AES đang sử dụng để đáp ứng yêu cầu đó, mà bạn hoàn toàn không thể đạt được nếu tất cả những gì bạn có là một bậc thầy phím và XOR.


Vì vậy, để trình bày lại và tóm tắt:

  1. Mặc dù có rất nhiều tài liệu dành cho người mới bắt đầu nói rằng "mật mã khối" là một thuật toán mã hóa một thông điệp có độ dài thay đổi từng khối một, nhưng đó không phải là định nghĩa kỹ thuật thực tế trong mật mã học.
  2. Ý tưởng của bạn về việc mã hóa một tin nhắn có độ dài thay đổi bằng cách chia nó thành các khối và XOR từng khối một cách độc lập với các khóa được tạo bằng "bộ mở rộng khóa", về bản chất, rất hợp lý và rất phổ biến.
  3. Tuy nhiên, bạn tìm hiểu về cách hoạt động của bộ mở rộng khóa và điều đó chính xác là nơi các kỹ thuật như mạng thay thế/hoán vị (hoặc các lựa chọn thay thế như mạng Feistel) phù hợp. Đó là một trong những điều làm cho AES phù hợp để sử dụng làm "bộ mở rộng khóa" của bạn cho ứng dụng này.
Abhisek Dash avatar
lá cờ ec
Cảm ơn bạn đã trả lời chi tiết của bạn. Tôi đoán tất cả những gì tôi đang hỏi là nếu các khóa được tạo bởi "bộ mở rộng khóa" của tôi không thể phân biệt được với ngẫu nhiên thì tôi có còn cần một mạng hoán vị thay thế trong mật mã khối của mình không? Hoặc mật mã khối của tôi có thể chỉ là các khối thông báo XOR với các khóa được tạo bởi bộ mở rộng khóa (hơi giống mật mã luồng) không? Tôi nghi ngờ rằng nếu tin nhắn của tôi cần được đệm thì cấu trúc này có thể làm rò rỉ các giá trị của khóa nhưng để đơn giản, giả sử rằng không cần phải đệm.Tôi nhận ra rằng mật mã rất phức tạp và sẽ có nhiều trường hợp góc khuất mà tôi phải tính đến.
Abhisek Dash avatar
lá cờ ec
Tôi đã nhận được lời giải thích của bạn bây giờ. Sẽ tiếp tục khám phá thêm.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.