Cifratura AES

Cifra o decifra con AES. Un'impronta a senso unico è il generatore di hash

Che cosa cifra questa pagina

AES è un cifrario a blocchi. Questa pagina lo esegue nel browser in ECB, CBC, CTR, OFB, CFB o GCM, con una chiave di 16, 24 o 32 byte. Un'impronta a senso unico sta nel generatore di hash.

Come si usa

  1. Incolla l'ingresso. La modalità parte da CBC, il riempimento da pkcs7padding e il set di caratteri da UTF-8.
  2. Il formato di chiave e IV parte da Testo. L'ingresso parte da Testo e l'uscita da hex. ECB nasconde l'IV. GCM mostra la lunghezza del tag e AAD, e forza nopadding.
  3. Cifra cifra. Decifra decifra. Mostra esempio compila hello, CBC, pkcs7padding, UTF-8, chiave 1234567890abcdef, IV 1234567890abcdef e l'hex 7e6347a62a0a976373e79b1bd586363d.
  4. Scambia copia il risultato nell'ingresso e imposta il formato di ingresso sul formato appena prodotto. Imposta il formato di uscita su Testo e premi Decifra. La stessa chiave e lo stesso IV restituiscono hello.
  5. Cancella tutto svuota i campi e ripristina CBC, pkcs7padding, UTF-8, i formati testo e l'uscita hex. Copia risultato copia l'uscita.

Chiave, IV, riempimento e tag

Il testo diventa byte con il set di caratteri. hex e Base64 sono già byte, quindi il set non si applica. La chiave deve poi essere di 16, 24 o 32 byte: AES-128, AES-192 o AES-256. 1234567890abcdef in UTF-8 sono 16 byte.

CBC, CFB, OFB e CTR vogliono un IV di 16 byte. ECB non usa l'IV. GCM accetta qualsiasi IV non vuoto; 12 byte è la lunghezza abituale. pkcs5padding e pkcs7padding qui coincidono: aggiungono da 1 a 16 byte per un multiplo di 16. nopadding non tocca i byte, quindi ECB e CBC esigono già quel multiplo. GCM consente solo nopadding.

Il tag GCM è accodato al testo cifrato. La lunghezza iniziale è 128 bit. AAD viene verificato e non è cifrato. Decifra rifiuta un ingresso di testo, e Cifra rifiuta un'uscita di testo. Chiave, IV, tag o riempimento sbagliati falliscono.

Dove si usa

  • Confrontare un testo CBC con un altro strumento AES.
  • Leggere un GCM il cui tag sta in fondo all'hex.
  • Passare la chiave da testo a hex o Base64.

Domande

Perché pkcs5 e pkcs7 qui sono uguali?

I blocchi AES sono di 16 byte. Entrambi i riempimenti completano l'ultimo blocco con lo stesso byte di conto.

Lo stesso testo dà sempre lo stesso hex?

Sì, se modalità, riempimento, chiave e IV non cambiano. Mostra esempio dà 7e6347a62a0a976373e79b1bd586363d.