powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Шифрование с помощью хеширования
84 сообщений из 84, показаны все 4 страниц
Шифрование с помощью хеширования
    #39962165
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько стойким может быть алгоритм шифрования основанный на хешировании? Схема работы примерно такая:

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

Пробовал программки которые реализуют этот алгоритм, работает все конечно очень медленно. Но меня интересует другое.
Насколько криптостойкий этот алгоритм? И какие пути его взлома существуют?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962174
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

Конкретно этот алгоритм вообще не стойкий (например атака через открытый текст).
Но в теории можно создать стойкий шифр используя криптографический хеш. Но зачем.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962181
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Eolt,

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


А можно пример атаки подробнее описать? Я пока ничего кроме тупого брутфорса придумать не могу.
Мне казалось, что здесь уровень криптостойкости примерно на уровне AES-192.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962185
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

Зная первые 20 байт открытого текста можно восстановить хеш пароля.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962195
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

Ну так атакующий не знает какие байты содержаться в зашифрованном сообщении.
Обычный кейс, когда он перехватил мое сообщение в интернете и пытается его расшифровать.
Как это сделать кроме как брутфорсом для меня неясно.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962201
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зная первые 20 байт исходного файла можно расшифровать весь файл, поэтому нет смысла на лишние расчеты SHA-1.

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

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

PS Год назад подобный топик поднимал, производительность мерил 21847687
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962210
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


Ок я не возражаю. Но как быть в реальной жизни? Допустим я перехватил в интернете зашифрованный файл размером 10 кбайт.
Как мне атаковать его? Ведь непонятно даже что это, картинка, голос, текст?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962211
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Ну так атакующий не знает какие байты содержаться в зашифрованном сообщении.

В большинстве случаев вообще-то знает.
Потому что данные обычно структурированы, у них есть заголовки, теги и прочее, что повторяется в каждом сообщении.
Ну и очень часто у атакующего есть возможность вынудить посылку определенных данных.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962217
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


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

В реальной жизни никто не будет пытаться расшифровать непонятно что.
Должна быть какая-то цель, ради которой будут целенаправленно подбирать пароль.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962221
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили .


Кстати асики для майнинга могут вычислять хеши аппаратно с огромной скоростью, быстрее чем видеокарты. Б/у продаются в интернете за копейки. Может их можно прикрутить в качестве акселератора.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962228
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили .


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

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

Потом у тебя же не один комп шифровать/расшифровывать будет. На всех не напасешься асиков.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962234
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Насколько стойким
...
2. Вычисляем SHA-1 от пароля
Делаем перебор по низкоэнтропийному паролю -> ваш "алгоритм" можно сливать в унитаз.

P.S.
Берите уже апробированную реализацию и не пытайтесь "играть в юного гения".
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962238
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Eolt
Насколько стойким
...
2. Вычисляем SHA-1 от пароля
Делаем перебор по низкоэнтропийному паролю -> ваш "алгоритм" можно сливать в унитаз.

SHA-1 от пароля в чистом виде тут нет нигде. Если был бы, то и переборы не потребовались бы 22139690 22139707
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962244
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
SHA-1 от пароля в чистом виде тут нет нигде
И что? Перемешивание битов в блоке не от хорошей жизни используют.
Я, в общем, повторюсь - не надо лезть туда, где нет "озарений", а есть до чёртиков математики и разных мелочей.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962248
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Замени SHA-1 на AES и работать будет очень быстро

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

PS: Страшилки про уязвимость ECB оставим для журналамеров с битмапами Такса.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962256
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Делаем перебор по низкоэнтропийному паролю


Это брутфорс пароля? Что значит "низкоэнтропийному" ?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962302
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T
Зная первые 20 байт исходного файла можно расшифровать весь файл


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

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

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

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

Сечешь?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962308
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T
Хотя SHA-1 вроде тоже аппаратно добавили .


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

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

Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962344
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Что значит "низкоэнтропийному" ?
Вы уже научились запоминать длинные случайные последовательности символов? Нет? Тогда "огорчу я тебя до невозможности" - один символ пароля это, примерно, шесть бит. Всё, что менее 128 бит считается слабым. Лет, этак, двадцать, если не больше.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962346
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
Хорош уже бредить - то, что вы сделали "ещё более лучший" алгоритм шифрации, задачу взлома существующих шифров никак не решает.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962354
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
Пока ты покупаешь спец-технику - мы меняем (незначительно) алгоритм (хотя-бы 1 раунд вставляем)
или схему обратной связи меняем и все. Твои железные ключи - стали металлоломом. =
Хорош уже бредить - то, что вы сделали "ещё более лучший" алгоритм шифрации, задачу взлома существующих шифров никак не решает.

