Автор: Пользователь скрыл имя, 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 жүйесінің программалық коды .	??
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
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; 
                              
if y1<>y2 then begin
x3:=0;
y3:=0; end;
                              
 
 
 
Edit8.Text:=floattostr(x3);
          
Edit9.Text:=floattostr(y3); 
                              
edit23.Text:=inttostr(x3);
        
edit24.Text:=inttostr(y3); 
 
          
edit6.Text:=inttostr(strtoint(
           
edit8.Text:=inttostr(strtoint(
             
edit7.Text:=inttostr(strtoint(
               
edit9.Text:=inttostr(strtoint(
             
for k:=1 to Strtoint(Edit12.Text)-1 do                            
x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);
     y1:=Strtoint(edit7.Text); 
y2:=Strtoint(edit9.Text); 
 
        
if (x1<>x2)    then                          
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; 
 
                              
 
 
 
 
 
 
 
         
if (x1=x2)  then       
                              
zz:=y1+y2;
if zz=0 then begin
x3:=0;y3:=0; end
else
           
if y1=y2 then                          
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;
                              
 
 
 
Edit8.Text:=inttostr(x3);
          
Edit9.Text:=inttostr(y3); 
                              
Edit17.Text:=inttostr(x3);
          
Edit18.Text:=inttostr(y3); 
        
edit6.Text:=inttostr(strtoint(
           
edit8.Text:=inttostr(strtoint(
             
edit7.Text:=inttostr(strtoint(
               
edit9.Text:=inttostr(strtoint(
             
for k:=1 to 1 do                            
x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);
     y1:=Strtoint(edit7.Text); 
y2:=Strtoint(edit9.Text); 
 
        
if (x1<>x2)    then                          
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; 
 
                              
 
 
 
 
 
 
 
         
if (x1=x2)  then                          
zz:=y1+y2;
if zz=0 then begin
x3:=0;y3:=0; end
else
           
if y1=y2 then                          
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; 
                              
if y1<>y2 then begin
x3:=0;
y3:=0; end;
                              
 
 
 
Edit8.Text:=inttostr(x3);
          
Edit9.Text:=inttostr(y3); 
                              
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,
begin
     edit6.Text:=inttostr(
     edit7.Text:=inttostr(
     edit8.Text:=inttostr(
     edit9.Text:=inttostr(
     edit12.Text:=inttostr(
m:=strtoint(edit4.Text);
     for 
k:=1 to Strtoint(Edit12.Text)-1 do                            
x1:=Strtoint(edit6.Text); x2:=Strtoint(edit8.Text);
     y1:=Strtoint(edit7.Text); 
y2:=Strtoint(edit9.Text); 
 
        
if (x1<>x2)    then                          
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; 
 
                              
 
 
 
 
 
 
 
         
if (x1=x2)  then                          
zz:=y1+y2;
if zz=0 then begin
x3:=0;y3:=0; end
          
else 
           
if y1=y2 then                          
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; 
         
                              
if y1<>y2 then begin
x3:=0;
y3:=0; end;