Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разное тестирование > Программа шифрования по алгоритму RSA


Автор: MaxB 28.9.2006, 12:47
Программа намного меньше чем PGP и ей подобные.


Возможность шифрования 128bit, 256bit, 512bit, 1024bit, 2048bit, 4096bit.

Немного об RSA.
Программа генерирует два ключа секретный и публичны.
Публичным можно зашифровать а секретным разшифровать.
Все просто.


Тестируйте кому не лень: http://www.elton.od.ua/maxbsoft/spear_rsa.rarsmile 


Буду рад критики.



Автор: Romikgy 28.9.2006, 13:05
А исходник где?

Автор: MaxB 28.9.2006, 13:10
Тема называется тестирование программ, а не Исходники.ru smile 

Автор: comtat 28.9.2006, 13:28
Цитата

Приложению не уладось запуститься, поскольку MFC71.DLL не был найден.

Вот так вот, че за dll юзает ??
Может ее в архив или ее только у меня нет ??

Автор: Romikgy 28.9.2006, 13:37
Цитата(MaxB @  28.9.2006,  12:10 Найти цитируемый пост)
Тема называется тестирование программ, а не Исходники.ru

зато на vingrad.ru
Цитата(comtat @  28.9.2006,  12:28 Найти цитируемый пост)
Вот так вот, че за dll юзает ??
Может ее в архив или ее только у меня нет ?? 

визуал си и мя нет , так что...

Автор: comtat 28.9.2006, 14:05
Так не интересно  smile , даже не протестишь

Автор: MaxB 28.9.2006, 14:06
Я обновил ссылку. Должно быть всё ок.

Автор: comtat 28.9.2006, 14:09
А че он за файл шифрирует ??

Автор: MaxB 28.9.2006, 14:26
Цитата

А че он за файл шифрует ?? 


Любой который, выберешь.

В начале создаётся публичные и секретные ключи, а потом выбираешь файло и ждешь пока шифруется.
Зашифрованный файл имя.rsa

Публикуешь где угодно публичный ключ, секретный не кому не даёшь. И тебе могут слать зашифрованные письма, которые даже американские спец службы не прочитают.



Автор: Romikgy 28.9.2006, 15:01
долго шифрует 300 к текста и уже запецался ждать smile
кса а че только текст можно шифровать?

Автор: MaxB 28.9.2006, 15:11
Пока только текст, но я сейчас работаю над тем, чтоб можно было шифровать все.

А долго наверно потому что ты ключ большой взял, 512bit, 1024bit достаточно для высокой секретности.

Автор: Romikgy 28.9.2006, 15:25
Цитата(MaxB @  28.9.2006,  14:11 Найти цитируемый пост)
А долго наверно потому что ты ключ большой взял, 512bit, 1024bit достаточно для высокой секретности. 

нет секретность ставил 128 бит

Добавлено @ 15:29 
кса и че имя у декодированного файла отличается от оригинала?

Автор: comtat 29.9.2006, 07:46
Цитата(Romikgy @  28.9.2006,  15:01 Найти цитируемый пост)
долго шифрует

не знай незнай у меня файл размером 100 кб на 1024bit мохом зашифрировал

Автор: rsm 2.10.2006, 16:53
MaxB, несколько комментариев:
1. Исходники все же очень желательно выложить для возможности их изучения. Потому что пока неизвестно, является ли используемый в программе алгоритм шифрования настоящим RSA и насколько правильно он используется.
2. При ключе 4096 бит программа стабильно виснет.
3. Секретный и публичный ключи должны содержать только печатаемые символы (цифры, латинский алфавит и пр.) для того, чтобы их можно было нормально передавать, копировать и хранить.
4. Очень хотелось бы организовать в программе многопоточность, чтобы главное окно не подвисало во время обработки больших файлов.
5. Зачем нужно окно вывода результата? Лучше сделать просто индикатор прогресса, в процентах.

Автор: MaxB 3.10.2006, 18:59
rsm

Цитата

1. Исходники все же очень желательно выложить для возможности их изучения. Потому что пока неизвестно, является ли используемый в программе алгоритм шифрования настоящим RSA и насколько правильно он используется.

На счёт исходников подумаю.

Цитата

2. При ключе 4096 бит программа стабильно виснет.

