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

Откуда: Russia
Сообщений: 1622
Насколько стойким может быть алгоритм шифрования основанный на хешировании? Схема работы примерно такая:

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

Пробовал программки которые реализуют этот алгоритм, работает все конечно очень медленно. Но меня интересует другое.
Насколько криптостойкий этот алгоритм? И какие пути его взлома существуют?
26 май 20, 12:49    [22139665]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6530
Eolt,

Конкретно этот алгоритм вообще не стойкий (например атака через открытый текст).
Но в теории можно создать стойкий шифр используя криптографический хеш. Но зачем.
26 май 20, 12:59    [22139675]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Anatoly Moskovsky
Eolt,

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


А можно пример атаки подробнее описать? Я пока ничего кроме тупого брутфорса придумать не могу.
Мне казалось, что здесь уровень криптостойкости примерно на уровне AES-192.
26 май 20, 13:09    [22139685]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6530
Eolt,

Зная первые 20 байт открытого текста можно восстановить хеш пароля.
26 май 20, 13:12    [22139690]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

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

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

Откуда:
Сообщений: 14879
Зная первые 20 байт исходного файла можно расшифровать весь файл, поэтому нет смысла на лишние расчеты SHA-1.

ИМХО это почти тоже самое что CBC шифрование

Замени SHA-1 на AES и работать будет очень быстро, т.к. AES многими современными процами поддерживается. Хотя SHA-1 вроде тоже аппаратно добавили.

PS Год назад подобный топик поднимал, производительность мерил 21847687
26 май 20, 13:25    [22139707]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


Ок я не возражаю. Но как быть в реальной жизни? Допустим я перехватил в интернете зашифрованный файл размером 10 кбайт.
Как мне атаковать его? Ведь непонятно даже что это, картинка, голос, текст?
26 май 20, 13:34    [22139717]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6530
Eolt
Ну так атакующий не знает какие байты содержаться в зашифрованном сообщении.

В большинстве случаев вообще-то знает.
Потому что данные обычно структурированы, у них есть заголовки, теги и прочее, что повторяется в каждом сообщении.
Ну и очень часто у атакующего есть возможность вынудить посылку определенных данных.
26 май 20, 13:35    [22139718]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


Ок я не возражаю. Но как быть в реальной жизни? Допустим я перехватил в интернете зашифрованный файл размером 10 кбайт.
Как мне атаковать его? Ведь непонятно даже что это, картинка, голос, текст?

В реальной жизни никто не будет пытаться расшифровать непонятно что.
Должна быть какая-то цель, ради которой будут целенаправленно подбирать пароль.
26 май 20, 13:40    [22139725]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили.


Кстати асики для майнинга могут вычислять хеши аппаратно с огромной скоростью, быстрее чем видеокарты. Б/у продаются в интернете за копейки. Может их можно прикрутить в качестве акселератора.

К сообщению приложен файл. Размер - 16Kb
26 май 20, 13:45    [22139729]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Eolt
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили.


Кстати асики для майнинга могут вычислять хеши аппаратно с огромной скоростью, быстрее чем видеокарты. Б/у продаются в интернете за копейки. Может их можно прикрутить в качестве акселератора.

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

Потом у тебя же не один комп шифровать/расшифровывать будет. На всех не напасешься асиков.
26 май 20, 13:57    [22139737]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
Eolt
Насколько стойким
...
2. Вычисляем SHA-1 от пароля
Делаем перебор по низкоэнтропийному паролю -> ваш "алгоритм" можно сливать в унитаз.

P.S.
Берите уже апробированную реализацию и не пытайтесь "играть в юного гения".
26 май 20, 14:07    [22139748]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dima T
Member

Откуда:
Сообщений: 14879
Basil A. Sidorov
Eolt
Насколько стойким
...
2. Вычисляем SHA-1 от пароля
Делаем перебор по низкоэнтропийному паролю -> ваш "алгоритм" можно сливать в унитаз.

