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

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
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
};
// Итерационные ключи