Điểm:0

Triển khai đúng AES-256 cho một khối E_k sau đó được sử dụng trên AES-GCM

lá cờ in

Mục tiêu đầu tiên của tôi là triển khai AES-GCM trong PowerShell 5.1 vì không có triển khai nào không sử dụng thư viện dll bên ngoài.

Theo lược đồ mã hóa GCM: Mã hóa GCM

khối E_k phải tương ứng với khối 128 bit và đầu vào được mã hóa bởi AES bằng một khóa K cụ thể.

Nếu lúc đầu tôi chỉ muốn tập trung vào khối E_k và tôi muốn triển khai trực tiếp thuật toán AES ở đó, thì có đúng không khi nói rằng trong trường hợp đó không có chế độ Mật mã khối nào được áp dụng vì tôi chỉ tập trung vào chính khối đó?

Một nghi ngờ khác: trong trường hợp của GCM, nếu mỗi E_k lấy đầu vào là 12 byte IV + giá trị_bộ đếm và mỗi khối E_k có kích thước 16 byte (128 bit), thì IV được đệm bằng 0 (hoặc một giá trị được xác định trước khác) cho 4 khối tiếp theo byte để đạt kích thước 16 byte? Vì vậy, đối với mỗi khối, chúng tôi có, ví dụ: [BLOCK 0] 7808B1A23DDC2F9D90A4BCED00000000; [KHỐI 1] 7808B1A23DDC2F9D90A4BCED00000001; [KHỐI 2] 7808B1A23DDC2F9D90A4BCED00000002; và như thế?

điều này có thể câu trả lời cũng được áp dụng trong trường hợp của tôi vì vậy:

  • AES "thô" có thể được áp dụng bằng cách sử dụng ECB cho khối E_k đơn lẻ không?
  • đệm văn bản gốc (trong trường hợp của chúng tôi là IV 12 byte) lên đến 16 byte với 4 byte 0?

Tôi hy vọng thông tin là rõ ràng.

Cảm ơn bạn

fgrieu avatar
lá cờ ng
Một cách khó chịu, câu hỏi này quá gần với câu hỏi lập trình, điều này nằm ngoài [chủ đề](https://crypto.stackexchange.com/help/on-topic). Điều đó nói rằng: bạn muốn [thông số kỹ thuật của AES-GCM](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf#page=23) thực sự. Có AES thô tương ứng với chế độ ECB và có thể được sử dụng để triển khai các hộp $E_k$ trong câu hỏi. Tôi nghĩ rằng mô tả của bạn về IV không giống nhau và khối đầu tiên kết thúc bằng 00000001h. Nhưng một lần nữa, hãy đọc thông số kỹ thuật. Và tôi không tha thứ cho việc viết tiền điện tử nghiêm túc trong PowerShell.
lá cờ in
@fgrieu Đừng lo lắng về phần "lập trình", đối với tôi, phần "lý thuyết" rất quan trọng. Với thông tin này, tôi có thể tự mình tiến hành phần lập trình. Tôi chỉ không hiểu tại sao mô tả của tôi về IV lại không giống nhau. Khối đầu tiên không kết thúc bằng 00000001h mà là 00000000h. Tôi tiến hành chỉnh sửa câu hỏi và phần thân để tập trung hơn vào "lý thuyết" chứ không phải "lập trình". Dù sao cũng cảm ơn bạn
fgrieu avatar
lá cờ ng
Tôi nói rằng IV của bạn không giống nhau vì phương trình $J_0 = IV\mathbin\|0^{31}\mathbin\|1$ (khi $IV$ là 96 bit, khớp với 12 byte của question) trong thông số kỹ thuật được liên kết. Ít nhất tôi khẳng định điều này có nghĩa là $J_0$ kết thúc sau 00000001h.
lá cờ in
Xin lỗi, một lần nữa, trong "khối đầu tiên" cho thẻ xác thực, bộ đếm bắt đầu từ 1. Tôi mù quáng. "Bộ đếm 0" làm tôi bối rối. Bạn đúng. Và tôi cũng đang đọc rằng "một IV được đặt thành tất cả các byte bằng 0 có thể làm rò rỉ một phần giá trị GHASH". Cám ơn bạn một lần nữa.
lá cờ us
`triển khai AES-GCM trong PowerShell 5.1 kể từ.. ` Khi tôi thấy các triển khai tùy chỉnh, tôi thường lo ngại về khả năng chống lại các cuộc tấn công kênh bên. nếu bạn đang thực sự tìm kiếm một giải pháp an toàn hơn, tại sao không gọi cho e. g. Lệnh OpenSSL?
lá cờ in
@ gusto2 vâng, bạn nói đúng. Trong trường hợp của tôi, tôi muốn thử ít phụ thuộc hơn vào dep bên ngoài, nhưng trong thực tế, theo nhu cầu cụ thể của tôi, tôi chỉ cần giải mã bằng cách lấy Dữ liệu xác thực bổ sung, IV, Dữ liệu được mã hóa và Thẻ xác thực làm đầu vào, vì vậy tôi sẽ thực hiện chỉ dành cho mục đích cá nhân, dành riêng cho chức năng giải mã.Nhưng với mục đích này, tôi cần hiểu rõ hơn về nghi ngờ mà tôi đã giải thích trong quy trình mã hóa ở trên.

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