GostCrypto  0.2.0
Криптография, реализованная в соответствии с ГОСТ
 Указатель Структуры данных Файлы Функции Определения типов Перечисления Элементы перечислений Друзья Макросы
Шаблон класса Ec256PublicKey_t< CurveID >

Открытый ключ эллиптических кривых. Подробнее...

#include <gostcrypto.hpp>

Открытые члены

 Ec256PublicKey_t (const Ec256PublicKey_t< CurveID > &)=default
 
Ec256PublicKey_t< CurveID > & operator= (const Ec256PublicKey_t< CurveID > &)=default
 
 Ec256PublicKey_t (Ec256PublicKey_t< CurveID > &&) noexcept=default
 
Ec256PublicKey_t< CurveID > & operator= (Ec256PublicKey_t< CurveID > &&) noexcept=default
 
 ~Ec256PublicKey_t ()=default
 
std::array< uint8_t,
EC_256_DOUBLE_WIDTH
to_bytes () const noexcept
 Сериализовать открытый ключ. Подробнее...
 
intptr_t verify_hash (const uint8_t hash[STREEBOG256_RESULT_SIZE], const uint8_t signature[EC_256_DOUBLE_WIDTH]) const noexcept
 Проверить подпись хэша сообщения. Подробнее...
 
intptr_t verify_hash (const std::array< uint8_t, STREEBOG256_RESULT_SIZE > &hash, const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &signature) const noexcept
 Проверить подпись хэша сообщения. Подробнее...
 
intptr_t verify (const uint8_t *msg, uintptr_t msg_len, const uint8_t signature[EC_256_DOUBLE_WIDTH]) const noexcept
 Проверить подпись сообщения. Подробнее...
 
intptr_t verify (const std::vector< uint8_t > &msg, const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &signature) const noexcept
 Проверить подпись сообщения. Подробнее...
 

Открытые статические члены

static Ec256PublicKey_t< CurveID > from_bytes (const uint8_t bytes[EC_256_DOUBLE_WIDTH], intptr_t &error_code) noexcept
 Десериалировать открытый ключ. Подробнее...
 
static Ec256PublicKey_t< CurveID > from_bytes (const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &bytes, intptr_t &error_code) noexcept
 Десериалировать открытый ключ. Подробнее...
 

Друзья

class Ec256PrivateKey_t< CurveID >
 

Подробное описание

template<Gost3410_2012_256 CurveID>
class Ec256PublicKey_t< CurveID >

Открытый ключ эллиптических кривых.

Специализируется перечислением Gost3410_2012_256.

См. также
Ec256

См. определение в файле gostcrypto.hpp строка 2866

Конструктор(ы)

Ec256PublicKey_t ( const Ec256PublicKey_t< CurveID > &  )
default
Ec256PublicKey_t ( Ec256PublicKey_t< CurveID > &&  )
defaultnoexcept
~Ec256PublicKey_t ( )
default

Методы

static Ec256PublicKey_t<CurveID> from_bytes ( const uint8_t  bytes[EC_256_DOUBLE_WIDTH],
intptr_t &  error_code 
)
inlinestaticnoexcept

Десериалировать открытый ключ.

Десериализует открытый ключ из представления ГОСТ 34.10-2012 раздел 5.2/ГОСТ 34.10-2018 раздел 5.3 во внутреннее представление для заданной эллиптической кривой.

Аргументы
bytes— сериализованное представление
error_code— код ошибки: 0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_PUBLIC_KEY_BYTES в случае ошибки
Возвращает
открытый ключ

См. определение в файле gostcrypto.hpp строка 2890

static Ec256PublicKey_t<CurveID> from_bytes ( const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &  bytes,
intptr_t &  error_code 
)
inlinestaticnoexcept

Десериалировать открытый ключ.

Десериализует открытый ключ из представления ГОСТ 34.10-2012 раздел 5.2/ГОСТ 34.10-2018 раздел 5.3 во внутреннее представление для заданной эллиптической кривой.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
bytes— сериализованное представление
error_code— код ошибки: 0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_PUBLIC_KEY_BYTES в случае ошибки
Возвращает
открытый ключ

См. определение в файле gostcrypto.hpp строка 2909

Ec256PublicKey_t<CurveID>& operator= ( const Ec256PublicKey_t< CurveID > &  )
default
Ec256PublicKey_t<CurveID>& operator= ( Ec256PublicKey_t< CurveID > &&  )
defaultnoexcept
std::array<uint8_t, EC_256_DOUBLE_WIDTH> to_bytes ( ) const
inlinenoexcept

Сериализовать открытый ключ.

Сериализует открытый ключ из внутреннего представления в представление ГОСТ 34.10-2012 раздел 5.2/ГОСТ 34.10-2018 раздел 5.3 для заданной эллиптической кривой.

Возвращает
сериализованное представление

См. определение в файле gostcrypto.hpp строка 2921

intptr_t verify ( const uint8_t *  msg,
uintptr_t  msg_len,
const uint8_t  signature[EC_256_DOUBLE_WIDTH] 
) const
inlinenoexcept

Проверить подпись сообщения.

Проверяет подпись сообщения с помощью публичной ключа для заданной эллиптической кривой.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
msg— сообщение
msg_len— длина сообщения
signature— подпись сообщения
Возвращает
0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_SIGNATURE, в случае ошибки

См. определение в файле gostcrypto.hpp строка 2977

intptr_t verify ( const std::vector< uint8_t > &  msg,
const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &  signature 
) const
inlinenoexcept

Проверить подпись сообщения.

Проверяет подпись сообщения с помощью публичной ключа для заданной эллиптической кривой.

Аргументы
msg— сообщение
signature— подпись сообщения
Возвращает
0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_SIGNATURE, в случае ошибки

См. определение в файле gostcrypto.hpp строка 2995

intptr_t verify_hash ( const uint8_t  hash[STREEBOG256_RESULT_SIZE],
const uint8_t  signature[EC_256_DOUBLE_WIDTH] 
) const
inlinenoexcept

Проверить подпись хэша сообщения.

Проверяет подпись хэша сообщения с помощью публичной ключа для заданной эллиптической кривой. По ГОСТу хэш сообщения должен быть вычислен с помощью функции Стрибог.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
hash— хэш сообщения
signature— подпись сообщения
Возвращает
0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_SIGNATURE, в случае ошибки

См. определение в файле gostcrypto.hpp строка 2941

intptr_t verify_hash ( const std::array< uint8_t, STREEBOG256_RESULT_SIZE > &  hash,
const std::array< uint8_t, EC_256_DOUBLE_WIDTH > &  signature 
) const
inlinenoexcept

Проверить подпись хэша сообщения.

Проверяет подпись хэша сообщения с помощью публичной ключа для заданной эллиптической кривой. По ГОСТу хэш сообщения должен быть вычислен с помощью функции Стрибог.

Аргументы
hash— хэш сообщения
signature— подпись сообщения
Возвращает
0, в случае успеха, EC_ERR_CURVE_ID, EC_ERR_SIGNATURE, в случае ошибки

См. определение в файле gostcrypto.hpp строка 2958

Документация по друзьям класса и функциям, отноносящимся к классу

friend class Ec256PrivateKey_t< CurveID >
friend

См. определение в файле gostcrypto.hpp строка 2868


Объявления и описания членов класса находятся в файле: