Страница 1 из 1

Реализация алгоритма Виженера

СообщениеДобавлено: 05.06.2010 13:11:35
coyot.rush
Предлагаю свою реализацию для шифрования файлов по алгоритму Виженера.
Об реализации
Ограничения
* Максимальная длина пароля — половина длины фактического
значения кэша (Cache_RW_Real)
* Максимальная длина файла 4Гб*Cache_RW*1024
* Невозможно шифровать файлы только для чтения

ВНИМАНИЕ НИЗКАЯ КРИПТО СТОЙКОСТЬ !!!

Исходники http://narod.ru/disk/21542247000/vigener_lite_src.zip.html
Бинарные сборки под Linux и Windows http://narod.ru/disk/21542290000/vigener_lite_bin.zip.html
Для тех кто захочет собрать самостоятельно потребуются исходники MSE svn(3745) http://narod.ru/disk/21540592000/mse_svn_3745.zip.html

Назначение
Ограничение просмотра личной информации людям типа подружка, предки, кул хацкер :lol:

PS: Данная реализация лежала у меня очень давно на жестком диске (разрабатывалось под Kylix :D ), когда только начал изучать pascal. Поэтому данную реализации можно улучшить и улучшать :wink:

Добавлено спустя 18 минут 27 секунд:
Скрин шот :D

Re: Реализация алгоритма Виженера

СообщениеДобавлено: 06.06.2010 21:27:39
minoshi
думается это можно перенести в "разработки на нашем сайте"

Re: Реализация алгоритма Виженера

СообщениеДобавлено: 07.06.2010 13:52:27
Timid
Эээ, скромный вопрос.
А чем Вас AES не устраивает, или DES, 3DES и т.д. ?

Re: Реализация алгоритма Виженера

СообщениеДобавлено: 08.06.2010 09:33:12
coyot.rush
Timid 07.06.2010 14:52:27
Эээ, скромный вопрос.
А чем Вас AES не устраивает, или DES, 3DES и т.д. ?

Эти олгоритмы очень хорошие, но их область применения шифровка важных и очень важных данных (банковские данные, "под гифом секретно").
Назначение
Ограничение просмотра личной информации людям типа подружка, предки, кул хацкер :lol:

Для того чтобы защитить от просмотра картинку\видео\документ от обычного пользователя применять DES и прочее все равно что стрелять по воробьям из пушки. Кстати почти все алгоритмы (DES/AES) имеют менее крипто стойкую, но более быструю реализацию.
Резюмирою: для набирающих популярность нетбуков алгоритмы (DES/AES ...) тяжеловаты, да и для домашнего комп тоже лишнее
PS: Кстати многие алгоритмы основаны на сети Фейстеля http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D1%8C_%D0%A4%D0%B5%D0%B9%D1%81%D1%82%D0%B5%D0%BB%D1%8F. Можно и в текущую реализацию добавить дополнительный код переставляющий блоки по определенному алгоритму в зависимости от пароля :idea:

Re: Реализация алгоритма Виженера

СообщениеДобавлено: 08.06.2010 16:11:21
Timid
А может, уважаемый coyot.rush Вам просто лень в них разобраться? ;)
Как раз именно в "бытовых" случаях можно использовать практически любые по сложности алгоритмы, поскольку проблемы быстродействия нет. Шифруя файл настроек за 0,003 сек вместо 0,002 сек Вы ничего не потеряете.
Основное же достоинство "стандартных" алгоритмов - в их реальной кроссплатформенности. Тот же DES-кодированный файл можно прочитать из PHP, CPP и всего остального зоопарка, даже под DOS!
А вот перенести "самопальный" алгоритм под другой язык - дело непростое. Помню помучился недельки две, переводя с Tcl на Delphi такой алгоритм - везде Int понимают по своему. :D

Re: Реализация алгоритма Виженера

СообщениеДобавлено: 08.06.2010 19:33:58
coyot.rush
А может, уважаемый coyot.rush Вам просто лень в них разобраться? ;)

Есть уже готовые http://kolmck.net/r_adds.htm
А свой алгоритм на основе сети Фейсталя пока не придумал :?:

Основное же достоинство "стандартных" алгоритмов - в их реальной кроссплатформенности. Тот же DES-кодированный файл можно прочитать из PHP, CPP и всего остального зоопарка, даже под DOS!

Сила в аппаратной переносимости :!: Читаем вики :idea:
Стандартные алгоритмы тоже "ломаються", но спецслужбами. 8)

Как раз именно в "бытовых" случаях можно использовать практически любые по сложности алгоритмы, поскольку проблемы быстродействия нет. Шифруя файл настроек за 0,003 сек вместо 0,002 сек Вы ничего не потеряете.

Это скорее пример очень важной информации (как правила там хранят пароли) и здесь лучше применять крипто стойкий алгоритм
Повторяюсь алгоритм разрабатывался для больших и "неважных" файлов (~1Гб)