Показать сообщение отдельно
Старый 23.06.2009, 20:20   #69
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, угу, тока на С она, но нам нужны не сорцы а libgmp-3.dll
воть импорт всех функций которые для РСА могут потребоваться:
delphi Код:
mpz_t = record     mp_alloc,     mp_size: Integer;     mp_d:    Pointer;   end; const   gmpdll = 'libgmp-3.dll'; procedure mpz_init(var Dest: mpz_t); cdecl;   external gmpdll name '__gmpz_init'; procedure mpz_init_set_ui(var Dest: mpz_t; Src: Cardinal); cdecl;   external gmpdll name '__gmpz_init_set_ui'; procedure mpz_clear(var Dest: mpz_t); cdecl;   external gmpdll name '__gmpz_clear'; procedure mpz_powm(var Dest: mpz_t; const Base, Exponent, Modulus: mpz_t); cdecl;   external gmpdll name '__gmpz_powm'; procedure mpz_powm_ui(var Dest: mpz_t; var Base: mpz_t; Exponent: Cardinal;   const Modulus: mpz_t); cdecl;   external gmpdll name '__gmpz_powm_ui'; function  mpz_probab_prime_p(var Src: mpz_t; Repetitions: Integer): Integer; cdecl;   external gmpdll name '__gmpz_probab_prime_p'; procedure mpz_add_ui(var Dest: mpz_t; var Src1: mpz_t; Src2: Cardinal); cdecl;   external gmpdll name '__gmpz_add_ui'; procedure mpz_random(var Dest: mpz_t; MaxSize: Integer); cdecl;   external gmpdll name '__gmpz_random'; procedure mpz_nextprime(var Dest: mpz_t; var Src: mpz_t); cdecl;   external gmpdll name '__gmpz_nextprime'; procedure mpz_mul(var Dest: mpz_t; var Src1, Src2: mpz_t); cdecl;   external gmpdll name '__gmpz_mul'; procedure mpz_sub_ui(var Dest: mpz_t; var Src1: mpz_t; Src2: Cardinal); cdecl;   external gmpdll name '__gmpz_sub_ui'; function  mpz_invert(var Dest: mpz_t; var Src, Modulus: mpz_t): Integer; cdecl;   external gmpdll name '__gmpz_invert'; function  mpz_get_str(Dest: PAnsiChar; Base: Integer; var Src: mpz_t): PAnsiChar; cdecl;   external gmpdll name '__gmpz_get_str'; procedure mpz_mul_ui(var Dest: mpz_t; var Src1: mpz_t; Src2: Cardinal); cdecl;   external gmpdll name '__gmpz_mul_ui'; procedure mpz_mul_si(var Dest: mpz_t; var Src1: mpz_t; Src2: Integer); cdecl;   external gmpdll name '__gmpz_mul_si'; procedure mpz_mod(var Dest: mpz_t; var Src1,Src2: mpz_t); cdecl;   external gmpdll name '__gmpz_mod'; function  mpz_cmp_si(var Src1: mpz_t; Src2: Integer): Integer; cdecl;   external gmpdll name '__gmpz_cmp_si'; procedure mpz_cdiv_q(var Dest: mpz_t; var Src1, Src2: mpz_t); cdecl;   external gmpdll name '__gmpz_cdiv_q'; function  mpz_size(var Src1: mpz_t): Integer; cdecl;   external gmpdll name '__gmpz_size'; procedure mpz_import(var rop: mpz_t; count, order, size, endian,   nails: Cardinal; const op); cdecl;   external gmpdll name '__gmpz_import'; procedure mpz_export(var rop, count; order, size, endian,   nails: Cardinal; const op: mpz_t); cdecl;   external gmpdll name '__gmpz_export';
реализации функций шифрования/дешифрования и генерации ключей пока публиковать не буду...

Добавлено через 1 час 8 минут
libgmp-3.dll кстати можно взять из l2encdec, он тоже на ней работает
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 23.06.2009 в 20:20. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от: