Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Dans de nombreuses bibliothèques cryptographiques, les clés ne sont souvent identifiées que par certaines séquences d'octets. Prenons l'exemple des fonctions OpenSSL telles que EVP_EncryptInit_ex, qui, en plus des octets de clé, a également besoin de l'IV pour le calcul ; ou la méthode javax.crypto Cipher.init, qui accepte à la fois une séquence de clés et un AlgorithmParameterSpec. Ces fonctions sont souvent difficiles à utiliser correctement, et transmettre les mauvais paramètres peut avoir de graves conséquences.
Tink vise à être différent et s'attend à ce qu'une clé soit toujours composée à la fois du matériel de clé et des métadonnées (les paramètres).
Par exemple, une clé AEAD complète spécifie précisément le fonctionnement du chiffrement et du déchiffrement. Elle spécifie les deux fonctions \(\mathrm{Enc}\) et\(\mathrm{Dec}\), ainsi que la façon dont le texte chiffré est encodé (par exemple, vecteur d'initialisation, suivi du chiffrement, suivi de la balise).
Une clé AES dans Tink n'est pas seulement une séquence d'octets de 128, 192 ou 256 bits, mais elle stocke également les spécifications de l'algorithme correspondant nécessaires pour calculer la clé, sous la forme d'un objet parameters. Par conséquent, une clé AES-EAX complète et une clé AES-GCM complète sont des objets différents dans Tink.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/25 (UTC)."],[],["Tink's **Key** includes both key material and metadata, defining its functionality. Unlike other libraries that only use byte sequences, Tink requires complete parameter specifications. A full AEAD key defines encryption and decryption processes, along with ciphertext encoding. AES keys in Tink include algorithm specifications, making different AES types distinct objects. Keys in Tink exist as parts of a set of keys called a Keyset, allowing key rotation.\n"]]