Забота об уменьшении пространства поиска является математически правильной, хотя область поиска остается достаточно большой, что для всех практических целей (при условии, что вы используете соли), при 2 ^ 128. Однако, поскольку мы говорим о паролях, число возможных 16-символьных строк (буквенно-цифровые, заглавные буквы, несколько символов, добавленных) составляет примерно 2 ^ 98, согласно моим подсчетам за пределами конверта. Таким образом, воспринимаемое уменьшение в пространстве поиска не очень актуально.
Помимо этого, на самом деле нет никакой разницы, если говорить криптографически.
Хотя существует криптографический примитив, называемый «цепочкой хэшей» - методика, которая позволяет вам делать некоторые интересные трюки, такие как раскрытие ключа подписи после его использования, без ущерба для целостности системы - учитывая минимальное время Синхронизация, это позволяет вам обойти проблему первоначального распределения ключей. По сути, вы предварительно вычисляете большой набор хэшей хэшей - h (h (h (h .... (h (k)) ...))), используйте n-ное значение для подписи, после установленного интервала вы отправляете ключ и подпишите его, используя ключ (n-1). Получатели могут теперь проверить, что вы отправили все предыдущие сообщения, и никто не может подделать вашу подпись, так как прошел период времени, в течение которого она действительна.
Повторное хэширование сотен тысяч раз, как предполагает Билл, - пустая трата вашего процессора. Используйте более длинный ключ, если вы беспокоитесь о людях, ломающих 128 бит.