diff options
| author | Kirill Volinsky <mataes2007@gmail.com> | 2017-11-28 22:12:43 +0300 |
|---|---|---|
| committer | Kirill Volinsky <mataes2007@gmail.com> | 2017-11-28 22:12:43 +0300 |
| commit | 80221d816eeb98f0df38e0243390033c614952f3 (patch) | |
| tree | 7618176108093921b6934343bc2f76a66ea97730 /plugins/Kuzne4ikCrypt/src | |
| parent | 25df99ba7462958f2cb9075020ec1c9a5a7c9f50 (diff) | |
Source files converted to utf-8
Diffstat (limited to 'plugins/Kuzne4ikCrypt/src')
| -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"
|
