Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Не знаю как считать энтропию, но касперский говорит, что брутфорс моего пароля займет 4 года.
Правда непонятно какой алгоритм шифрования и какие мощности нужно для этого использовать.

К сообщению приложен файл. Размер - 50Kb
27 май 20, 13:53    [22140476]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10412
Eolt
Не знаю как считать энтропию
Энтропия это логарифм от числа возможных состояний системы.
Или вы думаете, что я просто так написал "шесть бит на символ"? Хотя, каюсь, дал вам фору, сделав оценку в "семьдесят бит".
И это я ещё молчу, что без перемешивания битов в блоке можно восстанавливать ключ по известному открытому тексту. Даже если неизвестен текст, но известны корреляции, то всё равно можно делать оценки и строить правдоподобные гипотезы.
В общем - выкиньте своё изобретение, а вместо этого ознакомьтесь с тем, что уже сделали другие люди, которые были не глупее вас.
27 май 20, 14:04    [22140484]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt
Не знаю как считать энтропию, но касперский говорит, что брутфорс моего пароля займет 4 года.
Правда непонятно какой алгоритм шифрования и какие мощности нужно для этого использовать.

При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.
27 май 20, 14:20    [22140494]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Используй RC4, оно надежнее будет.
27 май 20, 14:21    [22140496]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T
При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.


Длинна хеша в моем алгоритме - 160 бит. Времени существования Вселенной хватит чтобы его угадать? Я что-то сомневаюсь :)
27 май 20, 14:24    [22140498]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt
Dima T
При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.


Длинна хеша в моем алгоритме - 160 бит. Времени существования Вселенной хватит чтобы его угадать? Я что-то сомневаюсь :)

Чтобы его угадать надо всего лишь пару файлов: шифрованный и расшифрованный.
27 май 20, 14:29    [22140510]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T,

Мы опять по-кругу ходим. Как уже писал выше, обычный атакующий кейс - когда злоумышленник получает зашифрованный файл путем перехвата в почте, или в виде файла на диске. О содержимом он может только догадываться. Допустим судя по-размеру, там обычный текстовый файл в кодировке Unicode. Что это ему даст? Да собственно ничего. Длинна ключа с которым поксорен текст - 160 бит.
Реальная атака - брутфорс на квантовом компьютере, но их еще не построили и неизвестно построят ли вообще.
27 май 20, 14:45    [22140518]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Давай с другой стороны посмотрим. Вот шифрованный файл перехваченный в инете, представление в hex
83 C4 08 85 F6 74 05 80 3E 00 10 85 DB 74 05 80 3B 00 75 05

Предложи алгоритм его расшифровки, пусть даже перебором.
27 май 20, 14:51    [22140523]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T,

Для начала надо узнать, какой софт использовал абонент для шифрования сообщения. А потом уже смотреть, можно ли атаковать этот алгоритм каким-то способом, например брутфорсом.
27 май 20, 15:00    [22140529]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt, считаем что алгоритм известен
Eolt
1. Имеется исходный файл длинной 100 байт и пароль для его шифрования.
2. Вычисляем SHA-1 от пароля, получаем хеш длинной 20 байт.
3. Выполняем побайтовый XOR с первыми 20 байтами файла и хеша.
4. Вычисляем новый хеш от зашифрованного блока в 20 байтов.
5. Сохраняем зашифрованный блок в выходной файл.
6. Берем следующие 20 байт и повторяем всю процедуру и так до тех пор, пока не дойдем до конца файла.

Файл перехвачен. Как будем расшифровывать? Код писать не надо, достаточно алгоритма
27 май 20, 15:03    [22140532]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10412
Eolt
Мы опять по-кругу ходим.
Не мы, а вы.
Нормальные люди предполагают, что нарушителю известно всё, кроме ключа шифрования. И нормальный алгоритм разрабатывается так, чтобы даже наличие пары исходный текст-шифровка не упрощало задачу нахождения ключа.
А ваш "алгоритм" тривиально вскрывается атакой на открытый текст: текст XOR шифр сразу даёт ключ первого блока.
Поскольку ключ получается хэшированием пароля, то никаких 160 бит в ваших 20 байтах просто нет - нарушитель тупо переберёт гораздо более слабый пароль, поскольку у него есть чёткий критерий проверки.
Если вы не понимаете этой элементарщины, то рано вам ещё разрабатывать алгоритмы шифрования.
27 май 20, 15:06    [22140533]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Eolt
Dima T,

