Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 06.11.2009, 13:27   #3
Новичок
 
Регистрация: 05.11.2009
Сообщений: 10
Сказал Спасибо: 1
Имеет 1 спасибку в 1 сообщении
Blo0DeX пока неопределено
По умолчанию

xkor, насколько я понял В используется только для обозначения длины ключа...
Про GMP я уже читал и на этом форуме и на олчитс, но не мог никак выбрать нужные мне функции, в итоге скачал исходники GMP и там уже все нашел.

mpz_inp_str(dest_integer, stream, base) -- Input a number in base BASE from stdio stream STREAM and store the result in DEST_INTEGER.
#define mpz_inp_str __gmpz_inp_str
__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int));

mpz_powm(res,base,exp,mod) -- Set RES to (base**exp) mod MOD.
#define mpz_powm __gmpz_powm
__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr));

mpz_out_str(stream, base, integer) -- Output to STREAM the multi prec. integer INTEGER in base BASE.
#define mpz_out_str __gmpz_out_str
__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr));


И если я все правильно понял, то должно получиться примерно сследующее:
Код:
void RSA_Encrypt(char *packet,char *RSAKey)
	{
        char *string_to_encrypt;
        memcpy(string_to_encrypt,packet+2,128); //необходимо зашифровать только 128 байт начиная с 3

	mpz_t Pa,raw,n,e;  
	mpz_init(Pa);
	mpz_init(raw);
	mpz_init(n);
	mpz_init(e);
	
	mpz_inp_str(raw,string_to_encode,16);
	mpz_inp_str(n,RSAKey,16);
	mpz_inp_str(e,"65537",10);

	mpz_powm(
	Pa,   // рез-т
	raw,  // основание (т.е. блок, который необходимо зашифровать)
	e,    //65537
	n);   //из пакета инит
	
	mpz_out_str(
	string_to_encrypt, 
	16,    	
	Pa);    
        memcpy(packet+2,string_to_encrypt,128); //запихиваем в пакет зашифрованный блок
	}

Последний раз редактировалось Blo0DeX, 06.11.2009 в 16:09.
Blo0DeX вне форума   Ответить с цитированием
 

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:54.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!