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

Блочный шифр с длиной блока 128 бит в режиме работы блочных шифров, реализующим аутентифицирующее шифрование с присоединёнными данными (AEAD). Подробнее...

#include <gostcrypto.hpp>

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

 KuznyechikMgm_t (const KuznyechikMgm_t &)=default
 
KuznyechikMgm_toperator= (const KuznyechikMgm_t &)=default
 
 KuznyechikMgm_t (KuznyechikMgm_t &&)=default
 
KuznyechikMgm_toperator= (KuznyechikMgm_t &&)=default
 
 KuznyechikMgm_t (const std::array< uint8_t, SYMMETRIC_KEY_SIZE > &key) noexcept
 Создать контекст AEAD. Подробнее...
 
intptr_t encrypt (const uint8_t nonce[KUZNYECHIK_MGM_NONCE_SIZE], const uint8_t *aad, uintptr_t aad_len, uint8_t *buf, uintptr_t buf_len, uint8_t tag[KUZNYECHIK_MGM_TAG_SIZE]) const noexcept
 Зашифровать сообщение с присоединёнными данными. Подробнее...
 
intptr_t encrypt (const std::array< uint8_t, KUZNYECHIK_MGM_NONCE_SIZE > &nonce, const std::vector< uint8_t > &aad, std::vector< uint8_t > &buf, std::array< uint8_t, KUZNYECHIK_MGM_TAG_SIZE > &tag) const noexcept
 Зашифровать сообщение с присоединёнными данными. Подробнее...
 
intptr_t decrypt (const uint8_t nonce[KUZNYECHIK_MGM_NONCE_SIZE], const uint8_t *aad, uintptr_t aad_len, uint8_t *buf, uintptr_t buf_len, const uint8_t tag[KUZNYECHIK_MGM_TAG_SIZE]) const noexcept
 Расшифровать сообщение с присоединёнными данными. Подробнее...
 
intptr_t decrypt (const std::array< uint8_t, KUZNYECHIK_MGM_NONCE_SIZE > &nonce, const std::vector< uint8_t > &aad, std::vector< uint8_t > &buf, const std::array< uint8_t, KUZNYECHIK_MGM_TAG_SIZE > &tag) const noexcept
 Расшифровать сообщение с присоединёнными данными. Подробнее...
 
 ~KuznyechikMgm_t ()
 

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

Блочный шифр с длиной блока 128 бит в режиме работы блочных шифров, реализующим аутентифицирующее шифрование с присоединёнными данными (AEAD).

Определен в Р 1323565.1.026–2019.

См. также
KuznyechikMgm

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

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

KuznyechikMgm_t ( const KuznyechikMgm_t )
default
KuznyechikMgm_t ( KuznyechikMgm_t &&  )
default
KuznyechikMgm_t ( const std::array< uint8_t, SYMMETRIC_KEY_SIZE > &  key)
inlineexplicitnoexcept

Создать контекст AEAD.

Создаёт контекст AEAD с использованием ключа key в заданной области памяти.

Аргументы
key— ключ

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

~KuznyechikMgm_t ( )
inline

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

Методы

intptr_t decrypt ( const uint8_t  nonce[KUZNYECHIK_MGM_NONCE_SIZE],
const uint8_t *  aad,
uintptr_t  aad_len,
uint8_t *  buf,
uintptr_t  buf_len,
const uint8_t  tag[KUZNYECHIK_MGM_TAG_SIZE] 
) const
inlinenoexcept

Расшифровать сообщение с присоединёнными данными.

Расшифровывает сообщение на месте с присоединёнными данными с использованием данной имитовставки tag. Возвращает ошибку в случае, если имитовставка не соответствует шифротексту.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
nonce— синхропосылка как массив байт длиной KUZNYECHIK_MGM_NONCE_SIZE
aad— присоединённые данные
aad_len— длина присоединённых данных в байтах
buf— буфер, содержащий подлежащие расшифрованию данные
buf_len— длина буфера (в байтах)
tag— имитовставка как массив байт длиной KUZNYECHIK_MGM_TAG_SIZE
Возвращает
0, в случае успеха, -1, в случае ошибки

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

intptr_t decrypt ( const std::array< uint8_t, KUZNYECHIK_MGM_NONCE_SIZE > &  nonce,
const std::vector< uint8_t > &  aad,
std::vector< uint8_t > &  buf,
const std::array< uint8_t, KUZNYECHIK_MGM_TAG_SIZE > &  tag 
) const
inlinenoexcept

Расшифровать сообщение с присоединёнными данными.

Расшифровывает сообщение на месте с присоединёнными данными с использованием данной имитовставки tag. Возвращает ошибку в случае, если имитовставка не соответствует шифротексту.

Аргументы
nonce— синхропосылка как массив байт длиной KUZNYECHIK_MGM_NONCE_SIZE
aad— присоединённые данные
buf— буфер, содержащий подлежащие расшифрованию данные
tag— имитовставка
Возвращает
0, в случае успеха, -1, в случае ошибки

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

intptr_t encrypt ( const uint8_t  nonce[KUZNYECHIK_MGM_NONCE_SIZE],
const uint8_t *  aad,
uintptr_t  aad_len,
uint8_t *  buf,
uintptr_t  buf_len,
uint8_t  tag[KUZNYECHIK_MGM_TAG_SIZE] 
) const
inlinenoexcept

Зашифровать сообщение с присоединёнными данными.

Зашифровывает сообщение на месте с присоединёнными данными и копирует соответствующую имитовставку в массив tag.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
nonce— синхропосылка как массив байт длиной KUZNYECHIK_MGM_NONCE_SIZE. Старший бит nonce[0] должен быть равен нулю.
aad— присоединённые данные
aad_len— длина присоединённых данных в байтах
buf— буфер, содержащий подлежащие шифрованию данные
buf_len— длина буфера (в байтах)
tag— имитовставка как массив байт длиной KUZNYECHIK_MGM_TAG_SIZE
Возвращает
0, в случае успеха, -1, в случае ошибки

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

intptr_t encrypt ( const std::array< uint8_t, KUZNYECHIK_MGM_NONCE_SIZE > &  nonce,
const std::vector< uint8_t > &  aad,
std::vector< uint8_t > &  buf,
std::array< uint8_t, KUZNYECHIK_MGM_TAG_SIZE > &  tag 
) const
inlinenoexcept

Зашифровать сообщение с присоединёнными данными.

Зашифровывает сообщение на месте с присоединёнными данными и копирует соответствующую имитовставку в массив tag.

Аргументы
nonce— синхропосылка. Старший бит nonce[0] должен быть равен нулю.
aad— присоединённые данные
buf— буфер, содержащий подлежащие шифрованию данные
tag— имитовставка
Возвращает
0, в случае успеха, -1, в случае ошибки

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

KuznyechikMgm_t& operator= ( const KuznyechikMgm_t )
default
KuznyechikMgm_t& operator= ( KuznyechikMgm_t &&  )
default

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