Вообще то такой ключ, может создаваться минут 20.

Цитата

3. Секретный и публичный ключи должны содержать только печатаемые символы (цифры, латинский алфавит и пр.) для того, чтобы их можно было нормально передавать, копировать и хранить.

Чем тебе не нравится в шестнадцатеричных кодах, хранить можно в виде файла.
Просто если использовать только цифры и латинский алфавит, теряется секретность, взломщик может эти воспользоваться.


Цитата

4. Очень хотелось бы организовать в программе многопоточность, чтобы главное окно не подвисало во время обработки больших файлов.

Я обновил ссылку там реализована многопоточность.


Цитата

5. Зачем нужно окно вывода результата? Лучше сделать просто индикатор прогресса, в процентах. 

Согласен, сделал!

Автор: rsm 4.10.2006, 12:33
Цитата(MaxB @  3.10.2006,  20:59 Найти цитируемый пост)
теряется секретность

Это почему? При достаточной длине ключ можно подбирать очень и очень долго, даже если он состоит из простых символов.

Автор: SectoR 5.10.2006, 00:19
дай сорец! Без него сложно найти баги в реализации  smile 

Автор: RA 5.10.2006, 20:41
эт самое, у меня вопрос а что разве программы шифрования файлов/текста пользуются спросом?

Автор: Spear 5.10.2006, 22:54
2SectoR. Багов в реализации нету. Это готовый програмный продукт с точки зрения реализации алгоритма шифрования и алгоритма генерации чисел. Хочешь сорец - гони деньгец smile Шучу. Если серьёзно - это бывший дипломный проект, только развитый и доработаный.

2rsm. Теряется секретность. Разница в секунду - тоже разница smile)))) А тут идёт речь о миллионах лет на современном cray-компьютере ;) И вообще теряется потому, что её можно, как ты говоришь "нормально передавать, копировать" smile

2 RA. Бугагагахаха! Вообщето даже в твоём мобильнике и подключении к интернету используется шифрование.  smile 

Автор: MaxB 6.10.2006, 11:17
Цитата

эт самое, у меня вопрос а что разве программы шифрования файлов/текста пользуются спросом? 


RA, Программа шифрует все виды файлов.


Цитата

Это почему? При достаточной длине ключ можно подбирать очень и очень долго, даже если он состоит из простых символов. 


rsm, Объясняю, если взять PGP, да там реализовано как ты и говоришь. Ключ состоит из латинских букв и цифр. 
Латинских букв - 26, Цифр - 10.
Получается на каждом байте мы теряем 219 возможных значений. Тобеж имея ключ 128bit – реально он в раз 7 меньше.
На супер компе это легко ломается. 
Кстати ты открывал файлы ключей? Они довольно читабельны, т. к. в hex-виде.

Автор: Romikgy 6.10.2006, 11:46
Цитата(MaxB @  6.10.2006,  10:17 Найти цитируемый пост)
Латинских букв - 26, Цифр - 10.
Получается на каждом байте мы теряем 219 возможных значений. Тобеж имея ключ 128bit – реально он в раз 7 меньше.

не понял этого утверждения smile

Автор: rsm 6.10.2006, 12:10
Цитата(MaxB @  6.10.2006,  13:17 Найти цитируемый пост)
Объясняю

Лучше было бы объяснить, как хранить приватный ключ в том виде, как он есть сейчас? Скинуть на флешку? Ее могут украсть. Зашифровать паролем? Ерунда, теряется весь смысл. Применить стенографию? Это легко выявляется по наличию специальной программы.
Суть моей идеи-предложения оставить в приватном ключе только латинский алфавит, цифры и спец-символы состоит в том, что такой ключ можно будет положить в самое надежное для него место - собственную память, которую ни украдешь, ни брутфорсом не возьмешь (физическое насилие оставим за кадром, т.к. им почти всегда можно вскрыть что угодно вне зависимости от степени криптостойкости).

Автор: RA 6.10.2006, 13:09
Цитата(MaxB @  6.10.2006,  11:17 Найти цитируемый пост)
RA, Программа шифрует все виды файлов.


Странно я вроде спросил пользуются ли такие программы спросом у населения и получил вот такой вот ответ .....

