summaryrefslogtreecommitdiff
path: root/plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h')
-rw-r--r--plugins/Kuzne4ikCrypt/src/GOST/block_chipher.h406
1 files changed, 203 insertions, 203 deletions
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);