Ну, всегда есть недостаток, заключающийся в том, что вычисление криптографического хэша намного дешевле, чем шифрование крошечного пароля с помощью алгоритма шифрования с открытым ключом.
Во-вторых, вы по-прежнему страдаете от ограниченной энтропии при шифровании с открытым ключом, ваша битовая строка по-прежнему будет ограничена. Если вам нужно больше битов, используйте хэш с большим внутренним состоянием (SHA-512, Whirlpool и т. д.).
В-третьих, вам нужно будет хранить открытый ключ вместе с паролем, что приводит к довольно большим затратам на хранение (учитывая, насколько велики открытые ключи), и если вы думаете об использовании одного и того же открытого ключа для всех паролей, не делайте этого. t - если этот ключ скомпрометирован, все кончено.
Также еще одно соображение: без ограничения размера пароля есть вероятность, что даже шифрование с дополненными блоками приведет к разным размерам хранилища для разных паролей, что может значительно усложнить индексирование базы данных (вероятно, это не большая проблема, но иметь в виду) .
И, наконец, самое главное — хэши предназначены для однозначного разрушения всей структуры входных данных, а это именно то, что вам нужно при хранении паролей для проверки. Алгоритмы шифрования этого не делают — они преобразуют данные, делая их неразборчивыми без соответствующего ключа, что противоречит тому, для чего вы пытаетесь их использовать.
Так что нет, этот метод не следует использовать, потому что он обречен на провал. Используйте хэш с большим внутренним состоянием.
person
Thomas
schedule
16.12.2011