Автор: Spear 7.10.2006, 02:40
Цитата(RA @ 6.10.2006,  13:09)
Странно я вроде спросил пользуются ли такие программы спросом у населения и получил вот такой вот ответ .....

У какого населения? smile 

зы: какой вопрос, такой ответ ;)

Автор: Alexandr87 2.12.2006, 19:24
Гы. Давняя тема, но наткнулся на ссылку.
По поводу постов "авторов", видно что диплоник писался на шару,  математические библиотеки взяты готовые, или даже полностью вся реализация взята готовая.

Цитата(MaxB @  3.10.2006,  21:59 Найти цитируемый пост)
Чем тебе не нравится в шестнадцатеричных кодах, хранить можно в виде файла.
Просто если использовать только цифры и латинский алфавит, теряется секретность, взломщик может эти воспользоваться.

Я вот млин не догоняю, как можно использовать в ключе латинский алфавит и числа.

Цитата(MaxB @  6.10.2006,  14:17 Найти цитируемый пост)
rsm, Объясняю, если взять PGP, да там реализовано как ты и говоришь. Ключ состоит из латинских букв и цифр. 

Вам никогда в голову не приходило, что то что вы видите, это есть представление ключа, а не сам ключ.



Цитата(MaxB @  28.9.2006,  18:11 Найти цитируемый пост)
Пока только текст, но я сейчас работаю над тем, чтоб можно было шифровать все.

Цитата(Spear @  6.10.2006,  01:54 Найти цитируемый пост)
Если серьёзно - это бывший дипломный проект, только развитый и доработаный

мда... действительно дипломный и доработанный

Всё же интересно было бы глянуть на исходник. Что то мне кажется, что шифрование файлов действительно происходит на rsa, отсюда и медленность результатов.

Добавлено @ 19:31 
Цитата(rsm @  6.10.2006,  15:10 Найти цитируемый пост)
Лучше было бы объяснить, как хранить приватный ключ в том виде, как он есть сейчас? Скинуть на флешку? Ее могут украсть. Зашифровать паролем? Ерунда, теряется весь смысл.

Не могу понять, почему теряется смысл при шифровании ключа "паролем",  а вообще существуют специальные устройства - "безопасные хранилища", как то AR MiniKey, Aladdin Token и другие.

Автор: rsm 2.12.2006, 20:11
Цитата(Alexandr87 @  2.12.2006,  21:24 Найти цитируемый пост)
Не могу понять, почему теряется смысл при шифровании ключа "паролем"
Стойкость ассиметричного шифрования определяется в первую очередь секретностью приватного ключа. А какая тут может быть секретность, если можно получить этот ключ, использовав для его расшифровки притимивный пароль?

Цитата(Alexandr87 @  2.12.2006,  21:24 Найти цитируемый пост)
существуют специальные устройства - "безопасные хранилища"
Если в этом устройстве используется надежная идентификация владельца (например отпечаток пальца с измерением температуры и кровяного давления) - тогда да, согласен, это подойдет.

Автор: Alexandr87 3.12.2006, 06:17
Цитата(rsm @  2.12.2006,  23:11 Найти цитируемый пост)
Стойкость ассиметричного шифрования определяется в первую очередь секретностью приватного ключа. А какая тут может быть секретность, если можно получить этот ключ, использовав для его расшифровки притимивный пароль?


Ключи, зашифрованные симметрией, вскрыть конечно можно при наличии хороших вычислительных мощностей (как любую другую информацию), но что теперь - хранить ключи в открытом виде? Что вы предлагаете.
Ну и не стоит забывать про вышеописанные девайсы.

Цитата(rsm @  2.12.2006,  23:11 Найти цитируемый пост)
Если в этом устройстве используется надежная идентификация владельца (например отпечаток пальца с измерением температуры и кровяного давления) - тогда да, согласен, это подойдет. 

Данные устройства обеспечивают двух-факторную авторизацию - необходимо наличие самого устройства - токена, а также знание пин-кода. Устройства обеспечивают защиту от "подбора" пин-кода, установлением предельного числа неверного ввода или же интервалами между вводом.

Автор: rsm 3.12.2006, 11:48
Цитата(Alexandr87 @  3.12.2006,  08:17 Найти цитируемый пост)
что теперь - хранить ключи в открытом виде
Как раз наоборот - прятать как можно надежнее.

