Программинг Форум для тем связанных с программированием
07.11.2009, 00:25
#1
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Blo0DeX , ну она и делает то же самое, отличается тока типом одного из параметров
__________________
Я здесь практически не появляюсь!, Skype - ikskor
12.11.2010, 18:50
#2
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gmp.h>
int main (int argc, char **argv)
{
//var
char rsakey[16] = {'1','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char* pack = "123AAA45";
printf("pack = %s\n",pack);
printf("rsakey = %s\n",rsakey);
//begin*
// инициализация переменных
mpz_t m, e, d, r;
mpz_init(m);
mpz_init(e);
mpz_init(d);
mpz_init(r);
mpz_init_set_str(m, rsakey, 16);
mpz_init_set_str(d, pack, 16);
//mpz_set_ui(e,65537); один хер.
mpz_init_set_str(e, "65537", 10);
mpz_powm(r, d, e, m);
//mpz_get_str(sR, 16, r);
//char* sR = mpz_get_str(NULL, 16, d);
char sR[5000] = {};
mpz_get_str(sR, 16, r);
int k = strlen(sR);
printf("результат = %s | размер %i\n",sR, k);
mpz_clear(m);
mpz_clear(e);
mpz_clear(d);
mpz_clear(r);
printf("Finish\n");
return 100500; //стопицот
}
13.11.2010, 00:22
#3
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Кислый , это ты к чему решил воскресить прошлогоднюю тему?
__________________
Я здесь практически не появляюсь!, Skype - ikskor
13.11.2010, 13:32
#4
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
да к тому, что она послужила для меня отправной точкой в поиске решения ))
в принципе код рабочий, но смущает вот что: pack и rsakey должны состаять из символов 16й системы счисления.. (т.е. {'0','1','2','3','4','5','6','7','8','9','A','B',' C','D','E','F'}
.
является ли это затруднением ?
учитывая что pack - это 132 байта. при этом как минимум 30 байт (логин и пасс ) могут содержать другие символы
13.11.2010, 14:36
#5
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Цитата:
Сообщение от
Кислый
pack и rsakey должны состаять из символов 16й системы счисления
кому они это должны?
__________________
Я здесь практически не появляюсь!, Skype - ikskor
13.11.2010, 16:56
#6
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
приведенному мною коду
Цитата:
pack = 123AAA45M
rsakey = 1123456789ABCDEF
результат = 0 | размер 1
F
Цитата:
pack = 123AAA45F
rsakey = 1123456789ABCDEF
результат = 100ef4fc65feff86 | размер 16
F
Добавлено через 1 час 1 минуту
xkor ,
какие функции ты использовал ?
у меня мысть уже была организовать перевод str2hex, но это повлечет за собой необоснованное увеличение длинны
pack
была мысль
Добавлено через 1 минуту
была мысль выставить base = 256, но выдает на гора ошибку :
Цитата:
Исключение в операции с плавающей точкой
Последний раз редактировалось Кислый, 13.11.2010 в 16:56 .
Причина: Добавлено сообщение
13.11.2010, 18:01
#7
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Кислый , у меня так:
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 ;
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Опции темы
Опции просмотра
Комбинированный вид
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 10:10 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!