diff options
Diffstat (limited to 'plugins/Kuzne4ikCrypt')
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/GOST/28147_14.cpp | 8 | ||||
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/GOST/28147_14.h | 190 | ||||
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/GOST/block_chipher.cpp | 168 | ||||
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h | 406 | ||||
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/GOST/table.h | 2 | ||||
-rw-r--r-- | plugins/Kuzne4ikCrypt/src/version.h | 2 |
6 files changed, 388 insertions, 388 deletions
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"
|