Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

Алгоритм RSA   Найти похожие ветки 

 
Сергей Бушин   (2004-04-30 05:24) [0]

Люди где найти нормальные исходники алгортима RSA для Delphi? Нужны именно исходники, а не компоненты на основе PGP или еще чего нибудь.


 
Dimaxx ©   (2004-04-30 22:02) [1]

Он вроде патентован/копирайтовый и ты не можешь просто так его использовать. Исходники должны быть в инете, но я не находил.


 
Goida ©   (2004-05-02 02:42) [2]

На вот тебе исходник. Кажется RSA. Мне не жалко.
function Find_D(e,N: int64): int64;
var
   i,ed: int64;
begin
   Result := 0;
   i := 1;
   repeat
       ed := N*i+1;
       Result := ed div e;
       i:=i+1;
   until ((e*Result)mod N) = 1
end;

function ExpMod(x,p,n: int64): int64;
var
   Res: int64;
begin
   if p = 0
   then begin
           Result := 1;
           exit
       end;
   if (p mod 2) = 0
   then begin
           Res := expmod(x, p div 2, n);
           Result := (Res*Res) mod n;
           exit
        end;
   Result := (x*expmod(x, p-1, n)) mod n;
end;

procedure TfmLab5.CodeExecute(Sender: TObject);
var
   fCode: file;
   i,n: integer;
   da,db,c: integer;
begin
   n:=1;//первый файл
   if CodedFName = ""
   then if SaveDialog1.Execute
        then
           CodedFName := SaveDialog1.FileName
        else
           exit;
   //составим первый файл
   insert("_"+inttostr(n),CodedFName,length(CodedFName)-3);
   if fmInputNum.ShowModal <> mrOK
   then
       exit;
   assignfile(fCode,CodedFName);
   rewrite(fCode,1);
   for i := 1 to length(Memo1.Lines.Text) do
   begin
       c:=expmod(ord(Memo1.Lines.Text[i]),uInputNum.EA,uInputNum.P*uInputNum.Q);
       blockwrite(fCode,c,sizeof(c))
   end;
   closefile(fCode);
   Application.ProcessMessages;
   //теперь составим второй файл
   n := n+1;
   delete(CodedFName,length(CodedFname)-5,2);
   insert("_"+inttostr(n),CodedFName,length(CodedFName)-3);
   assignfile(fCode,CodedFName);
   rewrite(fCode,1);
   for i := 1 to length(Memo1.Lines.Text) do
   begin
       c := expmod(ord(Memo1.Lines.Text[i]),uInputNum.EA,uInputNum.P*uInputNum.Q);
       c := expmod(c,uInputNum.EB,uInputNum.P*uInputNum.Q);
       blockwrite(fCode,c,sizeof(c))
   end;
   closefile(fCode);
   Application.ProcessMessages;
   //3-й файл
   n := n+1;
   delete(CodedFName,length(CodedFname)-5,2);
   insert("_"+inttostr(n),CodedFName,length(CodedFName)-3);
   da := Find_D(uInputNum.EA,(uInputNum.P-1)*(uInputNum.Q-1));
   assignfile(fCode,CodedFName);
   rewrite(fCode,1);
   for i := 1 to length(Memo1.Lines.Text) do
   begin
       c := expmod(ord(Memo1.Lines.Text[i]),uInputNum.EA,uInputNum.P*uInputNum.Q);
       c := expmod(c,uInputNum.EB,uInputNum.P*uInputNum.Q);
       c := expmod(c,da,uInputNum.P*uInputNum.Q);
       blockwrite(fCode,c,sizeof(c))
   end;
   closefile(fCode);
   Application.ProcessMessages;
   //4-й файл
   n := n+1;
   delete(CodedFName,length(CodedFname)-5,2);
   insert("_"+inttostr(n),CodedFName,length(CodedFName)-3);
   db := Find_D(uInputNum.EB,(uInputNum.P-1)*(uInputNum.Q-1));
   assignfile(fCode,CodedFName);
   rewrite(fCode,1);
   for i := 1 to length(Memo1.Lines.Text) do
   begin
       c := expmod(ord(Memo1.Lines.Text[i]),uInputNum.EA,uInputNum.P*uInputNum.Q);
       c := expmod(c,uInputNum.EB,uInputNum.P*uInputNum.Q);
       c := expmod(c,da,uInputNum.P*uInputNum.Q);
       c := expmod(c,db,uInputNum.P*uInputNum.Q);
       blockwrite(fCode,c,1)//записываем один байт, т.к. должна быть буква
   end;
   closefile(fCode);
   Application.ProcessMessages;
   Application.MessageBox("Encryption complited!","Coding...",MB_OK+MB_ICONINFORMATION)
end;


 
DDA ©   (2004-05-02 15:14) [3]

Ищи библеотеку FGint

Хотя она вот здесь
http://triade.studentenweb.org



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.083 c
6-1080171712
DelphiCoder
2004-03-25 02:41
2004.05.16
Послать запрос на HTML- страницу


4-1080568055
Boris_S
2004-03-29 17:47
2004.05.16
как вызвать процесс и дождаться окончания его выполнения?


14-1083066558
SergP
2004-04-27 15:49
2004.05.16
HTML...Проблема. Может кто знает как ее лечить?


4-1080639896
DennisLNC
2004-03-30 13:44
2004.05.16
Перерисовка


3-1082561117
mur
2004-04-21 19:25
2004.05.16
ещё раз про поиск через SQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский