Эллиптикалық криптография

Автор: Пользователь скрыл имя, 24 Октября 2011 в 17:52, дипломная работа

Описание работы

Осыған орай дипломдық жұмыстың мақсаты – RSA алгоритмін қазіргі таңдағы технологияларды пайдалана отырып, ақпаратты қорғау саласында кеңінен қолдана алатын автоматтандыру жүйесін құру.
Жұмыстың мақсаты дипломдық жұмыс барысында шешілген келесі міндеттерді анықтады:
Сандар теориясын, оның бөлімдерінің бірі жан сандарды зерттеу. Өте үлкен жай сандарды іздеу
Екілік жүйедегі сандармен жұмыс жасау
Ашық және жабық кілттердің құрылымын зерттеу
Бір компьютерден екінші бір компьютерге ақпаратты шифрлеп жібергенде, барлық қауіпсіздік ережелерін сақтау және зерттеу

Содержание

КІРІСПЕ 3
КРИПТОГРАФИЯ НЕГІЗДЕМЕСІ 5
1 Криптографияның негізгі түсініктемелері мен тарихы 5
2 Математикалық негіздемелер 9
2.1 Күрделілік теориясы 9
2.2 Сандар теориясы 13
2.3 Жай сандар генерациясы 18
3 Криптожүйелердің жұмыс істеу принциптері 20
3.1 Криптографиялық кілттерді басқару 21
3.2 Симметриялық (құпиялы) әдістемелер мен алгоритмдер 22
3.3 Асимметриялық (ашық) әдістемелер мен алгоритмдер 25
4 АШЫҚ КІЛТТІ ҚОЛДАНАТЫН АЛГОРИТМДЕР 29
4.1 Ашық кілтті қолданатын алгоритмдердің қауіпсіздігі 29
4.2 Қол қапшық алгоритмы 30
4.3 RSA алгоритмі 33
4.4. RSA шифрлеу жүйесі 35
4.5 RSA алгоритмінің жұмыс істеу жылдамдығы 39
4.6 RSA қауіпсіздігі 40
4.7 RSA бағдарламалық жабдықтаманың сипаттамасы 48
5 .Эллиптикалық криптография ??
5.1 ??
5.2 . ??
5.3 . ??
5.4 ??
5.5 . ??
6 .Программалық коды ??
6.1 Эллиптикалық қисықтың программалық коды ??
6.2 RSA жүйесінің программалық коды . ??

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ

Работа содержит 1 файл

Диплом Аскара.doc

— 948.50 Кб (Скачать)

          i:=i*x1 mod m;

          i:=(i+Strtoint(edit1.Text)) mod m;

          j:=2*y1 mod m;

           t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 

                                                      end;

              if y1<>y2 then       begin

                  x3:=0;

                  y3:=0;           end;

                                                                end; 
 
 
 

          Edit8.Text:=floattostr(x3);

          Edit9.Text:=floattostr(y3); 

                                                                 end; 

        edit23.Text:=inttostr(x3);

        edit24.Text:=inttostr(y3); 
 

          edit6.Text:=inttostr(strtoint(edit10.Text));

           edit8.Text:=inttostr(strtoint(edit10.Text));

             edit7.Text:=inttostr(strtoint(edit11.Text));

               edit9.Text:=inttostr(strtoint(edit11.Text)); 

             for k:=1 to Strtoint(Edit12.Text)-1 do                                           begin

     x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);

     y1:=Strtoint(edit7.Text); y2:=Strtoint(edit9.Text); 
 

        if (x1<>x2)    then                             begin 

           i:=(m+y2-y1) mod m;

           j:=(m+x2-x1) mod m;

             t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 
 

                                                         end; 
 
 
 
 
 
 
 

         if (x1=x2)  then                                       begin

            zz:=y1+y2;

         if zz=0 then    begin

         x3:=0;y3:=0;    end

          else

           if y1=y2 then                              begin 

          i:=3*x1 mod m;

          i:=i*x1 mod m;

          i:=(i+Strtoint(edit1.Text)) mod m;

         j:=2*y1 mod m;

           t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 

                                                      end;

              if y1<>y2 then       begin

                  x3:=0;

                  y3:=0;           end;

                                                                end; 
 
 
 

          Edit8.Text:=inttostr(x3);

          Edit9.Text:=inttostr(y3); 

                                                                 end; 

          Edit17.Text:=inttostr(x3);

          Edit18.Text:=inttostr(y3); 

        edit6.Text:=inttostr(strtoint(edit21.Text));

           edit8.Text:=inttostr(strtoint(edit23.Text));

             edit7.Text:=inttostr(strtoint(edit22.Text));

               edit9.Text:=inttostr(strtoint(edit24.Text)); 

             for k:=1 to 1 do                                           begin

     x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);

     y1:=Strtoint(edit7.Text); y2:=Strtoint(edit9.Text); 
 

        if (x1<>x2)    then                             begin 

           i:=(m+y2-y1) mod m;

           j:=(m+x2-x1) mod m;

             t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 
 

                                                         end; 
 
 
 
 
 
 
 

         if (x1=x2)  then                                       begin

           zz:=y1+y2;

         if zz=0 then    begin

         x3:=0;y3:=0;    end

          else

           if y1=y2 then                              begin 

          i:=3*x1 mod m;

          i:=i*x1 mod m;

          i:=(i+Strtoint(edit1.Text)) mod m;

          j:=2*y1 mod m;

           t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 

                                                      end;

              if y1<>y2 then       begin

                  x3:=0;

                  y3:=0;           end;

                                                                end; 
 
 
 

          Edit8.Text:=inttostr(x3);

          Edit9.Text:=inttostr(y3); 

                                                                 end; 

          Edit19.Text:=inttostr(x3);

          Edit20.Text:=inttostr(y3); 
 
 

     end;

     procedure TForm1.Button6Click(Sender: TObject);

      Var lam,x1,y1,x2,y2,x3,y3,i,j,m,t,k,zz:integer;

     begin

     edit6.Text:=inttostr(strtoint(edit13.Text));

     edit7.Text:=inttostr(strtoint(edit14.Text));

     edit8.Text:=inttostr(strtoint(edit13.Text));

     edit9.Text:=inttostr(strtoint(edit14.Text));

     edit12.Text:=inttostr(strtoint(edit16.Text)); 

     m:=strtoint(edit4.Text);

     for k:=1 to Strtoint(Edit12.Text)-1 do                                           begin

     x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);

     y1:=Strtoint(edit7.Text); y2:=Strtoint(edit9.Text); 
 

        if (x1<>x2)    then                             begin 

           i:=(m+y2-y1) mod m;

           j:=(m+x2-x1) mod m;

             t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 
 

                                                         end; 
 
 
 
 
 
 
 

         if (x1=x2)  then                                       begin

            zz:=y1+y2;

         if zz=0 then    begin

         x3:=0;y3:=0;    end

          else 

           if y1=y2 then                              begin 

          i:=3*x1 mod m;

          i:=i*x1 mod m;

          i:=(i+Strtoint(edit1.Text)) mod m;

          j:=2*y1 mod m;

           t:=0;

           repeat

           t:=t+1;

           until t*j mod m=1;

           lam:=i*t mod m;

           x3:=lam*lam mod m;

           x3:=(m+m+x3-x1-x2) mod m;

           y3:=(m+x1-x3) mod m;

           y3:=lam*y3 mod m;

           y3:=(m+y3-y1) mod m; 

                                                      end;

              if y1<>y2 then       begin

                  x3:=0;

                  y3:=0;           end;

                                                                end; 
 
 
 

Информация о работе Эллиптикалық криптография