Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS Encryption SDK riferimento agli algoritmi
Le informazioni presenti su questa pagina sono un riferimento per la creazione della tua libreria di crittografia, compatibile con AWS Encryption SDK. Se non stai creando la tua libreria di crittografia compatibile, allora è probabile che queste informazioni non ti serviranno. Per utilizzare il AWS Encryption SDK in uno dei linguaggi di programmazione supportati, vedereLinguaggi di programmazione. Per le specifiche che definiscono gli elementi di una corretta AWS Encryption SDK implementazione, si veda la AWS Encryption SDK Specificazione |
Se state creando una libreria personale in grado di leggere e scrivere testi cifrati compatibili con AWS Encryption SDK, dovrete capire come AWS Encryption SDK implementa le suite di algoritmi supportate per crittografare i dati grezzi.
AWS Encryption SDK Supporta le seguenti suite di algoritmi. Tutte le AES suite di GCM algoritmi hanno un vettore di inizializzazione a 12 byte e un tag di autenticazione a 16 AES byte. GCM La suite di algoritmi predefinita varia a seconda della AWS Encryption SDK versione e della politica di impegno chiave selezionata. Per i dettagli, consulta la politica di impegno e la suite di algoritmi.
ID algoritmo | Versione del formato dei messaggi | Algoritmo di crittografia | Lunghezza della chiave dati (bit) | Algoritmo di derivazione della chiave | Algoritmo di firma | Algoritmo di impegno chiave | Lunghezza dei dati della suite di algoritmi (byte) |
---|---|---|---|---|---|---|---|
05 78 |
0x02 | AES-GCM | 256 | HKDFcon -512 SHA | ECDSAcon P-384 e -384 SHA | HKDFSHAcon -512 | 32 (impegno chiave) |
04 78 |
0x02 | AES-GCM | 256 | HKDFcon -512 SHA | Nessuno | HKDFcon -512 SHA | 32 (impegno chiave) |
03 78 |
0x01 | AES-GCM | 256 | HKDFcon SHA -384 | ECDSAcon P-384 e -384 SHA | Nessuno | N/D |
03 46 |
0x01 | AES-GCM | 192 | HKDFcon SHA -384 | ECDSAcon P-384 e -384 SHA | Nessuno | N/D |
02 14 |
0x01 | AES-GCM | 128 | HKDFSHAcon -256 | ECDSAcon P-256 e -256 SHA | Nessuno | N/D |
01 78 |
0x01 | AES-GCM | 256 | HKDFcon -256 SHA | Nessuno | Nessuno | N/D |
01 46 |
0x01 | AES-GCM | 192 | HKDFcon SHA -256 | Nessuno | Nessuno | N/D |
01 14 |
0x01 | AES-GCM | 128 | HKDFcon SHA -256 | Nessuno | Nessuno | N/D |
00 78 |
0x01 | AES-GCM | 256 | Nessuno | Nessuna | Nessuno | N/D |
00 46 |
0x01 | AES-GCM | 192 | Nessuno | Nessuna | Nessuno | N/D |
00 14 |
0x01 | AES-GCM | 128 | Nessuno | Nessuna | Nessuno | N/D |
- ID algoritmo
-
Un valore esadecimale a 2 byte che identifica in modo univoco l'implementazione di un algoritmo. Questo valore viene memorizzato nell'intestazione del messaggio del testo cifrato.
- Versione del formato del messaggio
-
La versione del formato del messaggio. Le suite di algoritmi con impegno chiave utilizzano il formato dei messaggi versione 2 (0x02). Le suite di algoritmi senza impegno chiave utilizzano il formato dei messaggi versione 1 (0x01).
- Lunghezza dei dati della suite di algoritmi
-
La lunghezza in byte dei dati specifici della suite di algoritmi. Questo campo è supportato solo nella versione 2 del formato di messaggio (0x02). Nella versione 2 del formato di messaggio (0x02), questi dati vengono visualizzati nel
Algorithm suite data
campo dell'intestazione del messaggio. Le suite di algoritmi che supportano l'impegno delle chiavi utilizzano 32 byte per la stringa di impegno chiave. Per ulteriori informazioni, consulta Key commit algorithm in questo elenco. - Lunghezza chiave dati
-
La lunghezza della chiave dati in bit. AWS Encryption SDK Supporta chiavi a 256 bit, 192 bit e 128 bit. La chiave dati viene generata da un portachiavi o da una chiave master.
In alcune implementazioni, questa chiave dati viene utilizzata come input per una funzione di derivazione extract-and-expand chiave HMAC basata su chiavi (). HKDF L'output di HKDF viene utilizzato come chiave di crittografia dei dati nell'algoritmo di crittografia. Per ulteriori informazioni, vedere Algoritmo di derivazione delle chiavi in questo elenco.
- Algoritmo di crittografia
-
Il nome e la modalità dell'algoritmo di crittografia utilizzato. Le suite di algoritmi AWS Encryption SDK utilizzano l'algoritmo di crittografia Advanced Encryption Standard (AES) con Galois/Counter Mode (). GCM
- Algoritmo di impegno chiave
-
L'algoritmo utilizzato per calcolare la stringa di impegno chiave. L'output viene memorizzato nel
Algorithm suite data
campo dell'intestazione del messaggio e viene utilizzato per convalidare la chiave di dati per l'impegno chiave.Per una spiegazione tecnica dell'aggiunta dell'impegno chiave a una suite di algoritmi, vedi Key Committing AEADs in Cryptology Archive
. ePrint - Algoritmo di derivazione della chiave
-
La funzione di derivazione della extract-and-expand chiave HMAC basata (HKDF) utilizzata per derivare la chiave di crittografia dei dati. AWS Encryption SDK Utilizza quanto HKDF definito in RFC 5869.
Suite di algoritmi senza impegno chiave (ID dell'algoritmo
01xx
—)03xx
-
La funzione hash utilizzata è SHA -384 o SHA -256, a seconda della suite di algoritmi.
-
Per la fase di estrazione:
-
Non vengono utilizzati salt. Per ilRFC, il sale è impostato su una stringa di zeri. La lunghezza della stringa è uguale alla lunghezza dell'output della funzione hash, che è 48 byte per SHA -384 e 32 byte per -256. SHA
-
Il materiale di codifica di input è la chiave dati del portachiavi o del fornitore della chiave principale.
-
-
Per la fase di espansione:
-
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
Le informazioni di input sono una concatenazione dell'ID dell'algoritmo e dell'ID del messaggio (in quest'ordine).
-
La lunghezza del materiale di codifica di output è la lunghezza della chiave Data. Questo output viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
-
Suite di algoritmi con impegno chiave (ID dell'algoritmo
04xx
e05xx
)-
La funzione hash utilizzata è SHA -512.
-
Per la fase di estrazione:
-
Il sale è un valore casuale crittografico a 256 bit. Nella versione 2 del formato di messaggio (0x02), questo valore viene memorizzato nel campo.
MessageID
-
Il materiale di codifica iniziale è la chiave dati del portachiavi o del fornitore della chiave principale.
-
Per la fase di espansione:
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
L'etichetta della chiave è costituita dai byte UTF codificati a 8 della
DERIVEKEY
stringa nell'ordine dei byte big endian. -
Le informazioni di input sono una concatenazione dell'ID dell'algoritmo e dell'etichetta della chiave (in quest'ordine).
-
La lunghezza del materiale di codifica di output è la lunghezza della chiave Data. Questo output viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
-
- Versione del formato del messaggio
-
La versione del formato dei messaggi utilizzata con la suite di algoritmi. Per informazioni dettagliate, consultare Riferimenti a formati di messaggi.
- Algoritmo di firma
-
L'algoritmo di firma utilizzato per generare una firma digitale sull'intestazione e sul corpo del testo cifrato. AWS Encryption SDK Utilizza l'algoritmo di firma digitale a curva ellittica (ECDSA) con le seguenti specifiche:
-
La curva ellittica utilizzata è la curva P-384 o P-256, come specificato dall'ID dell'algoritmo. Queste curve sono definite in Digital Signature Standard (DSS) (186-4). FIPS PUB
-
La funzione hash utilizzata è SHA -384 (con la curva P-384) o SHA -256 (con la curva P-256).
-