Для начала надо узнать, какой софт использовал абонент для шифрования сообщения. А потом уже смотреть, можно ли атаковать этот алгоритм каким-то способом, например брутфорсом.

Один теоретик инфо-безопасности считает что знания об алгоритме (исходник) - более обще-известны
чем твой ключик. В это трудно поверить но тем не менее это так. Просто - больше людей владеют
этим секретом. Тоесть эта проблема - для злоумышленника - меньшая проблема чем ключик.
27 май 20, 15:08    [22140535]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10412
Dima T
Файл перехвачен. Как будем расшифровывать? Код писать не надо, достаточно алгоритма
Реверсом атаки по открытому тексту.
Хэшируем пароль, получаем ключ первого блока и восстанавливаем текст первого блока. Дальше получаем ключ следующего блока и восстанавливаем текст следующего блока.
Это, конечно, если я нигде не прокололся с логикой - лень думать над этой фигнёй.
27 май 20, 15:12    [22140539]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T
Eolt, считаем что алгоритм известен
Eolt
1. Имеется исходный файл длинной 100 байт и пароль для его шифрования.
2. Вычисляем SHA-1 от пароля, получаем хеш длинной 20 байт.
3. Выполняем побайтовый XOR с первыми 20 байтами файла и хеша.
4. Вычисляем новый хеш от зашифрованного блока в 20 байтов.
5. Сохраняем зашифрованный блок в выходной файл.
6. Берем следующие 20 байт и повторяем всю процедуру и так до тех пор, пока не дойдем до конца файла.

Файл перехвачен. Как будем расшифровывать? Код писать не надо, достаточно алгоритма


Здесь только два пути. И оба тупиковых. Прямой брутфорс на сверхмощных ресурсах. И попытка атаки на SHA-1 через поиск коллизий.
Первый понятно что в первом случае тупик из тормознутости алгоритма, тут его недостаток становится жирным плюсом.
А на счет атаки на SHA-1 в википедиинаписано:

Хотя теоретически SHA-1 считается взломанным (количество вычислительных операций сокращено в 280-63 = 131 072 раза), на практике подобный взлом неосуществим, так как займёт пять миллиардов лет.

Т.е. теоретически атаковать можно, но на практике нет.
27 май 20, 15:15    [22140542]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Eolt, немного не в духе этого форума но вот почитай один наш боян https://www.sql.ru/forum/1320597/tyapnichnyy-kriptun-i-redukciya

Он как раз касается к теоретической возможности решения этой задачи.
27 май 20, 15:22    [22140551]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt
Т.е. теоретически атаковать можно, но на практике нет.

А подумать? Тут даже теоретически нельзя атаковать, т.к. результат дешифрования не с чем сравнивать. После применения очередного пароля надо понять правильный он или нет, а это невозможно.

Вобщем я к тому что имея только перехваченный в инете файлик расшифровать его невозможно даже зная алгоритм шифрования.
27 май 20, 15:31    [22140560]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Basil A. Sidorov
Eolt
Мы опять по-кругу ходим.
Не мы, а вы.
Нормальные люди предполагают, что нарушителю известно всё, кроме ключа шифрования. И нормальный алгоритм разрабатывается так, чтобы даже наличие пары исходный текст-шифровка не упрощало задачу нахождения ключа.
А ваш "алгоритм" тривиально вскрывается атакой на открытый текст: текст XOR шифр сразу даёт ключ первого блока.
Поскольку ключ получается хэшированием пароля, то никаких 160 бит в ваших 20 байтах просто нет - нарушитель тупо переберёт гораздо более слабый пароль, поскольку у него есть чёткий критерий проверки.
Если вы не понимаете этой элементарщины, то рано вам ещё разрабатывать алгоритмы шифрования.


