Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Примитив псевдослучайной функции (PRF) позволяет создавать стабильные псевдослучайные выходные данные произвольной длины для данного входного сигнала.
Поскольку Tink работает с наборами ключей , этот примитив предоставляет соответствующий набор PRF вместо одного PRF. PRF индексируются 32-битным идентификатором ключа. Это можно использовать для поворота ключа, используемого для редактирования фрагмента информации, без потери предыдущей ассоциации.
ПРФ обладает следующими свойствами:
Детерминированный : вычисление PRF для данного входного сигнала всегда будет давать один и тот же результат.
Случайность : выходные данные PRF неотличимы от случайных байтов.
Выберите тип ключа
В большинстве случаев мы рекомендуем использовать HMAC_SHA256_PRF , но есть и другие варианты.
В целом справедливо следующее:
HMAC_SHA512_PRF может быть быстрее, а может и нет, в зависимости от размера входных данных и особенностей используемого вами оборудования.
HMAC_SHA512_PRF — наиболее консервативный режим, который можно использовать практически для неограниченного количества сообщений.
AES_CMAC_PRF работает быстрее всего в системах, поддерживающих аппаратное ускорение AES-NI .
Минимальные гарантии безопасности
Без знания ключа PRF неотличима от случайной функции.
Не менее 128-битная безопасность, в том числе в многопользовательских сценариях (когда злоумышленник нацелен не на конкретный ключ, а на любой ключ из набора до 2 32 ключей)
Доступно не менее 16 байт вывода
Примеры использования
Варианты использования PRF включают детерминированное редактирование личной информации (PII), хэш-функции с ключами и создание субидентификаторов, которые не позволяют присоединяться к исходному набору данных без знания ключа.
Хотя PRF можно использовать для подтверждения подлинности сообщения, для этого варианта использования рекомендуется использовать примитив MAC , поскольку он поддерживает проверку, позволяет избежать проблем безопасности, которые часто возникают во время проверки, и имеет автоматическую поддержку ротации ключей. Это также позволяет использовать недетерминированные алгоритмы.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 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,[]]