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

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

#include <gostcrypto.hpp>

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

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

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

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

Друзья

class Ec512PrivateKey_t< CurveID >
 

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

template<Gost3410_2012_512 CurveID>
class Ec512PublicKey_t< CurveID >

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

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

См. также
Ec512

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

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

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

Методы

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

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

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

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

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

static Ec512PublicKey_t<CurveID> from_bytes ( const std::array< uint8_t, EC_512_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 строка 2400

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

intptr_t verify_hash ( const uint8_t  hash[STREEBOG512_RESULT_SIZE],
const uint8_t  signature[EC_512_DOUBLE_WIDTH] 
) const
inlinenoexcept

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

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

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

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

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

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

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

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

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

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

friend class Ec512PrivateKey_t< CurveID >
friend

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


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