Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachnik_Mok.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
346.32 Кб
Скачать

Приложение 3 Листинг программы для решения задач 5.3, 5.4 на языке Pascal

Программа реализует обобщенный алгоритм Евклида, сложение и удвоение точек, а также умножение точки на скаляр с использованием схемы Горнера.

var

a:array[1..10]of boolean;

xn,yn,p,k,xk,yk,i,j,x,y:integer;

function ee(pe,ae:integer):integer;

var u1,u2,u3,v1,v2,v3,t1,t2,t3,q:integer;

begin

u1:=1; u2:=0; u3:=pe;

v1:=0; v2:=1; v3:=ae;

while v3>0 do

begin

q:=trunc(u3/v3);

t1:=u1-v1*q;

t2:=u2-v2*q;

t3:=u3-v3*q;

u1:=v1;

u2:=v2;

u3:=v3;

v1:=t1;

v2:=t2;

v3:=t3;

end;

if u3=1

then if u2>0

then ee:=u2

else ee:=pe+u2

else ee:=0

end;

procedure dub(x1,y1,pm:integer; var x3,y3:integer);

var lam:integer;

begin

lam:=((3*x1*x1+1)mod pm)*ee(pm,(2*y1)mod pm);

lam:=lam mod pm;

x3:=(lam*lam)mod pm - (2*x1)mod pm;

while x3<0 do x3:=x3+pm;

x3:=x3 mod pm;

y3:=(x1-x3)*lam - y1;

while y3<0 do y3:=y3+pm;

y3:=y3 mod pm;

end;

procedure ad(x1,y1,x2,y2,pm:integer; var x3,y3:integer);

var lam,chz,znam:integer;

begin

chz:=y2 - y1;

while chz<0 do chz:=chz+pm;

znam:=x2 - x1;

while znam<0 do znam:=znam+pm;

lam:=(chz)*ee(pm,znam);

lam:=lam mod pm;

x3:=(lam*lam)mod pm - x1 - x2;

while x3<0 do x3:=x3+pm;

y3:=(x1-x3)*lam - y1;

while y3<0 do y3:=y3+pm;

y3:=y3 mod pm;

end;

begin

write('x=');readln(xn);

write('y=');readln(yn);

{write('p=');readln(p);}p:=199;

write('k=');readln(k);

j:=0;

while k>0 do

begin

j:=j+1;

if odd(k) then a[j]:=true

else a[j]:=false;

k:=k div 2

end;

x:=xn;y:=yn;

for i:=j-1 downto 1 do

begin

if a[i]

then

begin

dub(x,y,p,xk,yk);x:=xk;y:=yk;

ad(x,y,xn,yn,p,xk,yk)

end

else dub(x,y,p,xk,yk);

x:=xk;y:=yk;

end;

{dub(xn,yn,p,x,y);

for i:=2 to k-1 do

begin

ad(x,y,xn,yn,p,xk,yk);

x:=xk;

y:=yk;

end;}

writeln(x,' ',y)

end.

Список использованной и рекомендуемой литературы.

  1. Аверченков В.И. Криптографические методы защиты информации: учебное пособие./ Аверченков В.И., Рытов М.Ю., Шпичак С.А. – Брянск: Изд-во БГТУ, 2011. – 216 с.

  2. Алферов А.П. Основы криптографии: учебное пособие./ Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. – М.: Гелиос-АРВ, 2001. – 480 с.

  3. Болотов А.А. Элементарное введение в эллиптическую криптографию: Алгебраические и алгоритмические основы./ Болотов А.А., Гашков С.Б., Фролов А.Б., Часовских А.А. – М.: КомКнига, 2006. – 328 с.

  4. Болотов А.А. Элементарное введение в эллиптическую криптографию: Протоколы криптографии на эллиптических кривых./ Болотов А.А., Гашков С.Б., Фролов А.Б., Часовских А.А. – М.: КомКнига, 2006. – 280 с.

  5. Василенко О.Н. Теоретико-числовые алгоритмы в криптографии./ Василенко О.Н. – М.: МЦНМО, 2003. – 328 с.

  6. Запечников С.В. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: учебное пособие./ Запечников С.В. - М.: Горячая линия-Телеком, 2007. – 320 с.

  7. Кнут. Д. Искусство программирования. Т.2. Получисленные алгоритмы./Дональд Кнут. Пер. с англ. – М.: Вильямс – 2001 г.638 с.

  8. Маховенко Е.Б. Теоретико-числовые методы в криптографии: учебное пособие./ Маховенко Е.Б. – М.: Гелиос-АРВ, 2006. – 320 с.

  9. Рябко Б.Я. Криптографические методы защиты информации: учебное пособие./ Рябко Б.Я., Фионов А.Н. – М.: Горячая линия-Телеком, 2005. – 229 с.

  10. Смарт. Н. Криптография./Найджел Смарт. Пер с англ. – М.: Техносфера, 2005. – 528 с.

  11. Столлингс В. Криптография и защита сетей. Принципы и практика. 2-е изд./Вильям Столингс. Пер с англ. – М.: Вильямс, 2001. – 672 с.

  12. Черемушкин А.В. Лекции по арифметическим алгоритмам в криптографии./ Черемушкин А.В. – М.:МЦНМО, 2002. – 104 с.

  13. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си./ Брюс Шнайер. Пер. с англ. – М.: ТРИУМФ, 2003. – 816 с.

Учебное издание

Рытов Михаил Юрьевич

Грабежов Илья Ефимович

Шпичак Сергей Александрович

Математические основы криптологии.

Задачник-практикум.

Редактор издательства

Компьютерный набор С.А. Шпичак

Темплан 2014г., п.

Подписано в печать __.___.14 Формат 60х84 1/16 Бумага офсетная. Офсетная печать. Усл. печ. л. ____ Уч.-изд. л. 12,42

Тираж ____ экз. Заказ ____

Издательство Брянского государственного технического университета

241035, Брянск, бульвар им. 50-летия Октября, 7, БГТУ, тел. 58-82-49

Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]