crypto:rsa_public_encrypt пример

67 views
Skip to first unread message

Alex Kutsko

unread,
Jul 2, 2009, 8:41:54 AM7/2/09
to erlang-...@googlegroups.com
Может кто нибудь подскажет где найти пример по сабжу?

--
Best regards,
Alex Kutsko

Alexander Dergachev

unread,
Jul 2, 2009, 10:45:59 AM7/2/09
to erlang-...@googlegroups.com
Могу показать пример, когда окажусь дома (примерно через пару
часов)...только он не будет работать :) дело в то, как я понял там
давно ничего не обновлялось из да того что libcrypto имеет разные
версии на разных платформах (как известно Erlang OTP кроме Linux
поддерживает как минимум Solaris, Windows и MaCOS), и текущая
реализация корректна, судя по всему, для какой-то древней версии
libcrypto.Когда я писал курсовой проект, мне пришлось переписать все
функции работы с RSA практически с нуля, и добавить одну новую, для
генерации ключа. На сколько я понял из одного недавнего письма в
рассылке erlang-patches, ребята из Erlang OTP team в курсе данных
проблем, и собираются их решать, но различия версии libcrypto на
разных платформах их тормозит, и когда это будет готово не знает
никто. Если интересно, то стучится в jabber: cy6er...@jabber.ru,
помогу чем смогу :) как минимум мои патчи у меня сохранились, но
требуют некоторой доработки.

Удачи!


--
With Best Regards,
Alexander Dergachev

Alex Kutsko

unread,
Jul 6, 2009, 4:59:51 AM7/6/09
to erlang-...@googlegroups.com
Спасибо Александру Дергачеву, с его помощью разобрался. Если кто будет пользоваться - обратите внимание на то что длина сообщения ограничена, так что нужно разбивать на части.
код:

N=967638857302834660764882763904448035435073444644083760527780550726307971460619683126465685994589442949811931966094798480668769197, 
D=414702367415500568899235470244763443757888619133178754511905950283943230245925749951816401493352286133311189794309745737857051223,
E=7,
PrivKey = [crypto:mpint(E), crypto:mpint(N), crypto:mpint(D)] ,                                                                 
PubKey = [crypto:mpint(E), crypto:mpint(N)],
Crypted = crypto:rsa_public_encrypt("123456789",PubKey,rsa_pkcs1_padding),
Decrypted = crypto:rsa_private_decrypt(Crypted,PrivKey,rsa_pkcs1_padding).

у меня на ubuntu jaunty работает вроде хорошо (r12b5)


2009/7/2 Alexander Dergachev <cy6er...@gmail.com>
Reply all
Reply to author
Forward
0 new messages