ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
Поделитесь классом для работы с RSA |

27.10.2009, 11:37
|
|
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме: 388345
Репутация:
58
|
|
Поделитесь классом для работы с RSA
Уже не первый день сижу и изобретаю велосипед.
Написал процедуру генерации ключей, но с процедурой шифрования сплошные траблы.
Использую библиотеку gmp для работы с большими числами, но лучше бы от нее избавиться.
Прошу ссылок на вменяемые классы для работы с RSA
|
|
|

27.10.2009, 13:46
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
http://openssl.org/
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

27.10.2009, 14:44
|
|
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме: 388345
Репутация:
58
|
|
Мне нужен класс только для RSA. Без сторонних библиотек и наворотов.
|
|
|

27.10.2009, 14:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
ну подруби только то, что нужно, из хедеров.
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

28.10.2009, 10:17
|
|
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме: 388345
Репутация:
58
|
|
Всеравно эта либа огромная. Вчера полвечера проплясал с бубном в одной руке и напильником в другой, пытаясь скомпилить OpenSSL без лишних модулей. MD5, HMAC и SHA отключить так и не удалось. В итоге получилась либа libcrypto.a 2Мб и libssl.a 390Кб, а простой экзешник с генерацией ключей и шифрованием файла занимает 700+ Кб.
Еще линкер требует из-за libcrypto подключать libgdi32, т.к. отсутствуют функции CreateDC и т.п.
К плюсам OpenSSL можно отнести простоту написания программы, все очень удобно.
Но мне придется искать другие варианты. Кроме OpenSSL еще что-нибудь можете посоветовать?
|
|
|

28.10.2009, 13:04
|
|
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме: 388345
Репутация:
58
|
|
Вот релиз от z0mbie, но на TASM32: http://z0mbie.daemonlab.org/rsalib6.zip
Размер 3Кб, но как его приделать к проекту на C++?
|
|
|

28.10.2009, 14:03
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Код:
; input:
; IN ECX = length = l (in BITs)
; IN ESI[ECX] = dividend = x
; IN EDI[ECX] = divisor = y
; OUT EAX[ECX] = result = d
; OUT EDX[ECX] = remainder = m
; modify:
; none
x = [esp].pusha_esi
y = [esp].pusha_edi
d = [esp].pusha_eax
m = [esp].pusha_edx
divmod: pusha
lea ebx, [ecx-1] ; for (i=KEYLEN-1; i>=0; i--)
shr ecx, 5 ; EBP = length in DWORD's
mov ebp, ecx
mov edi, eax ; d = 0
xor eax, eax
rep stosd
mov edi, edx ; m = 0
mov ecx, ebp
rep stosd
__main_cycle: ; {//for i
mov edi, d ; d <<= 1
mov ecx, ebp
clc
RCL_CYCLE
mov eax, x ; CF = x.bit[i]
bt [eax], ebx
; CF
mov edi, edx ; m = (m << 1) | CF
mov ecx, ebp
RCL_CYCLE
mov edi, edx ; if (m >= y)
mov esi, y ; {
mov ecx, ebp
CMP_CYCLE __b, __ae
__ae:
mov ecx, ebp ; m -= y
clc
SBB_CYCLE
mov eax, d ; d |= 1
or byte ptr [eax], 1
__b: ; }
dec ebx
jns __main_cycle ; }//for i
popa
retn
Если деление реализовано так, то работать оно будет меедлеенно
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|