Да я нарушил тезизы старика Керхгофса. Но я просто хотел показать пользу от аппаратных ключиков.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962470
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но я просто хотел показать пользу от аппаратных ключиков.
Пользу???
Какой, в дупу, металлолом из аппаратного ключа, если там пластик, кремний и немного жести???
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962638
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Basil A. Sidorov
Делаем перебор по низкоэнтропийному паролю


Это брутфорс пароля? Что значит "низкоэнтропийному" ?
скорее всего "низкоэнтропийный пароль", это пароль из базы, а не набор случайных букв или из последовательности всех возможных паролей по индексу. Но это, не точно :D
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962792
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
]скорее всего "низкоэнтропийный пароль", это пароль из базы, а не набор случайных букв или из последовательности всех возможных паролей по индексу


Тогда это фигня а не атака. Откуда в этой базе будет мой типичный пароль Rs#123.$$Z
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962798
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Тогда это фигня а не атака. Откуда в этой базе будет мой типичный пароль Rs#123.$$Z
Энтропию своего "типичного пароля" посчитайте.
Если это будет больше семидесяти бит - вы что-то неправильное насчитали.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962804
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как считать энтропию, но касперский говорит, что брутфорс моего пароля займет 4 года.
Правда непонятно какой алгоритм шифрования и какие мощности нужно для этого использовать.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962809
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Не знаю как считать энтропию
Энтропия это логарифм от числа возможных состояний системы.
Или вы думаете, что я просто так написал "шесть бит на символ"? Хотя, каюсь, дал вам фору, сделав оценку в "семьдесят бит".
И это я ещё молчу, что без перемешивания битов в блоке можно восстанавливать ключ по известному открытому тексту. Даже если неизвестен текст, но известны корреляции, то всё равно можно делать оценки и строить правдоподобные гипотезы.
В общем - выкиньте своё изобретение, а вместо этого ознакомьтесь с тем, что уже сделали другие люди, которые были не глупее вас.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962815
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Не знаю как считать энтропию, но касперский говорит, что брутфорс моего пароля займет 4 года.
Правда непонятно какой алгоритм шифрования и какие мощности нужно для этого использовать.

При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962817
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй RC4 , оно надежнее будет.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962819
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.


Длинна хеша в моем алгоритме - 160 бит. Времени существования Вселенной хватит чтобы его угадать? Я что-то сомневаюсь :)
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962829
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T
При использовании твоего алгоритма не надо знать пароль. Достаточно узнать его хэш и этим хэшем можно расшифровать все твои файлы.


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

Чтобы его угадать надо всего лишь пару файлов: шифрованный и расшифрованный.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962836
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Мы опять по-кругу ходим. Как уже писал выше, обычный атакующий кейс - когда злоумышленник получает зашифрованный файл путем перехвата в почте, или в виде файла на диске. О содержимом он может только догадываться. Допустим судя по-размеру, там обычный текстовый файл в кодировке Unicode. Что это ему даст? Да собственно ничего. Длинна ключа с которым поксорен текст - 160 бит.
Реальная атака - брутфорс на квантовом компьютере, но их еще не построили и неизвестно построят ли вообще.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962840
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай с другой стороны посмотрим. Вот шифрованный файл перехваченный в инете, представление в hex
Код: plaintext
83 C4 08 85 F6 74 05 80 3E 00 10 85 DB 74 05 80 3B 00 75 05

Предложи алгоритм его расшифровки, пусть даже перебором.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962844
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Для начала надо узнать, какой софт использовал абонент для шифрования сообщения. А потом уже смотреть, можно ли атаковать этот алгоритм каким-то способом, например брутфорсом.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962847
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt, считаем что алгоритм известен
Eolt
1. Имеется исходный файл длинной 100 байт и пароль для его шифрования.
2. Вычисляем SHA-1 от пароля, получаем хеш длинной 20 байт.
3. Выполняем побайтовый XOR с первыми 20 байтами файла и хеша.
4. Вычисляем новый хеш от зашифрованного блока в 20 байтов.
5. Сохраняем зашифрованный блок в выходной файл.
6. Берем следующие 20 байт и повторяем всю процедуру и так до тех пор, пока не дойдем до конца файла.

