Блочный шифр с длиной блока 128 бит в режиме простой замены с зацеплением с размером синхропосылки 16 байт.
Подробнее...
#include <gostcrypto.hpp>
Блочный шифр с длиной блока 128 бит в режиме простой замены с зацеплением с размером синхропосылки 16 байт.
Определен в ГОСТ 34.13-2015 и ГОСТ 34.13-2018.
- См. также
- KuznyechikCbc
См. определение в файле gostcrypto.hpp строка 171
KuznyechikCbc_t |
( |
const uint8_t |
key[SYMMETRIC_KEY_SIZE], |
|
|
const uint8_t |
nonce[KUZNYECHIK_CBC_NONCE_SIZE] |
|
) |
| |
|
inlineexplicitnoexcept |
Создать контекст блочного шифра.
Создаёт контекст блочного шифра в режиме простой замены с зацеплением с использованием ключа key
и синхропосылки nonce
.
- Предупреждения
- Передача нулевого или некорректного указателя приводит к неопределённому поведению.
- Аргументы
-
См. определение в файле gostcrypto.hpp строка 190
Создать контекст блочного шифра.
Создаёт контекст блочного шифра в режиме простой замены с зацеплением с использованием ключа key
и синхропосылки nonce
.
- Аргументы
-
key | — ключ |
nonce | — синхропосылка |
См. определение в файле gostcrypto.hpp строка 205
void decrypt_blocks |
( |
uint8_t(*) |
blocks[KUZNYECHIK_BLOCK_SIZE], |
|
|
uintptr_t |
blocks_len |
|
) |
| |
|
inlinenoexcept |
Расшифровать массив блоков.
Расшифровывает блоки данных на месте.
- Предупреждения
- Передача нулевого или некорректного указателя приводит к неопределённому поведению.
- Аргументы
-
blocks | — ненулевой указатель на массив блоков. Блок представляет собой последовательность байт длиной KUZNYECHIK_BLOCK_SIZE. |
blocks_len | — длина массива блоков (в блоках) |
См. определение в файле gostcrypto.hpp строка 243
intptr_t decrypt_pad |
( |
uint8_t * |
buf, |
|
|
uintptr_t |
buf_len |
|
) |
| const |
|
inlinenoexcept |
Расшифровать сообщение.
Расшифровывает сообщение на месте.
Возвращает ошибку в случае, когда длина буфера не делится на KUZNYECHIK_BLOCK_SIZE или расшифрованное сообщение имеет некорректное дополнение.
- Предупреждения
- Передача нулевого или некорректного указателя приводит к неопределённому поведению.
- Аргументы
-
buf | — ненулевой указатель на массив байт |
buf_len | — длина буфера (в байтах) |
- Возвращает
- Длину сообщения, в случае успеха или -1, в случае ошибки
См. определение в файле gostcrypto.hpp строка 287
void encrypt_blocks |
( |
uint8_t(*) |
blocks[KUZNYECHIK_BLOCK_SIZE], |
|
|
uintptr_t |
blocks_len |
|
) |
| |
|
inlinenoexcept |
Зашифровать массив блоков.
Шифрует блоки данных на месте.
- Предупреждения
- Передача нулевого или некорректного указателя приводит к неопределённому поведению.
- Аргументы
-
blocks | — ненулевой указатель на массив блоков. Блок представляет собой последовательность байт длиной KUZNYECHIK_BLOCK_SIZE. |
blocks_len | — длина массива блоков (в блоках) |
См. определение в файле gostcrypto.hpp строка 227
intptr_t encrypt_pad |
( |
uint8_t * |
buf, |
|
|
uintptr_t |
buf_len, |
|
|
uintptr_t |
pos |
|
) |
| const |
|
inlinenoexcept |
Зашифровать сообщение.
Зашифровывает сообщение на месте.
Байты 0..pos
буфера buf
используются как сообщение, когда же байты pos..buf_len
используются как зарезервированное место для дополнения.
Возвращает ошибку в случае, когда место для дополнения недостаточно велико.
- Предупреждения
- Передача нулевого или некорректного указателя приводит к неопределённому поведению.
- Аргументы
-
buf | — ненулевой указатель на массив байт |
buf_len | — длина буфера (в байтах) |
pos | — индекс байта, с которого начинается дополнение в буфере buf |
- Возвращает
- Длину шифротекста, в случае успеха или -1, в случае ошибки
См. определение в файле gostcrypto.hpp строка 266
Объявления и описания членов класса находятся в файле: