Fonction pseudo-aléatoire (PRF, Pseudo-Random Function)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
La primitive de la fonction pseudo-aléatoire vous permet de produire des sorties pseudo-aléatoires, de longueur arbitraire et stable pour une entrée donnée.
Étant donné que Tink opère sur des keysets, cette primitive expose un ensemble correspondant de PRF au lieu d'un seul. Les PRF sont indexées par un ID de clé de 32 bits. Cela permet d'alterner la clé utilisée pour masquer une information, sans perdre l'association précédente.
Le PRF présente les propriétés suivantes:
Déterministe : le calcul d'un PRF pour une entrée donnée produit toujours le même résultat.
Aléatoire : il est impossible de distinguer la sortie d'un PRF des octets aléatoires.
Sélectionnez un type de clé
Nous vous recommandons d'utiliser HMAC_SHA256_PRF pour la plupart des utilisations, mais il existe également d'autres options.
En général, les affirmations suivantes s'appliquent:
HMAC_SHA512_PRF peut être plus rapide en fonction de la taille d'entrée et des spécificités du matériel que vous utilisez.
HMAC_SHA512_PRF est le mode le plus conservateur qui peut être utilisé pour un nombre pratiquement illimité de messages.
AES_CMAC_PRF est le plus rapide sur les systèmes compatibles avec l'accélération matérielle AES-NI.
Garanties de sécurité minimales
Sans connaître la clé, il est impossible de distinguer le PRF d'une fonction aléatoire
Une sécurité d'au moins 128 bits, également dans les scénarios multi-utilisateurs (lorsqu'un pirate informatique ne cible pas une clé spécifique, mais toute clé issue d'un ensemble de 232 clés maximum)
Au moins 16 octets de sortie disponibles
Exemples de cas d'utilisation
Les cas d'utilisation des PRF incluent le masquage déterministe des informations permettant d'identifier personnellement l'utilisateur, les fonctions de hachage à clé et la création de sous-ID qui ne permettent pas de joindre l'ensemble de données d'origine sans connaître la clé.
Bien que les PRF puissent être utilisés afin de prouver l'authenticité d'un message, l'utilisation de la primitive MAC est recommandée pour ce cas d'utilisation, car elle prend en charge la vérification, permet d'éviter les problèmes de sécurité qui surviennent souvent lors de la vérification et offre une prise en charge automatique de la rotation des clés. Elle autorise également l'utilisation d'algorithmes non déterministes.
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)."],[[["\u003cp\u003eTink's PRF primitive provides stable, pseudo-random outputs for given inputs, enabling deterministic redaction and keyed hashing functionalities.\u003c/p\u003e\n"],["\u003cp\u003ePRFs in Tink are indexed by key IDs within keysets, allowing for key rotation without association loss.\u003c/p\u003e\n"],["\u003cp\u003eWhile offering strong security, PRFs are deterministic and do not guarantee anonymity, only pseudonymity, requiring careful application in privacy-sensitive systems.\u003c/p\u003e\n"],["\u003cp\u003eTink supports various PRF key types, with HMAC_SHA256_PRF recommended for most use cases and AES_CMAC_PRF potentially offering the best performance on hardware with AES-NI acceleration.\u003c/p\u003e\n"],["\u003cp\u003ePRFs provide a minimum of 128-bit security, even in multi-user environments with large key sets, and can generate at least 16 bytes of output.\u003c/p\u003e\n"]]],["Pseudo-Random Function (PRF) produces stable, pseudo-random outputs for a given input, managed via keysets indexed by a 32-bit key ID for rotation. Key properties include deterministic output and randomness. `HMAC_SHA256_PRF` is recommended, with alternatives like `HMAC_SHA512_PRF` and `AES_CMAC_PRF`. PRF provides pseudonymity, not anonymity, and is secure with at least 128-bit security. Use cases include deterministic PII redaction and creating non-joinable sub-IDs. MAC is recommended for proving authenticity.\n"],null,[]]