Файл перехвачен. Как будем расшифровывать? Код писать не надо, достаточно алгоритма
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962848
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Мы опять по-кругу ходим.
Не мы, а вы.
Нормальные люди предполагают, что нарушителю известно всё, кроме ключа шифрования. И нормальный алгоритм разрабатывается так, чтобы даже наличие пары исходный текст-шифровка не упрощало задачу нахождения ключа.
А ваш "алгоритм" тривиально вскрывается атакой на открытый текст: текст XOR шифр сразу даёт ключ первого блока.
Поскольку ключ получается хэшированием пароля, то никаких 160 бит в ваших 20 байтах просто нет - нарушитель тупо переберёт гораздо более слабый пароль, поскольку у него есть чёткий критерий проверки.
Если вы не понимаете этой элементарщины, то рано вам ещё разрабатывать алгоритмы шифрования.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962849
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Dima T,

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

Один теоретик инфо-безопасности считает что знания об алгоритме (исходник) - более обще-известны
чем твой ключик. В это трудно поверить но тем не менее это так. Просто - больше людей владеют
этим секретом. Тоесть эта проблема - для злоумышленника - меньшая проблема чем ключик.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962853
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Файл перехвачен. Как будем расшифровывать? Код писать не надо, достаточно алгоритма
Реверсом атаки по открытому тексту.
Хэшируем пароль, получаем ключ первого блока и восстанавливаем текст первого блока. Дальше получаем ключ следующего блока и восстанавливаем текст следующего блока.
Это, конечно, если я нигде не прокололся с логикой - лень думать над этой фигнёй.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962856
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 раза), на практике подобный взлом неосуществим, так как займёт пять миллиардов лет.

Т.е. теоретически атаковать можно, но на практике нет.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962863
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt, немного не в духе этого форума но вот почитай один наш боян https://www.sql.ru/forum/1320597/tyapnichnyy-kriptun-i-redukciya

Он как раз касается к теоретической возможности решения этой задачи.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962870
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Т.е. теоретически атаковать можно, но на практике нет.

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

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


Я прекрасно понимаю что при наличие открытого текста вычитанием его из зашифрованного получим пароль.
Но дело в том, что таких ситуаций нет в реальной жизни. Если вы подключились к зашифрованному каналу и перехватываете сообщения, то у вас нет информации об открытом тексте. В свое время взломали Энигму ориентируясь на открытый текст, но в конечном случае это было вызвано человеческим фактором.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962883
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Я прекрасно понимаю что при наличие открытого текста вычитанием его из зашифрованного получим пароль.
Но дело в том, что таких ситуаций нет в реальной жизни.
"Гы-гы - пацаны, второй отряд".
В секретных каналах связи в паузах передают шум и всё это для того, чтобы нельзя было зацепиться даже за длину сообщения.
А у вас, видите ли, "не бывает". Скатерть, блин, самобранка из новогодней комедии "Чародеи".
Я описал тривальную атаку просто потому, что об этой атаке знает даже такой дилетант, как я.
Возможности профессионального криптоаналитика - существенно выше. И знаний у него на порядки больше.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962893
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я согласен, что наличие возможности атаки с помощью открытого текста - некоторая теоретическая уязвимость. Возможный кейс пользователь шифрует файл и по-ошибке отправляет зашифрованный и открытый файл, давая возможность получить в этом случае пароль. Типичный человеческий фактор.
Но и с другими алгоритмами может сработать тот же человеческий фактор, например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована. Я это к тому, что надо отделять уязвимости связанные с человеческим фактором собственно от алгоритма.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962899
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована.


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

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

Код: sql
1.
pkunzip.zip
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962901
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Я согласен, что наличие возможности атаки с помощью открытого текста - некоторая теоретическая уязвимость.
Зачем вы упёрлись, как изобретатель вечного двигателя?
Если алгоритм тривиально ломается атакой на открытый текст, то дальнейший анализ теряет смысл. Надо учесть ошибки и выкинуть то, что сделано, а не рассматривать сферических коней в философском вакууме.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962907
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
некоторая теоретическая уязвимость

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

