n="justify"> fread (Y, sizeof (unsigned), 8, Y_file);
fclose (Y_file);
Pow_N (Y, X, P, key2);
fwrite (& key2, sizeof (unsigned), 8, rezkey);
fclose (rezkey);
// ======================================== =============
int j;
fprintf (stat, В« t tФайл статистики для ЦРК . n");
fprintf (stat, tПользователь 1:% d. tадрес: , Num1);
for (j = 5; j> = 0; j -) fprintf (stat, % .4 X , R1 [j]);
fprintf (stat, n tПользователь 2:% d. tадрес: , Num2); span>
for (j = 5; j> = 0; j -) fprintf (stat, % .4 X , R2 [j]);
fprintf (stat, n t1) Основний ключ: n t t ); span>
for (j = 7; j> = 0; j -) fprintf (stat, % .4 X , key1 [j]);
fprintf (stat, n t2) Резервний ключ: n t t ); span>
for (j = 7; j> = 0; j -) fprintf (stat, % .4 X , key2 [j]);
fprintf (stat, n n t В© 2001 A. Bashmakov );
// ======================================== =============
return 0;
}
Управління здійснюється з командного рядка):
crk.exe U1_number U2_number U1.x U2.y matrix.lin.
Тобто вказується номери абонентів, які хочуть встановити зв'язок, секретний ключ першого абонента, відкритий ключ другого і файл містить випадкову матрицю.
Результатом є два файли з основним (*. lin) і резервним (*. d_h) ключами, а також файл-звіту stat.txt.
Приклад звіту:
Файл статистики для ЦРК.
Користувач 1: 10. адреса: 4F570112060A6AF33436B67A
Користувач 2: 20. адреса: E827254578884F57060A3436
1) Основний ключ:
4FA0F597B4F49770365581D7ACB2F3BF
2) Резервний ключ:
5FA91077838BDEFB20DD14BAE77A8B19
(c) 2001 A. Bashmakov
ДОДАТОК 5
Допоміжні фу...