From ef283e837d3d9dd164de4e26ddc6858f86cf341c Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Wed, 15 Jun 2022 17:20:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index d8f0e38..1eb205c 100644 --- a/main.c +++ b/main.c @@ -47,9 +47,11 @@ void X(chunk a, chunk b, chunk c) // Функция S void S(chunk in_out) { + // Счетчик + int i; // Переход к представлению в байтах uint8_t *byte = (int8_t*) in_out; - for (int i = 0; i < KUZNECHIK_BLOCK_SIZE; i++) + for (i = 0; i < KUZNECHIK_BLOCK_SIZE; i++) { byte[i] = Pi[byte[i]]; } @@ -75,11 +77,13 @@ uint8_t GF_mult(uint8_t a, uint8_t b) // Функция R void R(uint8_t *in_out) { + // Счетчик + int i; // Аккумулятор uint8_t acc = in_out[15]; // Переход к представлению в байтах uint8_t *byte = (int8_t*) in_out; - for (int i = 14; i >= 0; i--) + for (i = 14; i >= 0; i--) { byte[i + 1] = byte[i]; acc ^= GF_mult(byte[i], linear_vector[i]); @@ -90,7 +94,9 @@ void R(uint8_t *in_out) // Функция L void L(uint8_t* in_out) { - for (int i = 0; i < KUZNECHIK_BLOCK_SIZE; i++) + // Счетчик + int i; + for (i = 0; i < KUZNECHIK_BLOCK_SIZE; i++) R(in_out); } @@ -160,11 +166,13 @@ void gen_round_keys(uint8_t* key, chunk* round_keys) // Поддерживает запись результата в исходный массив void kuznechik_encrypt(chunk *round_keys, chunk in, chunk out) { + // Счетчик + int i; chunk p; // Создадим копию входных данных memcpy(p, in, sizeof(chunk)); // В течении 10 итераций - for (int i = 0; i < 10; i++) + for (i = 0; i < 10; i++) { // Преобразование X X(p, round_keys[i], p); @@ -198,7 +206,7 @@ int main(int argc, char *argv[]) 0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff, 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77, 0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10, - 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, + 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef }; // Итерационные ключи