Одна из версий: Во многих зашифрованных сообщениях передавали прогноз погоды, который секретом ни для кого не являлся )))
Другие версии: Очень многие зашифрованные сообщения начинались с фразы: "Привет Рудольф" и тому подобное, ни слово "привет" ни фамилия телеграфиста в частях, куда отправлялись сообщение, так же секретом не являлись
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962911
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже что-то читал. Атака на энигму была основана на том что ключевые даты войны (1939) встречались
в предполагаемом тексте чаще чем другие слова. И шифровальщик когда устанавливал на курбелях
машины симметричный ключ - руководствовался обычными человеческими свойствами. Примерно
так-же как и в вокзалах камеры хранения. Люди ставят шифром дату своего рождения.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962922
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Зачем вы упёрлись, как изобретатель вечного двигателя?
Если алгоритм тривиально ломается атакой на открытый текст, то дальнейший анализ теряет смысл. Надо учесть ошибки и выкинуть то, что сделано, а не рассматривать сферических коней в философском вакууме.


Вы приводите пример человеческой ошибки выдавая ее за недостаток алгоритма.
Кейс с передачей зашифрованного сообщения вместе с аналогичным открытым по-сути ничем не отличается от передачи зашифрованного сообщения с паролем. Таких уязвимостей можно придумать очень много.
Уберите человеческий фактор из канала связи, замените отправителя аппаратно-программным комплексом и такой ситуации не возникнет. Разве я не прав?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962930
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Eolt
например пользователь шифрует файл алгоритмом AES и по-ошибке вместе с файлом отправляет в письме и пароль. Все переписка скомпрометирована.


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

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

Код: sql
1.
pkunzip.zip



По-моему «Криптономикон» Нила Стивенсона намного интереснее.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962938
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt

По-моему «Криптономикон» Нила Стивенсона намного интереснее.


Описание японского живого компьютера, из сидящих за столами людей-вычислителей, где каждый выполняет элементарную операцию и передает результат другому вычислителю поразило мне воображение...
Даже не знаю были ли такое у японцев во времена Второй Мировой войны, но если было, это очень круто.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39962939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Eolt

По-моему «Криптономикон» Нила Стивенсона намного интереснее.


Описание японского живого компьютера, из сидящих за столами людей-вычислителей, где каждый выполняет элементарную операцию и передает результат другому вычислителю поразило мне воображение...
Даже не знаю были ли такое у японцев во времена Второй Мировой войны, но если было, это очень круто.

Я недавно купил себе бумажный вариант Криптономикона. Надеюсь что хватит усидчивости
прочитать. Чисто из уважения к суб-культуре.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39963017
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Описание японского живого компьютера, из сидящих за столами людей-вычислителей, где каждый выполняет элементарную операцию и передает результат другому вычислителю поразило мне воображение...
Это вы историю плохо знаете. Изобретение, в 17-м веке, натурального логарифма ("замечательный предел") Джоном Непером было связано с тем, что людей, знающих два действия арифметики из четырёх было сильно больше, чем тех, которые знали все четыре.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39963024
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Уберите человеческий фактор из канала связи, замените отправителя аппаратно-программным комплексом и такой ситуации не возникнет. Разве я не прав?
"Не стоит недооценивать предсказуемость тупизны".
Модели, в которых нарушитель контролирует канал связи и может активно вмешиваться в процесс обмена - не просто рутина. Это ещё и далеко не самая сильная из возможностей моделируемого нарушителя.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39963372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Разве я не прав?

Может и прав, но... Представьте, что Вам нужно выбрать алгоритм шифрования для своего проекта. Есть два кандидата. У одного есть известная (пусть и теоретическая) уязвимость, у другого её нет. При этом первый работает медленнее второго. Какой Вы выберете?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964735
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наткнулся на описание шифрования с помощью хеширования в этой работе: https://www.cs.rit.edu/~ark/lectures/onewayhash/onewayhash.shtml

Только тут используется счетчик в ключе, видимо чтобы можно было использовать многопоточное кодирование
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964750
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
видимо чтобы можно было использовать многопоточное кодирование

Нет, как раз чтобы предотвратить атаку по известному plain text: одинаковые блоки будут давать разный криптотекст.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964751
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt, здесь SHA1 используется просто как генератор псевдо-случайного потока бит.

Не уверен что это рационально. Если хочешь попробуй сам доказать безопасность данного
метода просто выбросив верхнюю часть стека до plaintext этого алгоритма и замени его на
любой крипто-стойкий ГПСЧ.

Или просто подумай чем он будет отличаться.

Не сложно придумать новый алгоритм симметрички. Их придумывают все кому не лень.
Каждый студент 2-го курса изобретал свой супеп-пупер Хорь-шифрователь.

