Professor
Professional
- Messages
- 213
- Reaction score
- 22
- Points
- 18
И так, начнем
Тему эллиптической криптографии я частично затрагивал на лекции "Понимание криптографии и ее роли в защите конфиденциальности в интернете. Алгоритмы шифрования"
На данной лекции расмотрим её более подробно
Эллиптическая криптография стала ключевым направлением в сфере современных криптографических алгоритмов, предлагая надежную защиту и эффективность для различных задач.
К эллиптической криптографии относятся ассиметричные криптоалгоритмы, которые основаны на проблеме эффективного алгоритма решения задачи дискретного логарифмирования. Данную задачу рассматривают в группе точек эллиптической кривой над конечным полем.
Криптографические алгоритмы на эллиптических кривых в настоящее время применяются в криптовалютах, для электронной подписи, в TLS, SSH и PGP, эллиптическая кривая – кривая, точки которой описываются уравнениями 3й степени, например уравнением Вейерштрассе:
y^2 = x^3 +ax + b, где a и b являются вещественными числами
Областью определения данной функции является следующее:
4a^3 + 27b^2 не равны 0, это те точки, в которых математическая функция не определена, т.е. имеет разрыв или является недифференцируемой
В конечном поле точки, удовлетворяющие этому уравнению, образуют группу, называемую группой эллиптической кривой. Эта группа обладает уникальными свойствами, такими как замкнутость, ассоциативность и существование элемента тождества.
Вот пример эллиптических кривых:
Примеры неполноценных эллиптических кривых:
Слева — кривая с каспом.
Справа — кривая с самопересечением
У полноценной эллиптической кривой не должно быть точек возврата (каспов) и самопересечений
В рамках лекции мы будем рассматривать эллиптические кривые над конечными полями
Конечное поле – множество конечного числа элементов, так же называемое полем Галуа
Эллиптическая кривая обладает несколькими важными свойствами, которые делают ее пригодной для использования в криптографии:
Закрытость: Для любых двух точек (x1, y1) и (x2, y2) на кривой, сумма этих точек (обозначаемая как P + Q) также лежит на кривой. Операция сложения на эллиптических кривых определяется геометрически: нужно провести прямую через две точки и найти ее пересечение с кривой. Это свойство замкнутости позволяет построить групповую структуру на эллиптической кривой.
Элемент тождества: Существует особая точка на кривой, часто обозначаемая как O или ∞, которая служит элементом тождества в группе эллиптической кривой. Когда любая точка P на кривой добавляется к элементу тождества, результатом является сама P.
Обратные элементы: Для каждой точки P на кривой существует соответствующая точка -P, такая, что при сложении P и -P получается элемент тождества O. Это свойство гарантирует, что каждая точка на кривой имеет обратную точку.
Ассоциативность: Операция сложения на эллиптической кривой является ассоциативной, то есть для любых трех точек P, Q и R на кривой сумма (P + Q) + R равна P + (Q + R). Это свойство позволяет эффективно манипулировать точками на кривой.
Множество точек, удовлетворяющих уравнению эллиптической кривой, вместе с определенной операцией сложения образует абелеву (коммутативную) группу, обычно обозначаемую как E(F), где E представляет эллиптическую кривую, а F - конечное поле, над которым определена кривая.
В эллиптической криптографии важным параметром при определении эллиптической кривой является порядок кривой, обозначаемый как |E(F)|. Порядок представляет собой количество точек на кривой, включая элемент тождества. Безопасность криптографии на эллиптических кривых зависит от выбора кривых с большими простыми порядками, что обеспечивает достаточное количество возможных точек для криптографических операций.
Теперь рассмотрим задачу дискретного логарифмирования в эллиптических кривых над конечными полями, в таких алгоритмах, как DSA, Диффи-Хеллмана и схемы Эль-Гамаля так же криптостойкость достигается путем использования задачи дискретного логарифмирования, но в них используется возведение в степень по модулю, а в эллиптических кривых скалярное умножение
Проблема дискретного логарифма (DLP) - это фундаментальная математическая проблема, которая лежит в основе нескольких криптографических алгоритмов, включая те, которые используются в эллиптической криптографии. Она включает в себя поиск экспоненты или скаляра, которые при применении к заданному базовому элементу дают определенный результат в конечной группе. В контексте эллиптической криптографии проблема дискретного логарифма на эллиптических кривых известна как проблема дискретного логарифма эллиптической кривой (ECDLP).
Чтобы понять ECDLP, рассмотрим группу эллиптических кривых, определенную над конечным полем. Эта группа состоит из точек, которые удовлетворяют уравнению эллиптической кривой, и обладает уникальными математическими свойствами, такими как замкнутость, ассоциативность и элемент тождества. В эллиптической криптографии на эллиптической кривой выбирается точка-генератор (также известная как базовая точка), и скалярное умножение этой точки порождает все остальные точки на кривой.
Учитывая точку P на эллиптической кривой и целое скалярное число n, задача дискретного логарифмирования предполагает нахождение точки Q = nP. Т.е., требуется определить скаляр n, если известны базовая точка P и результирующая точка Q. Математически решение задачи дискретного логарифмирования означает нахождение значения n в уравнении Q = nP.
Безопасность эллиптической криптографии основана на вычислительной сложности задачи дискретного логарифмирования Сложность заключается в том, что не существует эффективного алгоритма, позволяющего решить задачу дискретного логарифмирования за адекватное время. Наиболее известные алгоритмы решения данной задачи, такие как алгоритм Полларда и метод индексного исчисления, имеют экспоненциальную временную сложность, что делает их невыполнимыми для больших эллиптических кривых.
Стойкость эллиптической криптографии основывается на предположении, что вычислить дискретный логарифм точки на эллиптической кривой невозможно. Именно это предположение лежит в основе безопасности протоколов обмена ключами на основе эллиптической кривой, таких как Elliptic Curve Diffie-Hellman (ECDH), и схем цифровой подписи, таких как Elliptic Curve Digital Signature Algorithm (ECDSA). Взлом ECDLP позволит злоумышленнику вычислить закрытые ключи из открытых ключей, что поставит под угрозу конфиденциальность и целостность зашифрованных данных и цифровых подписей.
Хотя ECDLP сложна с вычислительной точки зрения, это не означает, что ее невозможно решить. По мере развития вычислительной мощности и криптографического прогресса могут появиться новые алгоритмы, которые уменьшат вычислительную сложность решения ECDLP. Поэтому постоянные исследования и оценка параметров эллиптических кривых, а также прогресс в криптоанализе необходимы для обеспечения постоянной безопасности эллиптической криптографии.
Теперь рассмотрим алгоритмы шифрования, основанные на эллиптической криптографии
1. Elliptic Curve Diffie-Hellman (ECDH)
Протокол обмена ключами, который позволяет двум сторонам установить общий секретный ключ по незащищенному каналу.
2. Elliptic Curve Integrated Encryption Scheme (ECIES)
Гибридная схема шифрования, сочетающая асимметричное (с открытым ключом) и симметричное шифрование, обеспечивающая безопасную связь между отправителем и получателем.
3. Elliptic Curve ElGamal (ECElGamal)
Алгоритм шифрования на основе схемы шифрования Эль Гамаля, адаптированный для эллиптических кривых. Он обеспечивает конфиденциальность для безопасной связи.
4. Elliptic Curve Menezes-Qu-Vanstone (ECMQV)
Протокол согласования ключей на основе эллиптических кривых, который позволяет двум сторонам договориться об общем секретном ключе.
5. Elliptic Curve Nyberg-Rueppel (ECNR)
Схема цифровой подписи на основе эллиптических кривых, обеспечивающая целостность и подлинность данных.
6. Elliptic Curve Digital Signature Algorithm (ECDSA)
Широко используемый алгоритм цифровой подписи на основе эллиптических кривых. Он обеспечивает целостность данных, подлинность и неотказуемость.
7. Алгоритм цифровой подписи на основе кривых Эдвардса (Edwards-curve Digital Signature Algorithm, EdDSA)
Вариант алгоритма ECDSA, использующий кривые Эдвардса, известные своей эффективной и безопасной реализацией.
8. Elliptic Curve Qu-Vanstone (ECQV)
Схема аутентификации на основе сертификатов, использующая эллиптические кривые для проверки подлинности и целостности сертификатов.
9. Шифрование на основе идентификации и пар (IBE)
Тип схемы шифрования с открытым ключом на основе эллиптических кривых, которая использует идентификаторы пользователей в качестве открытых ключей.
10. Supersingular Isogeny Key Exchange (SIKE)
Постквантовый алгоритм обмена ключами, основанный на математических свойствах суперсингулярных эллиптических кривых.
Алгоритмы шифрования эллиптической кривой широко используются в современных протоколах, таких как SSH, PGP, TLS 1.3 (OpenVPN) и WireGuard. Давайте рассмотрим конкретные алгоритмы шифрования эллиптических кривых, используемые в каждом из этих протоколов:
SSH поддерживает криптографию эллиптической кривой для обмена ключами, аутентификации и шифрования. Алгоритмы эллиптических кривых, используемые в SSH, следующие:
ECDH используется для обмена ключами в SSH. Он позволяет клиенту и серверу установить общий секретный ключ по незащищенной сети. Использует кривую Ed25519
ECDSA используется для аутентификации сервера SSH с помощью цифровых подписей. Открытый ключ сервера используется для проверки подлинности сервера во время рукопожатия SSH. Использует кривую Ed25519
Конкретные эллиптические кривые, используемые в SSH, могут варьироваться в зависимости от реализации и конфигурации. Обычные эллиптические кривые включают кривые NIST, такие как P-256 (secp256r1) и P-384 (secp384r1).
PGP использует криптографию эллиптических кривых для различных криптографических операций, включая обмен ключами, шифрование и цифровые подписи. В PGP используются следующие алгоритмы эллиптической кривой:
PGP поддерживает ECDH для обмена ключами, обеспечивая безопасную связь между сторонами.
ECDSA используется для генерации и проверки цифровых подписей в PGP, обеспечивая целостность и подлинность данных.
Выбор эллиптических кривых в PGP может варьироваться в зависимости от программной реализации и конфигурации пользователя. Обычно используемые эллиптические кривые включают кривые из стандартных кривых NIST и кривую Curve25519.
TLS 1.3, последняя версия протокола TLS, широко использует криптографию эллиптических кривых. Алгоритмы эллиптических кривых, используемые в TLS 1.3, следующие:
ECDH - это основной механизм обмена ключами в TLS 1.3. Он позволяет клиенту и серверу установить общий секретный ключ с помощью эллиптических кривых.
ECDSA используется для аутентификации на основе сертификатов и цифровых подписей в TLS 1.3. Открытый ключ сервера, представленный в виде эллиптической кривой, используется для аутентификации и проверки целостности.
TLS 1.3 поддерживает ряд эллиптических кривых, включая кривые NIST (например, P-256, P-384) и Curve25519.
Если вы проверите в google, то увидите, что при подключении используются ECDHE и ECDSA с сертификатом, основанным на prime256v1 (она же secp256p1).
WireGuard - это современный протокол VPN, который использует криптографию эллиптической кривой для безопасной связи. В WireGuard используется алгоритм эллиптической кривой:
WireGuard использует исключительно Curve25519, эллиптическую кривую, разработанную Даниэлем Дж. Бернштейном. Curve25519 используется для обмена ключами, обеспечивая безопасное установление сеансов между пользователями.
Curve25519 была выбрана в WireGuard за ее высокую стойкость, производительность и устойчивость к атакам по сторонним каналам.
Так же, эллиптическая криптография используется в криптовалютах, но это выходит за рамки данной лекции, т.к. здесь разговор идет о кибербезопасности
Curve25519 и Ed25519 — это две специальные эллиптические кривые, созданные для ECDH и варианта ECDSA соответственно. Как и кривые Эдвардса, эти две кривые быстры и помогают защищаться от атак по сторонним каналам.
Давайте сравним длины ключей для RSA и ECC, имеющие одинаковую криптостойкость
Как видим, ECC требует гораздо меньший размер ключа, а соответственно и работать будет быстрее при одинаковой степени защиты,
У эллиптической криптографии есть и сомнительная сторона – вшитая уязвимость от спецслужб США
Практически все используемые кривые стандартизированы NIST (National Institute of Standards and Technology), неизвестно, откуда берутся случайные значения для генерации кривых, стандартизированных NIST, есть вероятность, что данные значения генерируются заведомо уязвимым генератором случайных чисел, так же стандартизированным NIST, но это лишь догадки, как дело обстоит на самом деле, знают лишь работники самого NIST и спецслужбы США.
Тему эллиптической криптографии я частично затрагивал на лекции "Понимание криптографии и ее роли в защите конфиденциальности в интернете. Алгоритмы шифрования"
На данной лекции расмотрим её более подробно
Эллиптическая криптография стала ключевым направлением в сфере современных криптографических алгоритмов, предлагая надежную защиту и эффективность для различных задач.
К эллиптической криптографии относятся ассиметричные криптоалгоритмы, которые основаны на проблеме эффективного алгоритма решения задачи дискретного логарифмирования. Данную задачу рассматривают в группе точек эллиптической кривой над конечным полем.
Криптографические алгоритмы на эллиптических кривых в настоящее время применяются в криптовалютах, для электронной подписи, в TLS, SSH и PGP, эллиптическая кривая – кривая, точки которой описываются уравнениями 3й степени, например уравнением Вейерштрассе:
y^2 = x^3 +ax + b, где a и b являются вещественными числами
Областью определения данной функции является следующее:
4a^3 + 27b^2 не равны 0, это те точки, в которых математическая функция не определена, т.е. имеет разрыв или является недифференцируемой
В конечном поле точки, удовлетворяющие этому уравнению, образуют группу, называемую группой эллиптической кривой. Эта группа обладает уникальными свойствами, такими как замкнутость, ассоциативность и существование элемента тождества.
Вот пример эллиптических кривых:
Примеры неполноценных эллиптических кривых:
Слева — кривая с каспом.
Справа — кривая с самопересечением
У полноценной эллиптической кривой не должно быть точек возврата (каспов) и самопересечений
В рамках лекции мы будем рассматривать эллиптические кривые над конечными полями
Конечное поле – множество конечного числа элементов, так же называемое полем Галуа
Эллиптическая кривая обладает несколькими важными свойствами, которые делают ее пригодной для использования в криптографии:
Закрытость: Для любых двух точек (x1, y1) и (x2, y2) на кривой, сумма этих точек (обозначаемая как P + Q) также лежит на кривой. Операция сложения на эллиптических кривых определяется геометрически: нужно провести прямую через две точки и найти ее пересечение с кривой. Это свойство замкнутости позволяет построить групповую структуру на эллиптической кривой.
Элемент тождества: Существует особая точка на кривой, часто обозначаемая как O или ∞, которая служит элементом тождества в группе эллиптической кривой. Когда любая точка P на кривой добавляется к элементу тождества, результатом является сама P.
Обратные элементы: Для каждой точки P на кривой существует соответствующая точка -P, такая, что при сложении P и -P получается элемент тождества O. Это свойство гарантирует, что каждая точка на кривой имеет обратную точку.
Ассоциативность: Операция сложения на эллиптической кривой является ассоциативной, то есть для любых трех точек P, Q и R на кривой сумма (P + Q) + R равна P + (Q + R). Это свойство позволяет эффективно манипулировать точками на кривой.
Множество точек, удовлетворяющих уравнению эллиптической кривой, вместе с определенной операцией сложения образует абелеву (коммутативную) группу, обычно обозначаемую как E(F), где E представляет эллиптическую кривую, а F - конечное поле, над которым определена кривая.
В эллиптической криптографии важным параметром при определении эллиптической кривой является порядок кривой, обозначаемый как |E(F)|. Порядок представляет собой количество точек на кривой, включая элемент тождества. Безопасность криптографии на эллиптических кривых зависит от выбора кривых с большими простыми порядками, что обеспечивает достаточное количество возможных точек для криптографических операций.
Теперь рассмотрим задачу дискретного логарифмирования в эллиптических кривых над конечными полями, в таких алгоритмах, как DSA, Диффи-Хеллмана и схемы Эль-Гамаля так же криптостойкость достигается путем использования задачи дискретного логарифмирования, но в них используется возведение в степень по модулю, а в эллиптических кривых скалярное умножение
Проблема дискретного логарифма (DLP) - это фундаментальная математическая проблема, которая лежит в основе нескольких криптографических алгоритмов, включая те, которые используются в эллиптической криптографии. Она включает в себя поиск экспоненты или скаляра, которые при применении к заданному базовому элементу дают определенный результат в конечной группе. В контексте эллиптической криптографии проблема дискретного логарифма на эллиптических кривых известна как проблема дискретного логарифма эллиптической кривой (ECDLP).
Чтобы понять ECDLP, рассмотрим группу эллиптических кривых, определенную над конечным полем. Эта группа состоит из точек, которые удовлетворяют уравнению эллиптической кривой, и обладает уникальными математическими свойствами, такими как замкнутость, ассоциативность и элемент тождества. В эллиптической криптографии на эллиптической кривой выбирается точка-генератор (также известная как базовая точка), и скалярное умножение этой точки порождает все остальные точки на кривой.
Учитывая точку P на эллиптической кривой и целое скалярное число n, задача дискретного логарифмирования предполагает нахождение точки Q = nP. Т.е., требуется определить скаляр n, если известны базовая точка P и результирующая точка Q. Математически решение задачи дискретного логарифмирования означает нахождение значения n в уравнении Q = nP.
Безопасность эллиптической криптографии основана на вычислительной сложности задачи дискретного логарифмирования Сложность заключается в том, что не существует эффективного алгоритма, позволяющего решить задачу дискретного логарифмирования за адекватное время. Наиболее известные алгоритмы решения данной задачи, такие как алгоритм Полларда и метод индексного исчисления, имеют экспоненциальную временную сложность, что делает их невыполнимыми для больших эллиптических кривых.
Стойкость эллиптической криптографии основывается на предположении, что вычислить дискретный логарифм точки на эллиптической кривой невозможно. Именно это предположение лежит в основе безопасности протоколов обмена ключами на основе эллиптической кривой, таких как Elliptic Curve Diffie-Hellman (ECDH), и схем цифровой подписи, таких как Elliptic Curve Digital Signature Algorithm (ECDSA). Взлом ECDLP позволит злоумышленнику вычислить закрытые ключи из открытых ключей, что поставит под угрозу конфиденциальность и целостность зашифрованных данных и цифровых подписей.
Хотя ECDLP сложна с вычислительной точки зрения, это не означает, что ее невозможно решить. По мере развития вычислительной мощности и криптографического прогресса могут появиться новые алгоритмы, которые уменьшат вычислительную сложность решения ECDLP. Поэтому постоянные исследования и оценка параметров эллиптических кривых, а также прогресс в криптоанализе необходимы для обеспечения постоянной безопасности эллиптической криптографии.
Теперь рассмотрим алгоритмы шифрования, основанные на эллиптической криптографии
1. Elliptic Curve Diffie-Hellman (ECDH)
Протокол обмена ключами, который позволяет двум сторонам установить общий секретный ключ по незащищенному каналу.
2. Elliptic Curve Integrated Encryption Scheme (ECIES)
Гибридная схема шифрования, сочетающая асимметричное (с открытым ключом) и симметричное шифрование, обеспечивающая безопасную связь между отправителем и получателем.
3. Elliptic Curve ElGamal (ECElGamal)
Алгоритм шифрования на основе схемы шифрования Эль Гамаля, адаптированный для эллиптических кривых. Он обеспечивает конфиденциальность для безопасной связи.
4. Elliptic Curve Menezes-Qu-Vanstone (ECMQV)
Протокол согласования ключей на основе эллиптических кривых, который позволяет двум сторонам договориться об общем секретном ключе.
5. Elliptic Curve Nyberg-Rueppel (ECNR)
Схема цифровой подписи на основе эллиптических кривых, обеспечивающая целостность и подлинность данных.
6. Elliptic Curve Digital Signature Algorithm (ECDSA)
Широко используемый алгоритм цифровой подписи на основе эллиптических кривых. Он обеспечивает целостность данных, подлинность и неотказуемость.
7. Алгоритм цифровой подписи на основе кривых Эдвардса (Edwards-curve Digital Signature Algorithm, EdDSA)
Вариант алгоритма ECDSA, использующий кривые Эдвардса, известные своей эффективной и безопасной реализацией.
8. Elliptic Curve Qu-Vanstone (ECQV)
Схема аутентификации на основе сертификатов, использующая эллиптические кривые для проверки подлинности и целостности сертификатов.
9. Шифрование на основе идентификации и пар (IBE)
Тип схемы шифрования с открытым ключом на основе эллиптических кривых, которая использует идентификаторы пользователей в качестве открытых ключей.
10. Supersingular Isogeny Key Exchange (SIKE)
Постквантовый алгоритм обмена ключами, основанный на математических свойствах суперсингулярных эллиптических кривых.
Алгоритмы шифрования эллиптической кривой широко используются в современных протоколах, таких как SSH, PGP, TLS 1.3 (OpenVPN) и WireGuard. Давайте рассмотрим конкретные алгоритмы шифрования эллиптических кривых, используемые в каждом из этих протоколов:
SSH поддерживает криптографию эллиптической кривой для обмена ключами, аутентификации и шифрования. Алгоритмы эллиптических кривых, используемые в SSH, следующие:
ECDH используется для обмена ключами в SSH. Он позволяет клиенту и серверу установить общий секретный ключ по незащищенной сети. Использует кривую Ed25519
ECDSA используется для аутентификации сервера SSH с помощью цифровых подписей. Открытый ключ сервера используется для проверки подлинности сервера во время рукопожатия SSH. Использует кривую Ed25519
Конкретные эллиптические кривые, используемые в SSH, могут варьироваться в зависимости от реализации и конфигурации. Обычные эллиптические кривые включают кривые NIST, такие как P-256 (secp256r1) и P-384 (secp384r1).
PGP использует криптографию эллиптических кривых для различных криптографических операций, включая обмен ключами, шифрование и цифровые подписи. В PGP используются следующие алгоритмы эллиптической кривой:
PGP поддерживает ECDH для обмена ключами, обеспечивая безопасную связь между сторонами.
ECDSA используется для генерации и проверки цифровых подписей в PGP, обеспечивая целостность и подлинность данных.
Выбор эллиптических кривых в PGP может варьироваться в зависимости от программной реализации и конфигурации пользователя. Обычно используемые эллиптические кривые включают кривые из стандартных кривых NIST и кривую Curve25519.
TLS 1.3, последняя версия протокола TLS, широко использует криптографию эллиптических кривых. Алгоритмы эллиптических кривых, используемые в TLS 1.3, следующие:
ECDH - это основной механизм обмена ключами в TLS 1.3. Он позволяет клиенту и серверу установить общий секретный ключ с помощью эллиптических кривых.
ECDSA используется для аутентификации на основе сертификатов и цифровых подписей в TLS 1.3. Открытый ключ сервера, представленный в виде эллиптической кривой, используется для аутентификации и проверки целостности.
TLS 1.3 поддерживает ряд эллиптических кривых, включая кривые NIST (например, P-256, P-384) и Curve25519.
Если вы проверите в google, то увидите, что при подключении используются ECDHE и ECDSA с сертификатом, основанным на prime256v1 (она же secp256p1).
WireGuard - это современный протокол VPN, который использует криптографию эллиптической кривой для безопасной связи. В WireGuard используется алгоритм эллиптической кривой:
WireGuard использует исключительно Curve25519, эллиптическую кривую, разработанную Даниэлем Дж. Бернштейном. Curve25519 используется для обмена ключами, обеспечивая безопасное установление сеансов между пользователями.
Curve25519 была выбрана в WireGuard за ее высокую стойкость, производительность и устойчивость к атакам по сторонним каналам.
Так же, эллиптическая криптография используется в криптовалютах, но это выходит за рамки данной лекции, т.к. здесь разговор идет о кибербезопасности
Curve25519 и Ed25519 — это две специальные эллиптические кривые, созданные для ECDH и варианта ECDSA соответственно. Как и кривые Эдвардса, эти две кривые быстры и помогают защищаться от атак по сторонним каналам.
Давайте сравним длины ключей для RSA и ECC, имеющие одинаковую криптостойкость
Размер ключа RSA (в битах) | Размер ключа ECC (в битах) |
1024 | 160 |
2048 | 224 |
3072 | 256 |
7680 | 384 |
15360 | 521 |
Как видим, ECC требует гораздо меньший размер ключа, а соответственно и работать будет быстрее при одинаковой степени защиты,
У эллиптической криптографии есть и сомнительная сторона – вшитая уязвимость от спецслужб США
Практически все используемые кривые стандартизированы NIST (National Institute of Standards and Technology), неизвестно, откуда берутся случайные значения для генерации кривых, стандартизированных NIST, есть вероятность, что данные значения генерируются заведомо уязвимым генератором случайных чисел, так же стандартизированным NIST, но это лишь догадки, как дело обстоит на самом деле, знают лишь работники самого NIST и спецслужбы США.