Кислый, у меня так:
	delphi Код:
	function RSAEncrypt_GMP(login, psw: AnsiString; var rsakey): TBytes;
var
  sD: AnsiString;
  m,d,r: mpz_t;
  count: Integer;
begin
  RSAkeyDecode(rsakey);
  if length(login)>14 then setlength(login,14);
  while length(login)<14 do login:=login+#0;
  if length(psw)>16 then setlength(psw,16);
  while length(psw)<16 do psw:=psw+#0;
  sD:=#$24#0#0+login+psw+#0#0#0#0;
  mpz_init(m);
  mpz_import(m,128,1,1,0,0,rsakey);
  mpz_init(d);
  mpz_import(d,Length(sD),1,1,0,0,sD[1]);
  mpz_init(r);
  mpz_powm_ui(r,d,65537,m);
  count:=32;
  SetLength(Result,128);
  mpz_export(Result[0],count,1,4,1,0,r);
  mpz_clear(r);
  mpz_clear(d);
  mpz_clear(m);
end;