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

Потокововый шифр с длиной блока 64 бит в режиме гаммирования. Подробнее...

#include <gostcrypto.hpp>

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

 MagmaCtr_t (const MagmaCtr_t &)=default
 
MagmaCtr_toperator= (const MagmaCtr_t &)=default
 
 MagmaCtr_t (MagmaCtr_t &&)=default
 
MagmaCtr_toperator= (MagmaCtr_t &&)=default
 
 MagmaCtr_t (const uint8_t key[SYMMETRIC_KEY_SIZE], const uint8_t nonce[MAGMA_CTR_NONCE_SIZE]) noexcept
 Создать контекст потокового шифра. Подробнее...
 
 MagmaCtr_t (const std::array< uint8_t, SYMMETRIC_KEY_SIZE > &key, const std::array< uint8_t, MAGMA_CTR_NONCE_SIZE > &nonce) noexcept
 Создать контекст потокового шифра. Подробнее...
 
 ~MagmaCtr_t () noexcept
 
intptr_t apply_keystream (uint8_t *buf, uintptr_t buf_len) noexcept
 Гаммировать сообщение ключевым потоком шифра. Подробнее...
 
intptr_t apply_keystream (std::vector< uint8_t > &buf) noexcept
 Гаммировать сообщение ключевым потоком шифра. Подробнее...
 
intptr_t seek (uint64_t pos) noexcept
 Установить позицию ключевого потока шифра. Подробнее...
 
uint64_t get_pos () const noexcept
 Получить позицию ключевого потока шифра. Подробнее...
 

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

Потокововый шифр с длиной блока 64 бит в режиме гаммирования.

Определен в ГОСТ 34.13-2015 и ГОСТ 34.13-2018.

См. также
MagmaCtr

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

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

MagmaCtr_t ( const MagmaCtr_t )
default
MagmaCtr_t ( MagmaCtr_t &&  )
default
MagmaCtr_t ( const uint8_t  key[SYMMETRIC_KEY_SIZE],
const uint8_t  nonce[MAGMA_CTR_NONCE_SIZE] 
)
inlineexplicitnoexcept

Создать контекст потокового шифра.

Создаёт контекст потокового шифра в режиме гаммирования с использованием ключа key и синхропосылки nonce.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределённому поведению.
Аргументы
key— ненулевой указатель на массив длинной SYMMETRIC_KEY_SIZE байт
nonce— ненулевой указатель на массив длинной MAGMA_CTR_NONCE_SIZE байт

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

MagmaCtr_t ( const std::array< uint8_t, SYMMETRIC_KEY_SIZE > &  key,
const std::array< uint8_t, MAGMA_CTR_NONCE_SIZE > &  nonce 
)
inlinenoexcept

Создать контекст потокового шифра.

Создаёт контекст потокового шифра в режиме гаммирования с использованием ключа key и синхропосылки nonce.

Аргументы
key— ключ
nonce— синхропосылка

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

~MagmaCtr_t ( )
inlinenoexcept

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

Методы

intptr_t apply_keystream ( uint8_t *  buf,
uintptr_t  buf_len 
)
inlinenoexcept

Гаммировать сообщение ключевым потоком шифра.

Шифрует или расшифровывает сообщение на месте посредством гаммирования его ключевым потоком шифра. Возвращает ошибку в случае, когда достигнут конец ключевого потока.

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

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

intptr_t apply_keystream ( std::vector< uint8_t > &  buf)
inlinenoexcept

Гаммировать сообщение ключевым потоком шифра.

Шифрует или расшифровывает сообщение на месте посредством гаммирования его ключевым потоком шифра. Возвращает ошибку в случае, когда достигнут конец ключевого потока.

Аргументы
buf— сообщение
Возвращает
0, в случае успеха, -1, в случае ошибки

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

uint64_t get_pos ( ) const
inlinenoexcept

Получить позицию ключевого потока шифра.

Возвращает текущую позицию ключевого потока шифра.

Возвращает
Текущая позиция ключевого потока

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

MagmaCtr_t& operator= ( const MagmaCtr_t )
default
MagmaCtr_t& operator= ( MagmaCtr_t &&  )
default
intptr_t seek ( uint64_t  pos)
inlinenoexcept

Установить позицию ключевого потока шифра.

Устанавливает текущую позицию ключевого потока шифра. Возвращает ошибку в случае, когда требуемая позиция превышает длину ключевого потока.

Аргументы
pos— новая позиция ключевого потока
Возвращает
0, в случае успеха, -1, в случае ошибки

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


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