Puncte:0

Implementarea corectă AES-256 pentru un singur bloc E_k fiind apoi utilizat pe AES-GCM

drapel in

Primul meu obiectiv este să implementez AES-GCM în PowerShell 5.1, deoarece nu există o implementare care să nu folosească biblioteci dll externe.

Conform schemei GCM de criptare: Criptare GCM

blocul E_k ar trebui să corespundă unui bloc de 128 de biți, iar intrarea este criptată de AES cu o cheie specifică K.

Dacă la început vreau să mă concentrez doar pe blocul E_k și vreau să implementez direct acolo algoritmul AES, este corect să spun că în acest caz nu se aplică nici un mod Block Cipher pentru că mă concentrez doar pe blocul în sine?

O altă îndoială: în cazul GCM, dacă fiecare E_k ia ca intrare 12 octeți IV + counter_value și fiecare bloc E_k are dimensiunea de 16 octeți (128 biți), IV-ul este umplut cu 0 (sau altă valoare predefinită) pentru următorii 4 octeți pentru a ajunge la 16 octeți de dimensiune? Deci pentru fiecare bloc avem, de exemplu, [BLOC 0] 7808B1A23DDC2F9D90A4BCED00000000; [BLOC 1] 7808B1A23DDC2F9D90A4BCED00000001; [BLOC 2] 7808B1A23DDC2F9D90A4BCED00000002; și așa mai departe?

Ar putea asta Răspuns se aplica si in cazul meu astfel:

  • AES „brut” ar putea fi aplicat folosind ECB pentru blocul unic E_k?
  • completarea textului simplu (în cazul nostru IV-ul de 12 octeți) până la 16 octeți cu 4 octeți de 0?

Sper ca informatia sa fie clara.

Mulțumesc

fgrieu avatar
drapel ng
Întrebarea este incomod prea aproape de o întrebare de programare, care este în afara [topic](https://crypto.stackexchange.com/help/on-topic). Acestea fiind spuse: doriți adevărata [spec de AES-GCM](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf#page=23). Da, AES brut corespunde modului ECB și poate fi folosit pentru a implementa casetele $E_k$ din întrebare. Cred că descrierea dvs. a IV-ului este una câte una, iar primul bloc se termină în 00000001h. Dar din nou, citiți specificațiile. Și nu accept să scriu criptografii serioase în PowerShell.
drapel in
@fgrieu Nu-ți face griji pentru partea de „programare”, pentru mine partea „teoretică” a fost importantă. Cu aceste informații pot trece singur la partea de programare. Pur și simplu nu înțeleg de ce descrierea mea a IV-ului este una câte una. Primul bloc nu se termină în 00000001h ci 00000000h. Trec la editarea întrebării și a corpului pentru a se concentra mai mult pe „teorie” și nu pe „programă”. Multumesc oricum
fgrieu avatar
drapel ng
Eu spun că IV-ul tău este dezactivat cu unul din cauza ecuației $J_0 = IV\mathbin\|0^{31}\mathbin\|1$ (când $IV$ este de 96 de biți, potrivindu-se cu cei 12 octeți ai întrebare) în specificațiile legate. Cel puțin sunt sigur că asta înseamnă că $J_0$ se termină în 00000001h.
drapel in
Scuze, din nou, în „primul bloc” pentru eticheta de autentificare contorul începe de la 1. Sunt orb. „Contorul 0” m-a derutat. Ai dreptate. Și mai citesc că „un IV setat la toți zero octeți poate scurge o parte din valoarea GHASH”. Iti multumesc din nou.
drapel us
`implementați AES-GCM în PowerShell 5.1 de când... ` când văd implementări personalizate, de obicei sunt îngrijorat de rezistența la atacurile pe canalele laterale. daca sunteti intr-adevar in cautarea unei solutii mai sigure, de ce sa nu sunati la e. g. Comanda OpenSSL?
drapel in
@gusto2 da, ai dreptate. În cazul meu, vreau să încerc mai puțin dependent de dep extern, dar în nevoia mea specială, în realitate, trebuie doar să decriptez luând ca intrare Date suplimentare de autentificare, IV, Date criptate și Etichetă de autentificare, așa că voi implementa doar pentru scop personal, exclusiv funcția de decriptare.Dar în acest scop trebuia să înțeleg mai bine acea îndoială pe care am explicat-o în procesul de criptare de mai sus.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.