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

Блочный шифр с длиной блока 64 бит. Подробнее...

#include <gostcrypto.hpp>

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

 Magma_t (const Magma_t &)=default
 
Magma_toperator= (const Magma_t &)=default
 
 Magma_t (Magma_t &&)=default
 
Magma_toperator= (Magma_t &&)=default
 
 Magma_t (const uint8_t key[SYMMETRIC_KEY_SIZE]) noexcept
 Создать контекст блочного шифра. Подробнее...
 
 Magma_t (const std::array< uint8_t, SYMMETRIC_KEY_SIZE > &key) noexcept
 Создать контекст блочного шифра. Подробнее...
 
 ~Magma_t () noexcept
 
void encrypt_block (uint8_t block[MAGMA_BLOCK_SIZE]) noexcept
 Зашифровать блок данных. Подробнее...
 
void decrypt_block (uint8_t block[MAGMA_BLOCK_SIZE]) noexcept
 Расшифровать блок данных. Подробнее...
 
void encrypt_blocks (uint8_t blocks[MAGMA_BLOCK_SIZE], uintptr_t len) noexcept
 Зашифровать массив блоков. Подробнее...
 
void decrypt_blocks (uint8_t blocks[MAGMA_BLOCK_SIZE], uintptr_t len) noexcept
 Расшифровать массив блоков. Подробнее...
 

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

Блочный шифр с длиной блока 64 бит.

Определён в ГОСТ Р 34.12-2015 (Магма) и ГОСТ 34.12-2018.

См. также
Magma

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

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

Magma_t ( const Magma_t )
default
Magma_t ( Magma_t &&  )
default
Magma_t ( const uint8_t  key[SYMMETRIC_KEY_SIZE])
inlineexplicitnoexcept

Создать контекст блочного шифра.

Создаёт новый контекст блочного шифра.

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

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

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

Создать контекст блочного шифра.

Создаёт новый контекст блочного шифра.

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

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

~Magma_t ( )
inlinenoexcept

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

Методы

void decrypt_block ( uint8_t  block[MAGMA_BLOCK_SIZE])
inlinenoexcept

Расшифровать блок данных.

Расшифровывает блок на месте.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределенному поведению.
Аргументы
block— ненулевой указатель на блок длиной MAGMA_BLOCK_SIZE байт.

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

void decrypt_blocks ( uint8_t  blocks[MAGMA_BLOCK_SIZE],
uintptr_t  len 
)
inlinenoexcept

Расшифровать массив блоков.

Расшифровывает массив блоков на месте.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределенному поведению.
Аргументы
blocks— ненулевой указатель на массив блоков, каждый блок длиной MAGMA_BLOCK_SIZE байт.
len— длина массива блоков.

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

void encrypt_block ( uint8_t  block[MAGMA_BLOCK_SIZE])
inlinenoexcept

Зашифровать блок данных.

Шифрует блок на месте.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределенному поведению.
Аргументы
block— ненулевой указатель на блок длиной MAGMA_BLOCK_SIZE байт.

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

void encrypt_blocks ( uint8_t  blocks[MAGMA_BLOCK_SIZE],
uintptr_t  len 
)
inlinenoexcept

Зашифровать массив блоков.

Шифрует массив блоков на месте.

Предупреждения
Передача нулевого или некорректного указателя приводит к неопределенному поведению.
Аргументы
blocks— ненулевой указатель на массив блоков, каждый блок длиной MAGMA_BLOCK_SIZE байт.
len— длина массива блоков.

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

Magma_t& operator= ( const Magma_t )
default
Magma_t& operator= ( Magma_t &&  )
default

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