20965

Використання алгоритмів шифрування з відкритими ключами

Практическая работа

Информатика, кибернетика и программирование

Постановка задачі Необхідно розробити і налагодити дві програми: Програма шифрування інформації з використанням визначених алгоритмів. Програма дешифрування інформації повернення початкового вигляду файла; а також оцінити правильність процедури шифрування дешифрування відсутність зміни результату відносно початкового файлу.09 funkcja f dla kazdej rundy czynniki pierwsze klucz zakryty p1 4 = 0 q1 4 = 0 p = 19; q = 23; n = pq; M = random n; print Message = M; print Cryptogram = C; C = M^2 n; m1= C ^...

Украинкский

2013-08-01

45.99 KB

3 чел.

Родін С КІТ-39

Практична робота №2-5

“Використання алгоритмів шифрування з відкритими ключами”

за курсом “Захист інформації у комп’ютерних системах та мережах”

 Ціль роботи :cтворення програм для шифрування-дешифрування інформації на підставі алгоритмів шифрування з відкритими ключами.

Постановка задачі

Необхідно розробити і налагодити дві програми:

Програма шифрування інформації з використанням визначених алгоритмів.

У якості інформації використовувати копію файлу з розробленою програмою.

Програма дешифрування інформації (повернення початкового вигляду файла); а також оцінити правильність процедури “шифрування – дешифрування” (відсутність зміни результату відносно початкового файлу).

Індивідуальні завдання: алгоритм Rabin

Текст програми

/*Rabin*/

/*23.11.09*/

/*funkcja f - dla kazdej rundy*/

/*czynniki pierwsze - klucz zakryty, p+1 % 4 = 0 , q+1 % 4 = 0*/

p = 19;

q = 23;

n = p*q;

M = random % n;

print("Message = ",M);

 /**/

 print("Cryptogram = ",C);

 C = M^2 % n;

 m1= C ^ ((p+1)/4) % p;

 m2= ( p - C ^ ((p+1)/4) )%p;

 m3 = C ^ ((q+1)/4) % q;

 m4 = (q - C ^ ((q+1)/4) )%q;

 for(k=1,p, d=(p*k+1)/q; if( floor(d)-d,,a = q*d;break;break;););

 for(k=1,q, d=(q*k+1)/p; if( floor(d)-d,,b = p*d;break;break;););

 print("Decryption = ");

 M1 = (a*m1+b*m3) % n

 M2 = (a*m1+b*m4) % n

 M3 = (a*m2+b*m3) % n

 M4 = (a*m2+b*m4) % n

Висновки: розробив алгоритм шифрування з відкритими ключами.