Мелкие правки

This commit is contained in:
re.kovalev 2022-06-15 17:20:31 +03:00
parent 2c3625c389
commit ef283e837d
1 changed files with 13 additions and 5 deletions

18
main.c
View File

@ -47,9 +47,11 @@ void X(chunk a, chunk b, chunk c)
// Функция S // Функция S
void S(chunk in_out) void S(chunk in_out)
{ {
// Счетчик
int i;
// Переход к представлению в байтах // Переход к представлению в байтах
uint8_t *byte = (int8_t*) in_out; 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]]; byte[i] = Pi[byte[i]];
} }
@ -75,11 +77,13 @@ uint8_t GF_mult(uint8_t a, uint8_t b)
// Функция R // Функция R
void R(uint8_t *in_out) void R(uint8_t *in_out)
{ {
// Счетчик
int i;
// Аккумулятор // Аккумулятор
uint8_t acc = in_out[15]; uint8_t acc = in_out[15];
// Переход к представлению в байтах // Переход к представлению в байтах
uint8_t *byte = (int8_t*) in_out; 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]; byte[i + 1] = byte[i];
acc ^= GF_mult(byte[i], linear_vector[i]); acc ^= GF_mult(byte[i], linear_vector[i]);
@ -90,7 +94,9 @@ void R(uint8_t *in_out)
// Функция L // Функция L
void L(uint8_t* in_out) 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); 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) void kuznechik_encrypt(chunk *round_keys, chunk in, chunk out)
{ {
// Счетчик
int i;
chunk p; chunk p;
// Создадим копию входных данных // Создадим копию входных данных
memcpy(p, in, sizeof(chunk)); memcpy(p, in, sizeof(chunk));
// В течении 10 итераций // В течении 10 итераций
for (int i = 0; i < 10; i++) for (i = 0; i < 10; i++)
{ {
// Преобразование X // Преобразование X
X(p, round_keys[i], p); X(p, round_keys[i], p);
@ -198,7 +206,7 @@ int main(int argc, char *argv[])
0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff, 0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,
0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77, 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,
0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10, 0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef
}; };
// Итерационные ключи // Итерационные ключи