id: Гость   вход   регистрация
текущее время 10:46 25/04/2024
Автор темы: Гость, тема открыта 11/04/2009 13:16 Печать
Категории: криптография, алгоритмы
https://www.pgpru.com/Форум/Криптография/ОпределениеАлгоритмаШифрованияПоОткрытомуИШифртексту
создать
просмотр
ссылки

Подскажите где почитать

Есть файл исходный текстовый файл, а есть этот же зашифрованый файл. Как определить алгоритм шифрования? Интересует метода ). Это вобще сложная задача?


 
Комментарии
— Гость (11/04/2009 13:28)   <#>
Ну, вообще говоря, да, особенно если это стойкое шифрование. Ну может быть чуть проще будет сделать, чем самый обычный криптоанализ зашифрованного собщения. Для случаев самопальных слабых алгоритмов есть тулзы, которые их крякают автоматически криптоанализом.
— Антон_Нагорный (11/04/2009 13:34)   <#>
А название этих тулзов можно? )

Кстати, http://174.37.85.187/391.SFM – открытый текст. http://174.37.85.187/391.ESFM – зашифрованый.
Можно определить на глаз – стойкое там шифрование или нет?
— Гость (11/04/2009 13:54)   <#>
А название этих тулзов можно? )

Я не знаком, но знаю, что они точно есть. Используются для взлома защиты софта и создания всяких кряков.
— Гость (11/04/2009 13:58)   <#>
Подождите пока unknown прочитает топик
он у нас единственный и бессменный специалист в конкретно теоретической криптографии :-)
— Антон_Нагорный (11/04/2009 22:55)   <#>
Судя по всему алгоритм шифрования Blowfish(только не спрашивайте как узнал).

Вопрос теперь таков:

Можно ли зная исходный незашифрованый текст и шифрованый текст, а также алгоритм шифрования Blowfish получить ключ с помошью которого текст был зашифрован?
— Антон_Нагорный (11/04/2009 22:56)   <#>
Может есть какая-то софтина для этого?
— Гость (11/04/2009 23:24)   <#>
Можно ли зная исходный незашифрованый текст и шифрованый текст, а также алгоритм шифрования Blowfish получить ключ с помошью которого текст был зашифрован?

Нет, естественно! Любое стойкое шифрование подразумевает устойчивость к знанию сколько угодно большого числа пар открытый-зашифрованный текст. Вообще, чувствуется, вы с криптографией даже на ламерском уровне не знакомились никогда: почитайте лучше статьи на сайте, общие, самые простые. И да, предвосхищая следующий вопрос: если вы думаете, что зная открытый текст и шифротекст можно узнать ключ, которым зашифрованы данные (и использовать его для расшифровки остальных данных), то вы ошибаетесь. Здесь как раз случай, что ничего это не даст. От силы что можно сделать такой атакой: устроить брутфорс пароля: если он слаб, может быть удастся подобрать, чтобы получить указанный шифротекст. Если же пароль сильный – задача не решается никак (её трудность равна трудности взлома блоуфиша как алгоритма).
— SATtva (12/04/2009 19:08)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
От силы что можно сделать такой атакой: устроить брутфорс пароля: если он слаб, может быть удастся подобрать, чтобы получить указанный шифротекст.

А если в качестве ключа использовался не пароль (даже обработанный алгоритмом S2K), а выход ГСЧ? Можно только пожелать взломщику долгих лет жизни.
— unknown (13/04/2009 09:26, исправлен 15/04/2009 21:48)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
незашифрованый текст и шифрованый текст, а также алгоритм шифрования Blowfish получить ключ с помошью которого текст был зашифрован?

Выше всё уже ответили правильно. Нельзя.

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

Суммарно это звучит примерно так.

Вот у нас есть два оракула. Одного зовут "blowfish", другого – "идеальный блочный шифр". Идеального блочного шифра в природе не существует, но мы знаем, какими свойствами он должен обладать и можем его хотя и в общем виде, но достаточно точно описать и смоделировать, например в виде псевдослучайной перестановки очень большого набора таблиц, символизирующих связь ключей, открытых и шифртекстов.

