From 80221d816eeb98f0df38e0243390033c614952f3 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Tue, 28 Nov 2017 22:12:43 +0300 Subject: Source files converted to utf-8 --- plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp | 8 +- plugins/Kuzne4ikCrypt/src/GOST/28147_14.h | 190 +++++------ plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp | 168 +++++----- plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h | 406 +++++++++++------------ plugins/Kuzne4ikCrypt/src/GOST/table.h | 2 +- plugins/Kuzne4ikCrypt/src/version.h | 2 +- 6 files changed, 388 insertions(+), 388 deletions(-) (limited to 'plugins/Kuzne4ikCrypt/src') diff --git a/plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp b/plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp index 60f664eda1..2032fbf9fb 100644 --- a/plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp +++ b/plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp @@ -1,5 +1,5 @@ /** @file - * @brief "" + * @brief Реализация алгоритма "Кузнечик" * * @copyright InfoTeCS. All rights reserved. */ @@ -9,7 +9,7 @@ #include "28147_14.h" #include "table.h" -/** @brief . */ +/** @brief Нелинейное биективное преобразование множества двоичных векторов. */ static const unsigned char kPi[256] = { 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, @@ -30,7 +30,7 @@ static const unsigned char kPi[256] = 89, 166, 116, 210, 230, 244, 180, 192, 209, 102, 175, 194, 57, 75, 99, 182 }; -/** @brief . */ +/** @brief Обратное нелинейное биективное преобразование множества двоичных векторов. */ static const unsigned char kReversePi[256] = { 0xa5,0x2d,0x32,0x8f,0x0e,0x30,0x38,0xc0,0x54,0xe6,0x9e,0x39,0x55,0x7e,0x52,0x91, @@ -51,7 +51,7 @@ static const unsigned char kReversePi[256] = 0x12,0x1a,0x48,0x68,0xf5,0x81,0x8b,0xc7,0xd6,0x20,0x0a,0x08,0x00,0x4c,0xd7,0x74 }; -/** @brief l */ +/** @brief Коэффициенты умножения в преобразовании l */ static const unsigned char kB[16] = {148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1}; int funcX(unsigned char* a, unsigned char* b, unsigned char* outdata) diff --git a/plugins/Kuzne4ikCrypt/src/GOST/28147_14.h b/plugins/Kuzne4ikCrypt/src/GOST/28147_14.h index fa6e08cbb2..e6a2a5c6f3 100644 --- a/plugins/Kuzne4ikCrypt/src/GOST/28147_14.h +++ b/plugins/Kuzne4ikCrypt/src/GOST/28147_14.h @@ -1,5 +1,5 @@ /** @file - * @brief "" + * @brief Объявление функций реализующих преобразования из алгоритма "Кузнечик" * * @copyright InfoTeCS. All rights reserved. */ @@ -15,153 +15,153 @@ extern "C" { #endif -/** @brief X +/** @brief Преобразование X * - * @param[in] a - * @param[in] b - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] a входной параметр преобразования + * @param[in] b входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcX(unsigned char* a, unsigned char* b, unsigned char* outdata); -/** @brief S +/** @brief Преобразование S * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcS(unsigned char* indata, unsigned char* outdata); -/** @brief S +/** @brief Преобразование обратное к преобразованию S * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcReverseS(unsigned char* indata, unsigned char* outdata); -/** @brief R +/** @brief Преобразование R * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcR(unsigned char* indata, unsigned char* outdata); -/** @brief R +/** @brief Преобразование обратное к преобразованию R * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcReverseR(unsigned char* indata, unsigned char* outdata); -/** @brief L +/** @brief Преобразование L * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcL(unsigned char* indata, unsigned char* outdata); -/** @brief L +/** @brief Преобразование обратное к преобразованию L * - * @param[in] indata - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] indata входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcReverseL(unsigned char* indata, unsigned char* outdata); -/** @brief LSX +/** @brief Преобразование LSX * - * @param[in] a - * @param[in] b - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] a входной параметр преобразования + * @param[in] b входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcLSX(unsigned char* a, unsigned char* b, unsigned char* outdata); -/** @brief LSX +/** @brief Преобразование обратное к преобразованию LSX * - * @param[in] a - * @param[in] b - * @param[out] outdata - * @param[in] print - * @return 0 - * @return -1 + * @param[in] a входной параметр преобразования + * @param[in] b входной параметр преобразования + * @param[out] outdata результат параметр преобразования + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcReverseLSX(unsigned char* a, unsigned char* b, unsigned char* outdata); -/** @brief F +/** @brief Преобразование F * - * @param[in] inputKey - * @param[in] inputKeySecond - * @param[in] iterationConst - * @param[out] outputKey - * @param[out] outputKeySecond - * @param[in] print - * @return 0 - * @return -1 + * @param[in] inputKey Первый ключ из пары ключей полученной в предедущей итерации + * @param[in] inputKeySecond Второй ключ из пары ключей полученной в предедущей итерации + * @param[in] iterationConst Итерационная константа + * @param[out] outputKey Первый ключ + * @param[out] outputKeySecond Второй ключ + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcF(unsigned char* inputKey, unsigned char* inputKeySecond, unsigned char* iterationConst, unsigned char* outputKey, unsigned char* outputKeySecond); -/** @brief +/** @brief Вычисление итерационной константы С * - * @param[in] number - * @param[out] output - * @param[in] print - * @return 0 - * @return -1 + * @param[in] number номер константы + * @param[out] output итерационная константа + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int funcC(unsigned char number, unsigned char* outputW); -/** @brief +/** @brief Развертка ключа * - * @param[in] masterKey - * @param[out] keys - * @param[in] print - * @return 0 - * @return -1 + * @param[in] masterKey Мастер ключ + * @param[out] keys массив развернутых ключей + * @param[in] print функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int ExpandKey(unsigned char* masterKey, unsigned char* keys); -/** @brief +/** @brief Выполнение зашифрования блока * - * @param[in] plainText - * @param[out] chipherText - * @param[in] keys - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] plainText Исходный блок + * @param[out] chipherText Зашифрованный блок + * @param[in] keys Развернутые ключи + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int Encrypt_14(unsigned char* plainText, unsigned char* chipherText, unsigned char* keys); -/** @brief +/** @brief Выполение расшифрования блока * - * @param[in] chipherText - * @param[out] plainText - * @param[in] keys - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] chipherText Зашифрованный блок + * @param[out] plainText Расшифрованный блок + * @param[in] keys Развернутые ключи + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int Decrypt_14(unsigned char* chipherText, unsigned char* plainText, unsigned char* keys); diff --git a/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp b/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp index 3606af3a26..9ac26c8072 100644 --- a/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp +++ b/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp @@ -1,5 +1,5 @@ /** @file -* @brief +* @brief Реализация режимов работы блочных алгоритмов * * @copyright InfoTeCS. All rights reserved. */ @@ -12,150 +12,150 @@ #include "28147_14.h" #include "block_chipher.h" -/** @brief */ +/** @brief определение внутреннего ассерта */ #define INFOTECS_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] -/** @brief "" */ +/** @brief размер тестовых данных для алгоритма "кузнечик" */ #define textLen14 sizeof(kSeltTestGost14PlainText)/sizeof(kSeltTestGost14PlainText[0]) -/** @brief 28147-89 */ +/** @brief размер тестовых данных для алгоритма 28147-89 */ #define textLen89 sizeof(kSeltTestGost89PlainText)/sizeof(kSeltTestGost89PlainText[0]) -/** @brief "" */ +/** @brief Признак алгоритма "Кузнечик" */ const unsigned char kAlg14 = 1; -/** @brief 28147-89 */ +/** @brief Признак алгоритма 28147-89 */ const unsigned char kAlg89 = 2; -/** @brief */ +/** @brief указатель на функцию шифрования */ typedef int (DLL_IMPORT *pEncrypt)(unsigned char* plainText, unsigned char* chipherText, unsigned char* keys); -/** @brief */ +/** @brief указатель на функцию расшифрования */ typedef int (DLL_IMPORT *pDecrypt)(unsigned char* chipherText, unsigned char* plainText, unsigned char* keys); -/** @brief ECB */ +/** @brief Функция самотестирования режима ECB */ static int SelfTestGost14Ecb(); -/** @brief ECB */ +/** @brief Функция самотестирования режима ECB */ static int SelfTestGost89Ecb(); -/** @brief CRT */ +/** @brief Функция самотестирования режима CRT */ static int SelfTestGost14Crt(); -/** @brief CRT */ +/** @brief Функция самотестирования режима CRT */ static int SelfTestGost89Crt(); -/** @brief OFB */ +/** @brief Функция самотестирования режима OFB */ static int SelfTestGost14Ofb(); -/** @brief OFB */ +/** @brief Функция самотестирования режима OFB */ static int SelfTestGost89Ofb(); -/** @brief CBC */ +/** @brief Функция самотестирования режима CBC */ static int SelfTestGost14Cbc(); -/** @brief CBC */ +/** @brief Функция самотестирования режима CBC */ static int SelfTestGost89Cbc(); -/** @brief CFB */ +/** @brief Функция самотестирования режима CFB */ static int SelfTestGost14Cfb(); -/** @brief CFB */ +/** @brief Функция самотестирования режима CFB */ static int SelfTestGost89Cfb(); -/** @brief */ +/** @brief Функция самотестирования режима имитовставки */ static int SelfTestGost14Imit(); -/** @brief */ +/** @brief Функция самотестирования режима имитовставки */ static int SelfTestGost89Imit(); -/** @brief 1 */ +/** @brief Сдвиг влево на 1 бит */ static void ShifttLeftOne(unsigned char *r, size_t length); -/** @brief ECB */ +/** @brief Контекст ECB */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* Keys; /**< */ - unsigned int BlockLen; /**< */ - pEncrypt EncryptFunc; /**< */ - pDecrypt DecryptFunc; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* Keys; /**< ключ */ + unsigned int BlockLen; /**< размер блока */ + pEncrypt EncryptFunc; /**< функция шифрования */ + pDecrypt DecryptFunc; /**< функция расшифрования */ } Context_ecb; -/** @brief CRT */ +/** @brief Контекст CRT */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* Counter; /**< */ - unsigned char* Keys; /**< */ - size_t S; /**< */ - size_t BlockLen; /**< */ - pEncrypt EncryptFunc; /**< */ - unsigned char *tmpblock; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* Counter; /**< счетчик */ + unsigned char* Keys; /**< ключ */ + size_t S; /**< размер синхропосылки */ + size_t BlockLen; /**< размер блока */ + pEncrypt EncryptFunc; /**< функция шифрования */ + unsigned char *tmpblock; /**< временный блок */ } Context_crt; -/** @brief OFB */ +/** @brief Контекст OFB */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* IV; /**< */ - unsigned char* Keys; /**< */ - size_t M; /**< */ - size_t S; /**< S */ - size_t BlockLen; /**< */ - pEncrypt EncryptFunc; /**< */ - pDecrypt DecryptFunc; /**< */ - unsigned char *tmpblock; /**< */ - unsigned char* nextIV; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* IV; /**< синхропосылка */ + unsigned char* Keys; /**< ключ */ + size_t M; /**< размер синхрпосылки */ + size_t S; /**< параметр S */ + size_t BlockLen; /**< размер блока */ + pEncrypt EncryptFunc; /**< функция шифрования */ + pDecrypt DecryptFunc; /**< функция расшифрования */ + unsigned char *tmpblock; /**< временный блок */ + unsigned char* nextIV; /**< синхропосылка для следующего блока */ } Context_ofb; -/** @brief CFB */ +/** @brief Контекст CFB */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* IV; /**< */ - unsigned char* Keys; /**< */ - size_t M; /**< */ - size_t S; /**< S */ - size_t BlockLen; /**< */ - pEncrypt EncryptFunc; /**< */ - pDecrypt DecryptFunc; /**< */ - unsigned char *tmpblock; /**< */ - unsigned char* nextIV; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* IV; /**< синхропосылка */ + unsigned char* Keys; /**< ключ */ + size_t M; /**< размер синхрпосылки */ + size_t S; /**< параметр S */ + size_t BlockLen; /**< размер блока */ + pEncrypt EncryptFunc; /**< функция шифрования */ + pDecrypt DecryptFunc; /**< функция расшифрования */ + unsigned char *tmpblock; /**< временный блок */ + unsigned char* nextIV; /**< синхропосылка для следующего блока */ } Context_cfb; -/** @brief CBC */ +/** @brief Контекст CBC */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* IV; /**< */ - unsigned char* Keys; /**< */ - size_t BlockLen; /**< */ - size_t M; /**< */ - pEncrypt EncryptFunc; /**< */ - pDecrypt DecryptFunc; /**< */ - unsigned char* nextIV; /**< */ - unsigned char* tempIV; /**< */ - unsigned char *tmpblock; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* IV; /**< синхропосылка */ + unsigned char* Keys; /**< ключ */ + size_t BlockLen; /**< размер блока */ + size_t M; /**< размер синхрпосылки */ + pEncrypt EncryptFunc; /**< функция шифрования */ + pDecrypt DecryptFunc; /**< функция расшифрования */ + unsigned char* nextIV; /**< синхропосылка для следующего блока */ + unsigned char* tempIV; /**< для временного хранения значения синхропосылки */ + unsigned char *tmpblock; /**< временный блок */ } Context_cbc; -/** @brief */ +/** @brief Контекст имитовставки */ typedef struct { - unsigned char Alg; /**< */ - unsigned char* Keys; /**< */ - unsigned char* K1; /**< K1 */ - unsigned char* K2; /**< K2 */ - unsigned char* B; /**< B */ - unsigned char* R; /**< R */ - unsigned char* C; /**< C */ - unsigned char* LastBlock; /**< */ - size_t S; /**< S */ - size_t BlockLen; /**< */ - size_t LastBlockSize; /**< */ - int isFistBlock; /**< */ - pEncrypt EncryptFunc; /**< */ - unsigned char *tmpblock; /**< */ - unsigned char *resimit; /**< */ + unsigned char Alg; /**< идентификатор алгоритма */ + unsigned char* Keys; /**< ключ */ + unsigned char* K1; /**< вспомогательный параметр K1 */ + unsigned char* K2; /**< вспомогательный параметр K2 */ + unsigned char* B; /**< вспомогательный параметр B */ + unsigned char* R; /**< вспомогательный параметр R */ + unsigned char* C; /**< вспомогательный параметр C */ + unsigned char* LastBlock; /**< предыдущий блок */ + size_t S; /**< параметр S */ + size_t BlockLen; /**< размер блока */ + size_t LastBlockSize; /**< размер предыдущего блока */ + int isFistBlock; /**< идентификатор первого блока */ + pEncrypt EncryptFunc; /**< функция шифрования */ + unsigned char *tmpblock; /**< временный блок */ + unsigned char *resimit; /**< имитовставка */ } Context_imit; static int init_ecb_14_impl(unsigned char *key, void* ctx) diff --git a/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h b/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h index 3a4500d3d0..a98d09c9ce 100644 --- a/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h +++ b/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h @@ -1,5 +1,5 @@ /** @file - * @brief + * @brief Объявление функций реализующих режимы работы блочных алгоритмов * * @copyright InfoTeCS. All rights reserved. */ @@ -9,355 +9,355 @@ #define DLL_IMPORT -/** @brief ECB "" */ +/** @brief Размер контекста для режима шифрования ECB алгоритма "кузнечик" */ #define kEcb14ContextLen 0x28 -/** @brief ECB 28147-89 */ +/** @brief Размер контекста для режима шифрования ECB алгоритма 28147-89 */ #define kEcb89ContextLen 0x28 -/** @brief CBC "" */ +/** @brief Размер контекста для режима шифрования CBC алгоритма "кузнечик" */ #define kCbc14ContextLen 0x38 -/** @brief CBC 28147-89 */ +/** @brief Размер контекста для режима шифрования CBC алгоритма 28147-89 */ #define kCbc89ContextLen 0x38 -/** @brief CRT "" */ +/** @brief Размер контекста для режима шифрования CRT алгоритма "кузнечик" */ #define kCrt14ContextLen 0x30 -/** @brief CRT 28147-89 */ +/** @brief Размер контекста для режима шифрования CRT алгоритма 28147-89 */ #define kCrt89ContextLen 0x30 -/** @brief OFB "" */ +/** @brief Размер контекста для режима шифрования OFB алгоритма "кузнечик" */ #define kOfb14ContextLen 0x40 -/** @brief OFB 28147-89 */ +/** @brief Размер контекста для режима шифрования OFB алгоритма 28147-89 */ #define kOfb89ContextLen 0x40 -/** @brief CFB "" */ +/** @brief Размер контекста для режима шифрования CFB алгоритма "кузнечик" */ #define kCfb14ContextLen 0x40 -/** @brief CFB 28147-89 */ +/** @brief Размер контекста для режима шифрования CFB алгоритма 28147-89 */ #define kCfb89ContextLen 0x40 -/** @brief "" */ +/** @brief Размер контекста для режима формирования имитовставки алгоритма "кузнечик" */ #define kImit14ContextLen 0x68 -/** @brief 28147-89 */ +/** @brief Размер контекста для режима формирования имитовставки алгоритма 28147-89 */ #define kImit89ContextLen 0x68 -/** @brief "" */ +/** @brief Размер блока алгоритма "кузнечик" */ #define kBlockLen14 16 -/** @brief 28147-89 */ +/** @brief Размер блока алгоритма 28147-89 */ #define kBlockLen89 8 -/** @brief 28147-89 */ +/** @brief Размер ключа алгоритма 28147-89 */ #define kKeyLen89 32 #ifdef __cplusplus extern "C" { #endif -/* *** *** - * - * +/* *** Режимы шифрования *** + * Режимы шифрования работают с использованием базового + * криптографического преобразования */ -/** @brief ECB "" +/** @brief Инициализация контекста шифрования в режиме ECB для алгоритма "кузнечик" * - * @param[in] key - * @param[out] ctx cbc - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст cbc + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_ecb_14(unsigned char *key, void* ctx); -/** @brief ecb +/** @brief Удаление контекста ecb * - * @param[in] ctx ecb - * @return 0 - * @return -1 + * @param[in] ctx контекст ecb + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_ecb(void* ctx); -/** @brief CBC "" +/** @brief Инициализация контекста шифрования в режиме CBC для алгоритма "кузнечик" * - * @param[in] key - * @param[out] ctx cbc - * @param[in] iv - * @param[in] ivLength - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст cbc + * @param[in] iv синхропосылка + * @param[in] ivLength длинна синхропосылки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_cbc_14(unsigned char *key, void* ctx, const unsigned char *iv, size_t ivLength); -/** @brief cbc +/** @brief Удаление контекста cbc * - * @param[in] ctx cbc - * @return 0 - * @return -1 + * @param[in] ctx контекст cbc + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_cbc(void* ctx); -/** @brief CRT "" +/** @brief Инициализация контекста шифрования в режиме CRT для алгоритма "кузнечик" * - * @param[in] key - * @param[out] ctx crt - * @param[in] iv - * @param[in] length - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст crt + * @param[in] iv синхропосылка + * @param[in] length длинна синхропосылки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_crt_14(unsigned char* key, unsigned char *iv, size_t length, void *ctx); -/** @brief crt +/** @brief Удаление контекста crt * - * @param[in] ctx crt - * @return 0 - * @return -1 + * @param[in] ctx контекст crt + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_crt(void* ctx); -/** @brief OFB "" +/** @brief Инициализация контекста шифрования в режиме OFB для алгоритма "кузнечик" * - * @param[in] key - * @param[out] ctx ofb - * @param[in] s S - * @param[in] iv - * @param[in] ivLength - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст ofb + * @param[in] s параметр S + * @param[in] iv синхропосылка + * @param[in] ivLength длинна синхропосылки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_ofb_14(unsigned char *key, void *ctx, size_t s, unsigned char *iv, size_t ivLength); -/** @brief ofb +/** @brief Удаление контекста ofb * - * @param[in] ctx ofb - * @return 0 - * @return -1 + * @param[in] ctx контекст ofb + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_ofb(void* ctx); -/** @brief CFB "" +/** @brief Инициализация контекста шифрования в режиме CFB для алгоритма "кузнечик" * - * @param[in] key - * @param[out] ctx cfb - * @param[in] s S - * @param[in] iv - * @param[in] ivLength - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст cfb + * @param[in] s параметр S + * @param[in] iv синхропосылка + * @param[in] ivLength длинна синхропосылки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_cfb_14(unsigned char *key, void *ctx, size_t s, unsigned char *iv, size_t ivLength); -/** @brief CFB 28147-89 +/** @brief Инициализация контекста шифрования в режиме CFB для алгоритма 28147-89 * - * @param[in] key - * @param[out] ctx cfb - * @param[in] s S - * @param[in] iv - * @param[in] ivLength - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[out] ctx контекст cfb + * @param[in] s параметр S + * @param[in] iv синхропосылка + * @param[in] ivLength длинна синхропосылки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_cfb_89(unsigned char *key, void *ctx, size_t s, unsigned char *iv, size_t ivLength); -/** @brief cfb +/** @brief Удаление контекста cfb * - * @param[in] ctx cfb - * @return 0 - * @return -1 + * @param[in] ctx контекст cfb + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_cfb(void* ctx); -/** @brief "" +/** @brief Инициализация контекста имтовставки для алгоритма "кузнечик" * - * @param[out] ctx - * @param[in] key - * @param[in] s S - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[out] ctx контекст имитовставки + * @param[in] key ключ + * @param[in] s параметр S + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_imit_14(unsigned char *key, size_t s, void *ctx); -/** @brief 28147-89 +/** @brief Инициализация контекста имтовставки для алгоритма 28147-89 * - * @param[in] key - * @param[in] s S - * @param[out] ctx - * @param[in] print - * @param[in] print_uint - * @return 0 - * @return -1 + * @param[in] key ключ + * @param[in] s параметр S + * @param[out] ctx контекст имитовставки + * @param[in] print функция логирования + * @param[in] print_uint функция логирования + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT init_imit_89(unsigned char *key, size_t s, void *ctx); -/** @brief +/** @brief Удаление контекста имитовставки * - * @param[in] ctx - * @return 0 - * @return -1 + * @param[in] ctx контекст имитовставки + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ void DLL_IMPORT free_imit(void* ctx); -/** @brief +/** @brief Выполнение зашифрования информации в режиме простой замены для данных кратных размеру блока * - * @param[in] ctx ECB - * @param[in] indata - * @param[out] outdata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст ECB + * @param[in] indata открытый текст + * @param[out] outdata зашифрованный текст + * @param[in] length длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT encrypt_ecb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t length); -/** @brief +/** @brief Выполнение расшифрования информации в режиме простой замены для данных кратных размеру блока * - * @param[in] ctx ECB - * @param[in] indata - * @param[out] outdata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст ECB + * @param[in] indata открытый текст + * @param[out] outdata зашифрованный текст + * @param[in] length длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT decrypt_ecb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t length); -/** @brief +/** @brief Выполнение зашифрования информации в режиме простой замены с зацеплением для данных кратных размеру блока * - * @param[in] ctx CBC - * @param[in] indata - * @param[out] outdata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст CBC + * @param[in] indata открытый текст + * @param[out] outdata зашифрованный текст + * @param[in] length длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT encrypt_cbc(void *ctx, unsigned char *indata, unsigned char *outdata, size_t length); -/** @brief +/** @brief Выполнение рсшифрования информации в режиме простой замены с зацеплением для данных кратных размеру блока * - * @param[in] ctx CBC - * @param[in] indata - * @param[out] outdata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст CBC + * @param[in] indata зашифрованный текст + * @param[out] outdata расшифрованный текст + * @param[in] length длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT decrypt_cbc(void *ctx, unsigned char *indata, unsigned char *outdata, size_t length); -/** @brief ( ) +/** @brief Выполнение шифрования (зашифрования или расшифрования) в режиме гаммирования * - * @param[in] ctx CRT - * @param[in] indata - * @param[out] outdata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст CRT + * @param[in] indata входное сообщение + * @param[out] outdata результат + * @param[in] length длинна сообщения + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT crypt_crt(void *ctx, unsigned char *indata, unsigned char *outdata, size_t length); -/** @brief +/** @brief Выполнение шаговой шифрования информации в режиме гаммирования с обратной связью * - * @param[in] ctx OFB - * @param[in] indata - * @param[out] outdata - * @param[in] inlength - * @return 0 - * @return -1 + * @param[in] ctx контекст OFB + * @param[in] indata входной блок + * @param[out] outdata результат преобразования + * @param[in] inlength длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT crypt_ofb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t inlength); -/** @brief +/** @brief Выполнение зашифрования информации в режиме гаммирования с обратной связью * - * @param[in] ctx OFB - * @param[in] indata - * @param[out] outdata - * @param[in] inlength - * @return 0 - * @return -1 + * @param[in] ctx контекст OFB + * @param[in] indata открытый текст + * @param[out] outdata зашифрованный текст + * @param[in] inlength длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT encrypt_ofb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t inlength); -/** @brief +/** @brief Выполнение расшифрования информации в режиме гаммирования с обратной связью * - * @param[in] ctx OFB - * @param[in] indata - * @param[out] outdata - * @param[in] inlength - * @return 0 - * @return -1 + * @param[in] ctx контекст OFB + * @param[in] indata зашифрованный текст + * @param[out] outdata расшифрованный текст + * @param[in] inlength длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT decrypt_ofb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t inlength); -/** @brief +/** @brief Выполнение зашифрования информации в режиме гаммирования с обратной связью по шифртексту * - * @param[in] ctx CFB - * @param[in] indata - * @param[out] outdata - * @param[in] inlength - * @return 0 - * @return -1 + * @param[in] ctx контекст CFB + * @param[in] indata открытый текст + * @param[out] outdata зашифрованный текст + * @param[in] inlength длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT encrypt_cfb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t inlength); -/** @brief +/** @brief Выполнение расшифрования информации в режиме гаммирования с обратной связью по шифртексту * - * @param[in] ctx CFB - * @param[in] indata - * @param[out] outdata - * @param[in] inlength - * @return 0 - * @return -1 + * @param[in] ctx контекст CFB + * @param[in] indata зашифрованный текст + * @param[out] outdata расшифрованный текст + * @param[in] inlength длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT decrypt_cfb(void *ctx, unsigned char *indata, unsigned char *outdata, size_t inlength); -/** @brief +/** @brief Выполнение вычисления имитовставки по данным кратным размеру блока * - * @param[in] ctx - * @param[in] indata - * @param[in] length - * @return 0 - * @return -1 + * @param[in] ctx контекст имитовставки + * @param[in] indata открытый текст + * @param[in] length длинна текста + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT imit(void *ctx, unsigned char *indata, size_t length); -/** @brief +/** @brief Завершение выроботки имитовставки * - * @param[in] ctx + * @param[in] ctx контекст имитовставки * @param[out] value - * @return 0 - * @return -1 + * @return 0 если все преобразование прошло успешно + * @return -1 если произошла ошибка */ int DLL_IMPORT done_imit(void *ctx, unsigned char *value); -/** @brief . +/** @brief Дополнение данных до размера блока. * - * @param[in] data . data , . - * @param[in] length - * @param[in] blockLen - * @return + * @param[in] data сообщение. Память под данные data должна быть выделена, достаточная для дополнения. + * @param[in] length размер сообщения + * @param[in] blockLen длинна блока + * @return размер сообщения */ int DLL_IMPORT padd(unsigned char *data, size_t length, size_t blockLen); -/** @brief . -1 +/** @brief Удаление дополненных данных. При ошибках возвращается значение -1 * - * @param[in] data - * @param[in] length - * @return + * @param[in] data сообщение + * @param[in] length размер сообщения + * @return размер сообщения */ int DLL_IMPORT unpadd(unsigned char *data, size_t length); diff --git a/plugins/Kuzne4ikCrypt/src/GOST/table.h b/plugins/Kuzne4ikCrypt/src/GOST/table.h index c839240ad1..082e2afc00 100644 --- a/plugins/Kuzne4ikCrypt/src/GOST/table.h +++ b/plugins/Kuzne4ikCrypt/src/GOST/table.h @@ -1,7 +1,7 @@ #ifndef TABLE_H #define TABLE_H -/** @brief */ +/** @brief таблица для умножения */ static const unsigned char multTable[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/plugins/Kuzne4ikCrypt/src/version.h b/plugins/Kuzne4ikCrypt/src/version.h index c9bbc09e57..4603c35674 100644 --- a/plugins/Kuzne4ikCrypt/src/version.h +++ b/plugins/Kuzne4ikCrypt/src/version.h @@ -9,4 +9,4 @@ #define __AUTHOR "Miranda NG Development Team" #define __AUTHOREMAIL "" #define __AUTHORWEB "https://miranda-ng.org/p//" -#define __COPYRIGHT " 2016-17 Miranda NG Development Team" +#define __COPYRIGHT "© 2016-17 Miranda NG Development Team" -- cgit v1.2.3