Рейтинг:1

Было бы хорошо создать новую криптографическую хеш-функцию?

флаг gb

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

Зачем делать еще одну криптографическую хеш-функцию

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

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.SE. Во-первых, убедитесь, что вы понимаете, что неясность не обеспечивает безопасности. Никто не собирается использовать вашу хэш-функцию. Во-вторых, когда они начнут его использовать, они украдут дизайн. В-третьих, как вы можете заявлять, что можете работать лучше, чем Argon2 и т. д.?
kelalaka avatar
флаг in
Мы можем назвать это обманом [Различия между промышленной и военной криптографией] (https://crypto.stackexchange.com/q/62511/18298)
kelalaka avatar
флаг in
И другой; [Почему не рекомендуется писать собственное шифрование?] (https://crypto.stackexchange.com/q/43272/18298)
Hargunbeer Singh avatar
флаг gb
Спасибо @kelalaka за ресурсы
Рейтинг:2
флаг us

Хотя вы можете создать свою собственную хеш-функцию, симметричный шифр, схему шифрования с открытым ключом и т. д., чтобы никто не знал о ее конструкции, вероятно, было бы плохой идеей полагаться на неясность (как прокомментировал @kelalaka) для обеспечения безопасности.

В 19 веке Огюст Керкхоффс сформулировал принцип, который мы называем «принцип Керкхоффа»:

криптосистема должна быть безопасной, даже если все о системе, кроме ключа, общеизвестно.

Кроме того, Шеннон Максим был также сформулирован в 20 веке и гласит, что:

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

Или, другими словами, когда вы разрабатываете систему безопасности, вы должны исходить из того, что злоумышленник знает, как работает система.

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

Еще одна причина не полагаться на проприетарные или секретные методы — это доверие потребителей: почему потребители должны верить, что вы храните их (хэшированный) пароль в безопасности, если вы признаете, что безопасность исходит из незнания реализации?

Вот почему в промышленности криптографические примитивы (хеш-функции, шифры, схемы подписи и т. д.) часто принимаются только после тщательного изучения со стороны научного сообщества. Затем разрабатываются RFC и стандарты, чтобы поставщики и поставщики услуг могли количественно оценить свою безопасность, указав, какому стандарту они соответствуют.

kelalaka avatar
флаг in
Kerckhoffs является первым в [своих принципах] (https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle)
yacovm avatar
флаг us
Спасибо, я добавил это

Ответить или комментировать

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