Криптография¶
Платформа Waves Enterprise предоставляет возможность выбора используемой криптографии в зависимости от особенностей реализуемого проекта и юрисдикции заказчика.
Хеширование¶
Операции хеширования в платформе выполняются функциями Blake2b256 и Keccak256 последовательно, либо функцией «Стрибог» в соответствии с ГОСТ Р 34.11-2012 «Информационная технология. Криптографическая защита информации. Функция хеширования». Размер блока выходных данных 256 бит.
Электронная подпись¶
Алгоритмы генерации ключей, формирования и проверки электронной подписи реализованы на базе эллиптической кривой Curve25519 (ED25519 с ключами X25519), либо в соответствии с ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
Шифрование данных¶
В платформе реализована возможность шифрования данных при помощи сессионных ключей на базе протокола Диффи-Хелмана. Операция применяется для шифрования любого вида текстовой информации, например, данных смарт-контрактов, которые не должны быть доступны для других участников блокчейна. Шифрование может выполняться как индивидуально для каждого получателя, с формированием уникального экземпляра шифротекста, так и с формированием единого шифротекста для группы получателей.
Используемые алгоритмы для симметричного шифрования соответствуют стандарту AES, либо ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры».
Для операций шифрования/расшифрования данных применяются симметричные ключи CEK и KEK. CEK (Content Encryption Key) используется для шифрования текстовых данных, KEK (Key Encryption Key) используется для шифрования CEK. Ключ CEK формируется блокчейн-узлом случайным образом с применением соответствующих алгоритмов хеширования. Ключ KEK формируется нодой на базе алгоритма Диффи-Хелмана, используя публичные и приватные ключи отправителя и получателей, и применяется для шифрования ключа CEK.
Описание методов шифрования и их использования приведено в разделе Операции шифрования данных.
Важно
Используемый алгоритм шифрования оффчейн-протокола передачи приватных данных зависит от используемой версии ноды. К примеру, в актуальной версии 1.5 при выборе ГОСТ-шифрования протокол устанавливает шифрованное TLS-like соединение с применением алгоритма шифрования «Кузнечик».