Yegor, гы, по началу возникло странное чувство откуда код такой похожий на тот что у меня, потом вспомнил что я его сам когда то где то списал)
ЗЫ счас то я не FGInt использую а GMP, пашет в 20 раз быстрее и не глючит (FGInt изредка бывает ошибается вроде)
вот как у меня было кста:
delphi Код:
function RSAEncrypt(a, p: string; var rsakey): string;
var
sD,sR,sM:string;
m,e,d,r: TFGInt;
begin
RSAkeyDecode(rsakey);
if length(a)>14 then setlength(a,14);
while length(a)<14 do a:=a+#0;
if length(p)>16 then setlength(p,16);
while length(p)<16 do p:=p+#0;
sD:=#$20#0#0+a+p+#0#0#0#0;
SetLength(sM,128);
Move(rsakey,sM[1],128);
Base10StringToFGInt('65537',e);
Base256StringToFGInt(sD,d);
Base256StringToFGInt(sM,m);
FGIntMontgomeryModExp(d,e,m,r);
FGIntToBase256String(r,sR);
result:=sR;
end;
ЗЫ нули перед тем неизвестным байтиком бессмысленны ибо это всё равно что написать 000000340, что будет равно 340