Crittografia asimmetrica: un sistema crittografico che utilizza chiavi accoppiate (pubblica e privata) per criptare e decriptare i dati. Le chiavi pubbliche vengono utilizzate per criptare i dati e possono essere condivise. Le chiavi private vengono utilizzate per decriptare i dati e sono note solo al proprietario.
Testo crittografato: il risultato della crittografia eseguita sul testo non crittografato utilizzando un algoritmo. Il testo cifrato non è comprensibile finché non viene riconvertito in testo non crittografato utilizzando una chiave.
Coerenza: significa che Tink si comporta "allo stesso modo" in tutti i linguaggi di programmazione. Ad esempio, Tink fornisce una valutazione coerente, il che significa che per un determinato keyset, se la creazione di primitive va a buon fine in due linguaggi, le primitive si comportano allo stesso modo.
Chiave: un'informazione (ad esempio una stringa) necessaria per criptare o decriptare i dati. Consulta la sezione Oggetti chiave per scoprire come vengono rappresentati.
Keyset e handle del keyset: Tink utilizza i keyset per gestire le chiavi. Un keyset è essenzialmente un insieme di chiavi che facilitano la rotazione delle chiavi. Le proprietà degne di nota di un keyset sono:
- Ogni chiave in un keyset ha un ID univoco, che è univoco all'interno di un keyset. Questo ID viene in genere aggiunto come prefisso a ogni testo cifrato, firma o tag prodotto per indicare quale chiave è stata utilizzata (per ulteriori informazioni, consulta la sezione su come Tink tagga i testi cifrati).
- In un keyset, solo una chiave alla volta è principale. Una chiave primaria in un keyset è la chiave "in uso" al momento.
- Tutte le chiavi di un keyset devono essere implementazioni della stessa primitiva (ad esempio AEAD), ma possono avere tipi di chiavi diversi (ad esempio una chiave AES-GCM e XCHACHA20-POLY1305).
Ogni implementazione di Tink fornisce API per creare o modificare i keyset. Tuttavia, ti consigliamo di utilizzare Tinkey, il nostro strumento CLI.
Gli utenti operano su un keyset utilizzando gli handle del keyset. Un handle del keyset limita
l'esposizione del materiale della chiave sensibile effettivo. Inoltre, astrae un keyset
consentendo agli utenti di ottenere una primitiva che "contiene" l'intero keyset. Ad esempio, puoi ottenere una primitiva AEAD di un keyset con N chiavi; la crittografia e la decrittografia con la primitiva ottenuta utilizzano quindi la chiave primaria nel keyset.
Sistema di gestione delle chiavi (KMS): un sistema utilizzato per gestire le chiavi di crittografia, inclusi la generazione, l'archiviazione, l'utilizzo, la rotazione, la distruzione e la sostituzione.
Tipo di chiave: Un tipo di chiave implementa una primitiva specifica. La maggior parte dei tipi primitivi ha diversi tipi di chiavi tra cui scegliere a seconda dei requisiti di sicurezza, runtime e spazio. Ad esempio, AES128_GCM è un AEAD veloce ed efficace per la maggior parte delle esigenze. Scopri di più in Tipi di tasti supportati per lingua.
Parametri: descrivono completamente le informazioni necessarie per creare una chiave, escludendo il materiale della chiave e l'ID chiave. Consulta la sezione Oggetti parametri per scoprire come vengono rappresentati.
Testo normale: la forma di input intelligibile di un testo criptato o dei suoi elementi.
Primitiva: Tink utilizza le primitive come blocchi di costruzione crittografici che gestiscono un algoritmo sottostante in modo che gli utenti possano eseguire attività crittografiche in modo sicuro. Un primitivo definisce i dettagli di un algoritmo crittografico e il tipo di chiave.
- Consulta Scegliere un elemento primitivo per una panoramica degli elementi primitivi supportati e dei relativi casi d'uso.
- Per informazioni sulla compatibilità, consulta la sezione Primitive supportate per lingua.
Registro: un'entità globale in Tink che sa come generare nuove chiavi e nuovi primitivi. Consulta anche le indicazioni per il debug degli errori di registrazione.
Crittografia simmetrica: un algoritmo crittografico che utilizza la stessa chiave per criptare il testo normale e decriptare il testo criptato.