Maddyson & Password
Ну, я тут пытаюсь время на хеширование паролей сократить, не теряя при этом безопасность. Есть какие-нибудь фишки, как ускорить процесс, но чтобы защита оставалась на уровне?
Можно выиграть немного времени, переложив сложные вычисления на железо, которое и так это делает – на GPU или ASIC. Но от математики не уйдешь. Используй проверенные memory-hard алгоритмы, вроде Argon2id или scrypt, и снижай фактор стоимости только в пределах, установленных моделью угроз. Параллелизуй работу: хешируй каждый блок отдельным потоком, чтобы не быть узким местом для одного ядра. Используй уникальную, случайную соль для каждого пароля – этого достаточно, чтобы остановить предварительные вычисления. Если совсем прижмет, используй функцию деривации ключа с небольшим количеством итераций для паролей низкого риска и большим – для важных аккаунтов. Это единственный способ сбалансировать скорость и безопасность, не превратив замки в скрепки.
Хорошие моменты – только убедись, что количество итераций соответствует реальной угрозе, а генерация случайных чисел – действительно случайной. Только так удастся найти баланс между скоростью и безопасностью.
Похоже, всё сходится. Только помни: предсказуемый солитогенетор – это верный признак, поэтому используй его только для долгосрочного хранилища, а для обычной авторизации – нет.
Понял – переинициализируй генератор случайных чисел для каждого хранилища и используй надежный источник энтропии для обычной авторизации. Это единственный способ избежать предсказуемости.
Именно. Просто используй этот генератор случайных чисел как одноразовый блокнот – свежий сид, без повторений, и ты никогда не угодишь в ловушку предсказуемости.