Я прекрасно понимаю что при наличие открытого текста вычитанием его из зашифрованного получим пароль.
Но дело в том, что таких ситуаций нет в реальной жизни. Если вы подключились к зашифрованному каналу и перехватываете сообщения, то у вас нет информации об открытом тексте. В свое время взломали Энигму ориентируясь на открытый текст, но в конечном случае это было вызвано человеческим фактором.
27 май 20, 15:32    [22140561]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10412
Eolt
Я прекрасно понимаю что при наличие открытого текста вычитанием его из зашифрованного получим пароль.
Но дело в том, что таких ситуаций нет в реальной жизни.
"Гы-гы - пацаны, второй отряд".
В секретных каналах связи в паузах передают шум и всё это для того, чтобы нельзя было зацепиться даже за длину сообщения.
А у вас, видите ли, "не бывает". Скатерть, блин, самобранка из новогодней комедии "Чародеи".
Я описал тривальную атаку просто потому, что об этой атаке знает даже такой дилетант, как я.
Возможности профессионального криптоаналитика - существенно выше. И знаний у него на порядки больше.
27 май 20, 15:45    [22140578]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Я согласен, что наличие возможности атаки с помощью открытого текста - некоторая теоретическая уязвимость. Возможный кейс пользователь шифрует файл и по-ошибке отправляет зашифрованный и открытый файл, давая возможность получить в этом случае пароль. Типичный человеческий фактор.
Но и с другими алгоритмами может сработать тот же человеческий фактор, например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована. Я это к тому, что надо отделять уязвимости связанные с человеческим фактором собственно от алгоритма.
27 май 20, 15:57    [22140596]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Eolt
например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована.


Почитай "Цифровая Крепость" Дена Брауна. Близко к теме.

Или к анекдоту.

pkunzip.zip
27 май 20, 16:03    [22140610]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10412
Eolt
Я согласен, что наличие возможности атаки с помощью открытого текста - некоторая теоретическая уязвимость.
Зачем вы упёрлись, как изобретатель вечного двигателя?
Если алгоритм тривиально ломается атакой на открытый текст, то дальнейший анализ теряет смысл. Надо учесть ошибки и выкинуть то, что сделано, а не рассматривать сферических коней в философском вакууме.
27 май 20, 16:05    [22140612]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8757
Eolt
некоторая теоретическая уязвимость

не теоретическая
Немецкую энигму ровно так и взломали

Одна из версий: Во многих зашифрованных сообщениях передавали прогноз погоды, который секретом ни для кого не являлся )))
Другие версии: Очень многие зашифрованные сообщения начинались с фразы: "Привет Рудольф" и тому подобное, ни слово "привет" ни фамилия телеграфиста в частях, куда отправлялись сообщение, так же секретом не являлись
27 май 20, 16:12    [22140620]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Я тоже что-то читал. Атака на энигму была основана на том что ключевые даты войны (1939) встречались
в предполагаемом тексте чаще чем другие слова. И шифровальщик когда устанавливал на курбелях
машины симметричный ключ - руководствовался обычными человеческими свойствами. Примерно
так-же как и в вокзалах камеры хранения. Люди ставят шифром дату своего рождения.
27 май 20, 16:16    [22140626]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Basil A. Sidorov
Зачем вы упёрлись, как изобретатель вечного двигателя?
Если алгоритм тривиально ломается атакой на открытый текст, то дальнейший анализ теряет смысл. Надо учесть ошибки и выкинуть то, что сделано, а не рассматривать сферических коней в философском вакууме.


Вы приводите пример человеческой ошибки выдавая ее за недостаток алгоритма.
Кейс с передачей зашифрованного сообщения вместе с аналогичным открытым по-сути ничем не отличается от передачи зашифрованного сообщения с паролем. Таких уязвимостей можно придумать очень много.
Уберите человеческий фактор из канала связи, замените отправителя аппаратно-программным комплексом и такой ситуации не возникнет. Разве я не прав?
27 май 20, 16:26    [22140641]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
mayton
Eolt
например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована.


Почитай "Цифровая Крепость" Дена Брауна. Близко к теме.

Или к анекдоту.

pkunzip.zip


По-моему «Криптономикон» Нила Стивенсона намного интереснее.
27 май 20, 16:44    [22140655]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Программирование Ответить