Задаём для идеального блочного шифра теже параметры входа-выхода, что и для блуфиша – размер блока, ключа. Затем помещаем этих оракулов в чёрные ящики. Представляем себя в роли противника, который должен угадать, в каком ящике "идеальный блочный шифр", а в каком "блуфиш". При этом оракулам в ящиках можно задавать любые "вопросы", не раскрывающие напрямую внутреннее состояние ящиков. То есть наблюдать только вход и выход.

Вопросы и задания обычно такие:
"Вот у нас есть n открытых текстов, зашифруй их и покажи n шифртекстов";
"Вот мы тебе специально подберем n особых открытых текстов, а ты покажи, какие получаются n шифртекстов";
(Можно заставить шифровать одни нули, тексты с циклическим сдвигом и т.д.)
"У нас есть пары открытых текстов, связанных соотношением f(x), ты их зашифруй, а мы будем смотреть, сохраниться ли какая-нибудь зависимость в шифртекстах на выходе, связанных функцией f(y)."
"Зашифруй нам n открытых текстов, покажи нам n шифртекстов, мы переставим в них биты определённым образом, заставим тебя расшифровать их обратно, а ты покажешь n результатов. Мы можем даже попытаться связать это преобразование каким-нибудь уравнением или полиномиальной функцией и будем гонять эти данные сколько потребуется";
"Зашифруй n открытых текстов в n шифртекстов, каждый раз сдвигая, свой, неизвестный нам ключ, в цикле, по счётчику";

И т.д. Можно придумывать практически любые типы запросов к оракулам (или одному оракулу, которые берёт ответ из одного из двух ящиков наугад).

Если после 2n запросов, причём n незначительно меньше или близко к размеру ключа, вероятность угадывания, где абстрактный идеальный блочный шифр, а где – реальный, равна 1/2 (т.е. ничего нам не угадать), то реальный шифр считается стойким ко всем известным типам запросов (атак), кроме как тривиальные атаки перебора (грубой силы).

Если же мы можем угадать с вероятностью, отличающейся от 0.5 при числе запросов существенно меньше 2n, то шифр отличается от идеального. Он дефектный – мы нашли различитель! Если эти теоретические результаты убедительны, то мы их публикуем и шифр не считают более стойким.
Потому что от различителей часто быстро доходят до реальных практических атак.
— Гость (13/04/2009 09:54)   <#>
Пытка бедных оракулов допросами ЦРУ unknown'а, сидящих в чёрных ящиках, проводится столь долго, "сколько потребуется" :-) Террористы были плохими оракулами и сломались, лучше бы ЦРУ на блоуфиш так давило :)
— unknown (13/04/2009 10:03, исправлен 13/04/2009 10:17)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
:)

Это краткое изложение стандартной процедуры криптоанализа (который некоторые наивно полагают основан сразу на дешифровке).

А у террористов (и людей вообще) запас прочности маленький. Их можно сломать и грубой силой. Это все и так знают, даже те кто в криптоанализе не разбирается
— Гость (13/04/2009 13:57)   <#>
unknown (13/04/2009 09:26, исправлен 13/04/2009 09:30), круто. Доходчиво все объяснено. Книгу написать не думали?
— unknown (13/04/2009 14:35, исправлен 13/04/2009 14:35)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Так и представляю:

"Теория доказуемой безопасности в популярном изложении",
"Модель случайного оракула для чайников", "Криптоанализ за две недели", "Криптологию – в массы"

В красочной мягкой обложке, дешёвом переплёте и карманном формате.
— Другой_Гость (20/04/2009 13:48)   <#>
С другой стороны, а как же алгебраический анализ?
— unknown (20/04/2009 14:34, исправлен 20/04/2009 14:36)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Вам известен алгебраический различитель для блуфиша?

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

и вообще – имеется ввиду любой из известных методов анализа, алгебраический не лучше и не хуже других, просто при создании большинства шифров он был неизвестен и не учитывался, но хорошо спроектированный шифр должен быть по возможности устойчив и к неизвестным видам атак (это было одним из критериев Шнайера при проектировании Twofish и отчасти до этого для Blowfish, правда этот критерий был раскритикован как ненаучный и при создании Threefish/Skein он уже не использовался).
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3