Цитата(Alexandr87 @  3.12.2006,  08:17 Найти цитируемый пост)
Данные устройства обеспечивают двух-факторную авторизацию
Слабовато. Биометрическая авторизация с измерением давления и температуры понадежнее будет, ей может пользоваться только один человек и только пока жив.

Автор: Lillu 1.4.2007, 20:17
А кто-нибудь все-таки может поделится исходником Rsa для ключа 512 бит? smile 
Очень нужно!!!!

Автор: _STAR_ 26.5.2007, 17:14
Привет всем!!!! smile 

Если не тяжело помогите плиз с дипломом по теме :

"Программная система криптографической защиты на базе RSA с ключом переменной длины"

меня бы очень выручила прога, которую здесь обсуждают.

Заранее благодарен за любую помощь! smile 

пишите [email protected]

Автор: tigger 29.5.2007, 15:50
Могу выложить h и cpp файлы сам не смотел может и помогут.

Автор: bi0s_0x269 22.8.2007, 23:12
Цитата(MaxB @ 28.9.2006,  15:11)
512bit, 1024bit достаточно для высокой секретности.

хм... а специалисты давно рекомендуют не использовать ключи короче 2048 бит....  smile  

и еще вопросик: прога использует только RSA??? это очень медленный алгоритм... 

обычно для экономии времени используется "цифровой конверт": создается сеансовый (случайный) ключ
для симетричного алгоритма (например AES, Blowfish, DES...) и им шифруется сообщение а потом этот ключ шифруется
RSA и присоединяется к сообщению! а еще должна проверятся целосность с помощью хеш-фукнции или хотябы CRC.

без этого всего прога просто не удовлетворяет базовым криптографическим требованиям  smile 

Автор: igorka 22.12.2007, 01:57
Возникла проблема при реализации RSA:
 надо хранить открытый и закрытый ключи в файлах,
 как известно ключи это пары чисел (n+e), (n+d) http://ru.wikipedia.org/wiki/RSA
Как записать эти числа, а потом прочитать и главное разделить на составляющие (n+e), (n+d).
У кого есть идеи по реализации, подскажите плз.

Добавлено через 10 минут и 1 секунду
размер ключа может быть разный, то 32 до 4096 бит, так что считать определенное кол-во байт не выйдет

Автор: Romikgy 23.12.2007, 14:40
имхо строка все выдержит

Автор: betal 23.12.2008, 21:36
Цитата(MaxB @ 28.9.2006,  12:47)
Программа намного меньше чем PGP и ей подобные.


Возможность шифрования 128bit, 256bit, 512bit, 1024bit, 2048bit, 4096bit.

Немного об RSA.
Программа генерирует два ключа секретный и публичны.
Публичным можно зашифровать а секретным разшифровать.
Все просто.


Тестируйте кому не лень: http://www.elton.od.ua/maxbsoft/spear_rsa.rarsmile 


Буду рад критики.

для начала после розшифровки файла нет отображения. Тоесть пробежала загрузка. Выскочила надпись что оно завершило розшифровку фала и все. Ни тебе переведеный полученый текст, ни тебе выходной файл... 

Автор: misha111 1.4.2009, 21:22
я вообще недопонял зачем скрывать исходный код на алгоритм, про который писано переписано на разных языках. К примеру если бы вы реализовали гост, то действительно можно скрывать, я когда его реализовывал - не нашёл ни одного вменяемого исходника, один алгоритм. Потом - шифрование только текста, ну это вообще, зачем оно надо?
Я даже тестить ничего не хочу, такого в интернете валом! Ничего нового вы не придумали.
Когда придумали алгоритм и красуются его мошьностью - его открывают и представляют реализацию в нескольких языках чтоб все моги оценить криптостойкость. Сам алгоритм, и тем более его реализации не представляют никакой секретности.
Секретность представляют только закрытый ключ и открытый текст, и всё.
А потом - вот вы говорите потестить - что там его тестить, закриптуйте пару гигабайт и раскриптуйте. Возьмите потоковое видео, уж там вообще капец! Если оригинал и раскриптованный текст совпадает - всё правильно с точки зрения программирования. Но а  если вы напартачили в самой логике, пусть даже криптует правильно, то без исходников - это вообще верх глупости начинать подобную тему!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)