Сложно обосновать что алгоритм обеспечивает разумное соотношение безопасности
и нагрузки на вычислительные ресурсы например в процессе поддержки SSL/TLS
соединений.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964800
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Eolt
видимо чтобы можно было использовать многопоточное кодирование

Нет, как раз чтобы предотвратить атаку по известному plain text: одинаковые блоки будут давать разный криптотекст.


Алгоритм полностью аналогичен моему. За исключение что тут ключ Key+Counter, а у меня Key=SHA1(предыдущий блок)
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964812
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Наткнулся на описание шифрования с помощью хеширования в этой работе: https://www.cs.rit.edu/~ark/lectures/onewayhash/onewayhash.shtml

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

Там еще nonce, т.е. случайное число, что сильно усложняет обратное восстановление.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964815
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я над темой шифрования много думал и пришел к выводу что если на взломе можно заработать минимум 100 т.$, то он состоится. Тут все просто: те люди кто может взломать получают немало и рискнут только за хорошие деньги.
Но 100 т.$ это ожидаемый чистый доход, для его получения надо будет делится с посредниками, возможно какие-то затраты будут, т.е. на входе должно быть 500 т.$

Вобщем я к тому что если с вас нельзя снять полляма баксов, то вы никому не нужны. Можно просто сделать xor A5 и никто никогда не догадается какой был алгоритм шифрования.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964820
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я только хотел узнать. У пароля есть, грубо говоря, своё мн-во хэшей. Разве H(H(psw)) выводит за пределы этой области?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964827
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Я только хотел узнать. У пароля есть, грубо говоря, своё мн-во хэшей. Разве H(H(psw)) выводит за пределы этой области?

Я думаю что это защита от атаки радужных таблиц. Если ваш pwd - 8 символьный (и 3 символа из них -SALT) то
считайте что он уже атакован и определен потому - что хеши (MD5/SHA1/CRC32/NTLM) уже много
лет как внесены в радужные базы исходя из предположения что функция стандартная.

Если вы применили дважды хеш (например SHA1) - то атакующий не может применить поиск по известному сету
комбинаций Хеш + набор символов. Ему придётся сначала пройти всю генерацию для вашего нового
композита функций SHA1 . SHA1. А это отдельная работа которая требует ресурсов чуть больше
чем просто поиск по известным сетам.

Ухудшает ли двойное применение SHA(SHA(key)) область допустимых значений на выходе? Думаю да.
Из бесконечного множества key оно стало конечным на втором отображении и перечислимым на входе.
Хотя и все еще большим для простого подсчета или перебора.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39964993
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt
Алгоритм полностью аналогичен моему.

Нет, он совершенно другой. И две большие разницы делает именно источник ключа.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965011
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

двойное хеширование уже давно в радужной базе есть
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965015
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тройное?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965017
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А тройное?

Можно двойное разное, например SHA1(MD5(key))
Но это никак не мешает радужную таблицу построить.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965021
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже писал выше что построение таблицы - более сложная задача чем просто хотелка решить обратную задачу
по поиску ключа.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965117
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...Ухудшает ли двойное применение SHA(SHA(key)) область допустимых значений на выходе? Думаю да. Из бесконечного множества key оно стало конечным на втором отображении и перечислимым на входе. Хотя и все еще большим для простого подсчета или перебора.
Ну тогда навреное это самый простой ответ на вопрос в топика?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965259
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt

4. Вычисляем новый хеш от зашифрованного блока в 20 байтов.
5. Сохраняем зашифрованный блок в выходной файл.

Насколько криптостойкий этот алгоритм?


Примерно как у plaintext у него криптостойкость. Алгоритм расшифровки:

1. Берем первый блок зашифрованного файла.
2. Считаем его хеш.
3. Выполняем побайтовый XOR со вторым блоком файла, получаем расшифрованный текст второго блока.
4. Повторяем с остальными блоками.

В результате - расшифрован весь файл кроме первых 20 байт.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965274
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot maxkar#22144216]
Eolt

3. Выполняем побайтовый XOR со вторым блоком файла, получаем расшифрованный текст второго блока.


Подскажите, что надо курить, чтобы прийти к такому неожиданному выводу? )))
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965280
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример реализации описанной идеи в приложении для шифрования.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965283
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо завести долгоиграющий топик под названием "последняя пристань конспиролога" где каждый
сможет запостить свою симметричную нетленку. И похвастаться силой и скоростью алгоритмов
и супер-устойчивостью к анализам.

