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

Интерфейс прикладного программирования на языке C++ к библиотеке криптографических алгоритмов ГОСТ. Подробнее...

#include "gostcrypto.h"
#include <type_traits>
#include <array>
#include <vector>
Граф включаемых заголовочных файлов для gostcrypto.hpp:

См. исходные тексты.

Структуры данных

class  KuznyechikMgm_t
 Блочный шифр с длиной блока 128 бит в режиме работы блочных шифров, реализующим аутентифицирующее шифрование с присоединёнными данными (AEAD). Подробнее...
 
class  KuznyechikCbc_t
 Блочный шифр с длиной блока 128 бит в режиме простой замены с зацеплением с размером синхропосылки 16 байт. Подробнее...
 
class  MagmaCbc_t
 Блочный шифр с длиной блока 64 бит в режиме простой замены с зацеплением с размером синхропосылки 8 байт. Подробнее...
 
class  KuznyechikCfb_t
 Потоковый шифр с длиной блока 128 бит в режиме гаммирования с обратной связью по шифртексту с размером синхропосылки 16 байт. Подробнее...
 
class  MagmaCfb_t
 Потоковый шифр с длиной блока 64 бит в режиме гаммирования с обратной связью по шифртексту с размером синхропосылки 8 байт. Подробнее...
 
class  Kuznyechik_t
 Блочный шифр с длиной блока 128 бит. Подробнее...
 
class  Magma_t
 Блочный шифр с длиной блока 64 бит. Подробнее...
 
class  KuznyechikCtr_t
 Потоковый шифр с длиной блока 128 бит в режиме гаммирования. Подробнее...
 
class  MagmaCtr_t
 Потокововый шифр с длиной блока 64 бит в режиме гаммирования. Подробнее...
 
class  KuznyechikEcb_t
 Блочный шифр с длиной блока 128 бит в режиме простой замены. Подробнее...
 
class  MagmaEcb_t
 Блочный шифр с длиной блока 64 бит в режиме простой замены. Подробнее...
 
class  Streebog256_t
 Функция хэширования с длиной хэш-кода 256 бит. Подробнее...
 
class  Streebog512_t
 Функция хэширования с длиной хэш-кода 512 бит. Подробнее...
 
class  KuznyechikMac_t
 Режим выработки имитовставки с использованием шифра с длиной блока 128 бит. Подробнее...
 
class  MagmaMac_t
 Режим выработки имитовставки с использованием шифра с длиной блока 64 бит. Подробнее...
 
class  KuznyechikOfb_t
 Потоковый шифр с длиной блока 128 бит в режиме гаммирования с обратной связью по выходу с размером синхропосылки 16 байт. Подробнее...
 
class  MagmaOfb_t
 Потоковый шифр с длиной блока 64 бит в режиме гаммирования с обратной связью по выходу с размером синхропосылки 8 байт. Подробнее...
 
class  Ec512PrivateKey_t< CurveID >
 Закрытый ключ эллиптических кривых. Подробнее...
 
class  Ec512PublicKey_t< CurveID >
 Открытый ключ эллиптических кривых. Подробнее...
 
class  Ec512PrivateKey_t< CurveID >
 Закрытый ключ эллиптических кривых. Подробнее...
 
class  Ec256PrivateKey_t< CurveID >
 Закрытый ключ эллиптических кривых. Подробнее...
 
class  Ec256PublicKey_t< CurveID >
 Открытый ключ эллиптических кривых. Подробнее...
 
class  Ec256PrivateKey_t< CurveID >
 Закрытый ключ эллиптических кривых. Подробнее...
 

Определения типов

template<std::size_t Len, std::size_t Align>
using aligned_storage_t = typename std::aligned_storage< Len, Align >::type
 

Перечисления

enum  Gost3410_2012_512 : uintptr_t { A = GOST3410_2012_512A, B = GOST3410_2012_512B, C = GOST3410_2012_512C }
 Идентификатор эллиптических кривых, для алгоритмов формирования, проверки электронной цифровой подписи и выработки общих ключей. Подробнее...
 
enum  Gost3410_2012_256 : uintptr_t { A = GOST3410_2012_256A, B = GOST3410_2012_256B, C = GOST3410_2012_256C, D = GOST3410_2012_256D }
 Идентификатор эллиптических кривых, для алгоритмов формирования, проверки электронной цифровой подписи и выработки общих ключей. Подробнее...
 

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

Интерфейс прикладного программирования на языке C++ к библиотеке криптографических алгоритмов ГОСТ.

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

Типы

using aligned_storage_t = typename std::aligned_storage<Len, Align>::type

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

Перечисления

enum Gost3410_2012_256 : uintptr_t
strong

Идентификатор эллиптических кривых, для алгоритмов формирования, проверки электронной цифровой подписи и выработки общих ключей.

Определены в ГОСТ 34.10-2012 и ГОСТ 34.10-2018.

Элементы перечислений
A 

Идентификатор кривой id-tc26-gost-3410-2012-256-paramSetA, заданной в Р 1323565.1.024-2019.

B 

Идентификатор кривой id-tc26-gost-3410-2012-256-paramSetB, заданной в Р 1323565.1.024-2019.

C 

Идентификатор кривой id-tc26-gost-3410-2012-256-paramSetC, заданной в Р 1323565.1.024-2019.

D 

Идентификатор кривой id-tc26-gost-3410-2012-256-paramSetD, заданной в Р 1323565.1.024-2019.

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

enum Gost3410_2012_512 : uintptr_t
strong

Идентификатор эллиптических кривых, для алгоритмов формирования, проверки электронной цифровой подписи и выработки общих ключей.

Определены в ГОСТ 34.10-2012 и ГОСТ 34.10-2018.

Элементы перечислений
A 

Идентификатор кривой id-tc26-gost-3410-12-512-paramSetA, заданной в Р 1323565.1.024-2019.

B 

Идентификатор кривой id-tc26-gost-3410-12-512-paramSetB, заданной в Р 1323565.1.024-2019.

C 

Идентификатор кривой id-tc26-gost-3410-12-512-paramSetC, заданной в Р 1323565.1.024-2019.

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