Điểm:8

AES thực sự hoạt động trên lĩnh vực Galois nào?

lá cờ tf
Tom

Tôi đang cố gắng hiểu lý thuyết về GF, nhưng mỗi khi tôi bắt gặp thông tin về AES thì tất cả đều vô nghĩa.

theo ý kiến ​​của tôi $GF(2^8)$ định nghĩa bất kỳ đa thức nào có dạng:

$a_{7} x^7 + a_{6} x^6 + a_{5} x^5 + a_{4} x^4 + a_{3} x^3 + a_{2} x^2 + a_ {1} x^1 + a_{0}$

Ở đâu $a_{i}$ có thể là 0 hoặc 1. Và ở mọi nơi tôi bắt gặp thông tin rằng AES chỉ hoạt động trong $GF(2^8)$. Nhưng trong AES $a_{i}$ là byte, phải không? Cho nên $a_{i}$ có thể là mọi số từ 0 đến 7. Và điều này có nghĩa là chúng ta có ở đây $GF(8^8)$. Và nó không có gì để làm với $GF(2^8)$.

Hoặc là tôi vẫn không hiểu GF hoặc tất cả họ đang thực hiện một số kiểu đơn giản hóa khác xa với sự thật, điều đó không nên được thực hiện. Vậy trường Galois mà AES thực sự sử dụng là gì?

Điểm:11
lá cờ ng

Không, trong AES, $a_i$ không phải là byte. Chúng là bit. 8 bit $a_i$ cùng nhau tạo thành một byte và được coi là một phần tử duy nhất của Trường Galois ${\operatorname{GF}\left(2^8\right)}$, cũng lưu ý $\mathbb F_{2^8}$.

Giá trị của byte đó có thể được tính bằng cách đánh giá đa thức cho số nguyên $x=2$, với phép cộng và phép nhân thông thường. Theo hướng ngược lại, các bit $a_i$ là biểu diễn nhị phân của giá trị nguyên của byte, trên 8 chữ số nhị phân, với $a_0$ bit ít quan trọng nhất.

Có 16 byte trong một bản rõ AES, bản mã hoặc khóa tròn. Chúng có thể được xem như là các phần tử của tập hợp ${\left({\operatorname{GF}\left(2^8\right)}^{4}\right)}^{4}$. Điều này giải thích cho việc tổ chức 16 byte dưới dạng ma trận 4Ã4 gồm các phần tử của ${\operatorname{GF}\left(2^8\right)}$. Đặc biệt, tập hợp này là một nhóm theo sự mở rộng của luật bổ sung của lĩnh vực ${\operatorname{GF}\left(2^8\right)}$, mà khi áp dụng cho byte là eXclusive-OR theo bitwise. Điều đó được sử dụng trong AddRoundKey.Có thể thể hiện ShiftRows, SubBytes và thậm chí cả MixColumns trong khuôn khổ này.

Đối với MixColumns, có một chế độ xem khả thi khác, trong đó các cột của ma trận 4Ã4 đã nói là 4 hệ số trong ${\operatorname{GF}\left(2^8\right)}$ của một đa thức bậc nhỏ hơn 4. Những đa thức như vậy có thể được nhân với rút gọn modulo một đa thức rút gọn bậc 4. Tôi không quen thuộc với điều đó, đó là cốt lõi của điều này câu trả lời khác, và cái này bình luận. Bài đọc của tôi là chế độ xem này mang lại sự giảm thiểu tao nhã cho một vectơ có 4 phần tử là ${\operatorname{GF}\left(2^8\right)}$ của ma trận 4Ã4 thông thường trong MixColumns và đơn giản hóa việc tạo ra ma trận nghịch đảo cần thiết để giải mã, nhưng không cho phép tính toán lối tắt trong mã hóa hoặc giải mã.

Ruggero avatar
lá cờ kr
Mixcolumns nhúng một cột của trạng thái dưới dạng đa thức trong $GF(2^8)[X]$ và thực hiện phép nhân với $'03'X^3+'01'X^2+'01'X+'02'$ modulo $X^4+1$. Ký hiệu 'xx' là mã hóa hex của phần tử $GF(2^8)$. Vì $X^4+1$ không phải là bất khả quy nên đó không phải là một trường. Tuy nhiên, nó nguyên tố cùng với $'03'X^3+'01'X^2+'01'X+'02'$ nên Mixcolumns là không thể đảo ngược.
Điểm:4
lá cờ sa

Bạn có thể thấy chế độ xem đại số của AES tại trong một tài liệu do H. W. Lenstra viết.

Ngoài ra còn có chi tiết hơn Thiết kế của Rijndael tài liệu của các nhà thiết kế tại Daemen's trang chủ. Cụ thể ở trang 16 có:

cái này

Có thể đây là điều khiến bạn bối rối, vì nhiều byte được xem là đa thức trên $GF(2^8)$ cho phần biểu diễn này.

lá cờ ar
đây là một quan điểm tốt. Đặc biệt, nếu bạn coi các phần tử của ${\rm GF}(2^8)$ là các đa thức trên ${\rm GF}(2)$, như nhiều người vẫn thích, thì AES sử dụng các đa thức có hệ số là _chính nó_ đa thức(!).
lá cờ ar
(FWIW, [theo ý kiến ​​của tôi](https://crypto.stackexchange.com/a/2718), đồng thời biểu diễn các phần tử ${\rm GF}(p^n)$ dưới dạng đa thức trên ${\rm GF}( p)$ rất hữu ích để xác định quy tắc cộng và nhân cho các trường đó, sau khi các quy tắc đó được xác định thì biểu diễn _alternative_ tốt nhất nên được đặt sang một bên và các phần tử được xem giống như các số trong một loại hệ thống số học buồn cười, vì đó thực sự là những gì chúng là .)
fgrieu avatar
lá cờ ng
Đã dành phần tốt nhất của một ngày, nhưng ít nhất bây giờ tôi hiểu câu trả lời này đang nói về điều gì, nếu không chính xác là điều đó đơn giản hóa mọi thứ ở đâu.

Đă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.