Кто за?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965360
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965365
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для США это будет не быстро. Этот алгоритм был утвержден как
госудаственный стандарт на дайджесты.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965375
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в России таким стандартом является ГОСТ-34.10 или около того. И это ни разу не SHA-1.
Только как всё это связано с проблемами SHA-1 вообще и предложенным алгоритмом - в частности.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965379
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажеся что тут - недостаточно будет просто заменить имплементацию. Как то

Код: sql
1.
MessageDigest md = MessageDigest.getInstance("SHA-256");



Возникнет вопрос переписывания и адаптации структур данных под длину строки со 160 бит
в более длинную. Дла БД соотв изменить раздяность колонок. И для бинарных протоколов - адаптировать
структуры. И этот вопрос может быть дороже в реализации чем просто подмена дайджест-алгоритма.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965434
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я уже писал выше что построение таблицы - более сложная задача чем просто хотелка решить обратную задачу
по поиску ключа.

Да и вобщем-то нельзя. Тем софтом что уже опубликован. Мне пришлось стянуть образ debian+rtgen
под docker чтоб проверить.

Софт - стрёмный. Бинарный. И мне очень не хотелось его запускать без
виртуализации. А так я хоть понимаю что он в сеть не ходит и не видит мою локальную фс.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
usage: rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index
       rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index -bench

hash algorithms implemented:
    lm HashLen=8 PlaintextLen=0-7
    ntlm HashLen=16 PlaintextLen=0-15
    md5 HashLen=16 PlaintextLen=0-15
    sha1 HashLen=20 PlaintextLen=0-20
    sha256 HashLen=32 PlaintextLen=0-20

examples:
    rtgen md5 loweralpha 1 7 0 1000 1000 0
    rtgen md5 loweralpha 1 7 0 -bench


Если надо расширить функционал то надо искать сорцы и расширять.

И вобщем если вы будете блуждать по пиринговым сетям в поисках таблиц то вы найдете ТОЛЬКО эти типы хешей.
Вариации будут только в длине ключей и в составе символов ALPHA/NUM/COMMA/uppercase-downcase.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965446
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Надо завести долгоиграющий топик под названием "последняя пристань конспиролога" где каждый
сможет запостить свою симметричную нетленку. И похвастаться силой и скоростью алгоритмов
и супер-устойчивостью к анализам.

Кто за?

Я за, только сначала завести топик "элементарные операции над большими числами", там про сложение/умножение/деление 1024+ битных целых чисел. Потом какой-нибудь RSA сделать на их основе.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965460
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что будет в этом топике?

Математика? Или обсуждение arbitrary precision libs?
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965580
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я к чему спрашиваю. В подобных топика надо ограничить тему. Иначе первые 2-3 коментария
могут полностью развернуть направление вопроса. Ты к примеру хотел обсудить свою библиотеку
а зайдут 2 математика и будут обсуждать свои кольца и вычеты .

Властелины колец блин...
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965644
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Этот алгоритм был утвержден как
госудаственный стандарт на дайджесты.

Есть определённая разница между SHA-1 в целом и его применением в конкретном протоколе. В статье же не зря везде говорится о "коллизии с выбранным префиксом".
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965897
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я к чему спрашиваю. В подобных топика надо ограничить тему. Иначе первые 2-3 коментария
могут полностью развернуть направление вопроса. Ты к примеру хотел обсудить свою библиотеку
а зайдут 2 математика и будут обсуждать свои кольца и вычеты .

Властелины колец блин...

Это мысли вслух были, UDP передачу на акторах пилю помаленьку, почти готово. Как совсем готово будет, следующим шагом - хочется добавить какое-то шифрование с открытым ключом, только не полноценное, а сделать свою небольшую либу в один файлик.
...
Рейтинг: 0 / 0
Шифрование с помощью хеширования
    #39965898
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
mayton
Я к чему спрашиваю. В подобных топика надо ограничить тему. Иначе первые 2-3 коментария
могут полностью развернуть направление вопроса. Ты к примеру хотел обсудить свою библиотеку
а зайдут 2 математика и будут обсуждать свои кольца и вычеты .

Властелины колец блин...

Это мысли вслух были, UDP передачу на акторах пилю помаленьку, почти готово. Как совсем готово будет, следующим шагом - хочется добавить какое-то шифрование с открытым ключом, только не полноценное, а сделать свою небольшую либу в один файлик.

Опубликуешь потом? Я посмотрю.
...
Рейтинг: 0 / 0
84 сообщений из 84, показаны все 4 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Шифрование с помощью хеширования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]