SHA-1 от пароля в чистом виде тут нет нигде. Если был бы, то и переборы не потребовались бы 22139690 22139707
26 май 20, 14:12    [22139754]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
Dima T
SHA-1 от пароля в чистом виде тут нет нигде
И что? Перемешивание битов в блоке не от хорошей жизни используют.
Я, в общем, повторюсь - не надо лезть туда, где нет "озарений", а есть до чёртиков математики и разных мелочей.
26 май 20, 14:16    [22139761]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50768
Dima T
Замени SHA-1 на AES и работать будет очень быстро

А точнее - вообще выкинь SHA-1 и тупо используй AES. В современных условиях это оптимальное решение по производительности среди блочных шифров и рассматривать что-то другое просто не имеет смысла.

PS: Страшилки про уязвимость ECB оставим для журналамеров с битмапами Такса.

Сообщение было отредактировано: 26 май 20, 14:23
26 май 20, 14:22    [22139766]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Basil A. Sidorov
Делаем перебор по низкоэнтропийному паролю


Это брутфорс пароля? Что значит "низкоэнтропийному" ?
26 май 20, 14:41    [22139777]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Eolt
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


Ок я не возражаю. Но как быть в реальной жизни? Допустим я перехватил в интернете зашифрованный файл размером 10 кбайт.
Как мне атаковать его? Ведь непонятно даже что это, картинка, голос, текст?

В таких условиях - вообще никак. Должны быть априорные сведения о том что мы ищем.

Иначе например я могу прикинуться шлангом и сказать - Слушай Эолт. Я вот расшифровал твою колбасу
и дам тебе рандомный jpeg с котиком размером ровно 10 килобайт.

И ведь ты не проверишь.

Сечешь?
26 май 20, 16:10    [22139832]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Eolt
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили.


Кстати асики для майнинга могут вычислять хеши аппаратно с огромной скоростью, быстрее чем видеокарты. Б/у продаются в интернете за копейки. Может их можно прикрутить в качестве акселератора.

Разница между аппаратым и программным - это гонка вооружений.

Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
26 май 20, 16:14    [22139838]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
Eolt
Что значит "низкоэнтропийному" ?
Вы уже научились запоминать длинные случайные последовательности символов? Нет? Тогда "огорчу я тебя до невозможности" - один символ пароля это, примерно, шесть бит. Всё, что менее 128 бит считается слабым. Лет, этак, двадцать, если не больше.
26 май 20, 16:58    [22139875]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
mayton
Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
Хорош уже бредить - то, что вы сделали "ещё более лучший" алгоритм шифрации, задачу взлома существующих шифров никак не решает.
26 май 20, 17:00    [22139877]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
mayton
Member

Откуда: loopback
Сообщений: 47948
Basil A. Sidorov
mayton
Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
Хорош уже бредить - то, что вы сделали "ещё более лучший" алгоритм шифрации, задачу взлома существующих шифров никак не решает.

Да я нарушил тезизы старика Керхгофса. Но я просто хотел показать пользу от аппаратных ключиков.
26 май 20, 17:18    [22139887]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
mayton
Но я просто хотел показать пользу от аппаратных ключиков.
Пользу???
Какой, в дупу, металлолом из аппаратного ключа, если там пластик, кремний и немного жести???
26 май 20, 19:58    [22140037]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3888
Eolt
Basil A. Sidorov
Делаем перебор по низкоэнтропийному паролю


Это брутфорс пароля? Что значит "низкоэнтропийному" ?
скорее всего "низкоэнтропийный пароль", это пароль из базы, а не набор случайных букв или из последовательности всех возможных паролей по индексу. Но это, не точно :D
27 май 20, 07:13    [22140250]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Eolt
Member

Откуда: Russia
Сообщений: 1622
Roman Mejtes
]скорее всего "низкоэнтропийный пароль", это пароль из базы, а не набор случайных букв или из последовательности всех возможных паролей по индексу


Тогда это фигня а не атака. Откуда в этой базе будет мой типичный пароль Rs#123.$$Z
27 май 20, 13:35    [22140462]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование с помощью хеширования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10413
Eolt
Тогда это фигня а не атака. Откуда в этой базе будет мой типичный пароль Rs#123.$$Z
Энтропию своего "типичного пароля" посчитайте.
Если это будет больше семидесяти бит - вы что-то неправильное насчитали.
27 май 20, 13:42    [22140470]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Программирование Ответить