PDA

Просмотр полной версии : Криптографический алгоритм


F&D
09.11.2008, 17:08
Приветствую, Вас!
Вот блин такая трабла, необходимо написать криптографический алгоритм BlowFish, если честно даже не знаю с чего начинать, поэтому прошу вашей помощи. В принципе, прога должна быть не большая, а как бы демонстрационно-обучающей, на Делфях.

Кто сможет, помогите.
Заранее благодарен. С Ув. F&D

NeXArmAor
09.11.2008, 17:09
Так есть же готовые реализации

F&D
09.11.2008, 17:19
Не поверите, не могу найти. Плюс, хочу разобратся, чтобы было не позаумному, и можно было бы рассказать потом: что и как.... =(

NeXArmAor
09.11.2008, 17:25
http://dump.ru/file/1197102
вот тут большое количество криптографических алгоритмов,в том числе и Blowfish.

F&D
09.11.2008, 19:19
Блин...посмотрел я файлы, и текст проги - слегка был в шоке, так ничего понять и не смог =(, поэтому если будет не сложно, помогите чем нибудь попроще, пожалуйста =(

Namelles One
10.11.2008, 10:50
http://www.mirrors.wiretapped.net/security/cryptography/algorithms/blowfish/

На любой, самый взыскательный выбор - там и С и С++ и Pascal и Java.

F&D
11.11.2008, 01:17
http://www.mirrors.wiretapped.net/security/cryptography/algorithms/blowfish/

На любой, самый взыскательный выбор - там и С и С++ и Pascal и Java.


Искренне Благодарю. Жаль нет на Делфи :(

Hellsp@wn
11.11.2008, 02:25
начни с малого

http://ru.wikipedia.org/wiki/Blowfish

F&D
11.11.2008, 02:47
Спасибо за ссылку!
Я её уже видел, и каждый божий день на неё захожу, читаю и блин, понять особо немогу нифига...=(

Я ошибаюсь, или он чем-то похож на RSA? :confused:

LEE_ROY
11.11.2008, 02:55
если бы все все понималии умели думать то кто бы работал на стройке?

F&D
11.11.2008, 03:03
если бы все все понималии умели думать то кто бы работал на стройке?

Согласен. Поэтому и прошу помощи, у людей которые больше знают чем я, на данный момент!
А если учитывать, что без этой проги я не допущюсь к экзамену, так вообще нужно вешаться :(

Hellsp@wn
11.11.2008, 13:40
в чём ты увидел его похожесть на RSA? :)

Blowfish - это симметричный блочный шифр
RSA - асимметричный :)

что конкретно не ясно? как проиходит шифрование? дык втыкай в исходные коды.

0x0c0de
11.11.2008, 18:43
Искренне Благодарю. Жаль нет на Делфи :(

Есть
http://forum.tuts4you.com/index.php?showtopic=15259&hl=Blowfish

F&D
17.11.2008, 00:24
Блин, всем реально большущее спасибо за ссылки и т.п., но не могли бы Вы мне еще разок такому глупому помочь(я понимаю достал Вас), необходимо чтобы текст введенный в Edit1 был зашиврован по паролю который указан в Edit2 и выведен в Edit3, опять же по алгоритму BlowFish. Просто тот материал который Вы давали, слишком большой и сложный, для универа и тем более преподаватель не поверит, что я такое смог написать =(

LuX0R
18.11.2008, 12:02
Я в паскале не силен, на C\C++ выглядеть это будет примерно так:

string BlowfishCrypt(string key, string text) // вот так выглядит твоя функция в
// общем виде
...
Edit3.Text = BlowfishCrypt(Edit1.Text, Edit2.Text); //отдаем функции шифрования ключ
// и текст
// собственно говоря она должна вернуть зашифрованный текст прямо в твой Edit3

Этот код примерный, так что не гарантирую что будет работать as is, но думаю разобраться не долго даже с минимальным опытом программирования.
P.S. Кстати чаво сам то не реализовал?=) В Википедии вроде все ясно для 32 битного блока.

F&D
18.11.2008, 14:23
Я в паскале не силен, на C\C++ выглядеть это будет примерно так:

string BlowfishCrypt(string key, string text) // вот так выглядит твоя функция в
// общем виде
...
Edit3.Text = BlowfishCrypt(Edit1.Text, Edit2.Text); //отдаем функции шифрования ключ
// и текст
// собственно говоря она должна вернуть зашифрованный текст прямо в твой Edit3

Этот код примерный, так что не гарантирую что будет работать as is, но думаю разобраться не долго даже с минимальным опытом программирования.
P.S. Кстати чаво сам то не реализовал?=) В Википедии вроде все ясно для 32 битного блока.

Пробывал сам реализовать, но безрезультатно. Тем более не до конца понял сам алгоритм, каждый день вот разбираюсь. Консультации у препода жду.
А прога должна быть на Делфи.

LuX0R
19.11.2008, 09:48
А что там: шифрование 2-х субблоков по 32 бита (в сумме блок 64 бита),накладываешь ключ раунда каждый субблок шифруетсо функцией F (X1, X2, X3, X4), где X1, X2, X3, X4 байты субблока, после чего меняешь местами субблоки. Вот собственно так и делаються первые 16 раундов.В 17-м и 18-м раундах блоки не меняються! Таблицы замены можно найти на офф сайте ключи раундов тоже там есть. Исходников под паскаль море: www.google.ru - в руки.
Кста, тут вечерком подумал, а что те мишает повыеживаться перед преподом? BlowFish самый быстрый алгоритм, уязвимое место его расчет таблиц подстановки и генерация ключей раундов. А в наш время компы мощные, быстрые, с большим кол-вом памяти. Вот тебе и предложение возьми готовые реализации MD5, SHA-1, SHA-2 и с помощью них заполни таблицы и ключи.
Например: MD5 дает 16 байт, вот тебе первые 4-е ключа раундов, отсюда и требование шоб пароль разбивался на 5 блоков, от которых возьмеш хэш. Для таблиц замены можешь также взять хэши, либо просто какой-нить расходящийся ряд, которые тебе увеличит пароль до словаря. Главное подбери простые алгоритмы дающие большую дисперсию при малом шаге, ну и работающие соответственно быстро.
P.S. вот линка на офф сайт http://www.schneier.com/resources.html Там исходники написаны на любой вкус и цвет!