black_berry Я не знаю как дела обстоят с TrueCrypt или DiskCryptor, но скорее всего тоже реализовано. Если взять на примере того же Winrar, там я где-то читал, что прежде чем введенный пароль сопоставится, он многократно шифруется дешифруется туда обратно, или что-то по типу того, вобщем реализован механизм, который многократно тормозит механизм брута.
Попробовал сегодня реализовать твой вариант, как оказалось ничего сложного нет. Только сделал немного по-другому. На первом шаге вводится пароль, при этом в самом процессе ввода осуществляется генерация строки, эквивалентной длине строки пароля, только используются все символы таблицы символов ASCII. В итоге, если мы вводим пароль "123", результат генерации будет "Ц!". Затем, чтобы стабилизировать длину пароля и довести его до 128 символов, задаем хэш от строки "Ц!" с использованием Whirlpool-512, в итоге конечная длина строки хэша составит 128 символов. После этого мы подключаем модуль шифровального алгоритма, в моем случае это был Serpent. Используя этот алгоритм, мы шифруем полученное хэш-значение от "Ц!" ключом "Ц!", в итоге получаем зашифрованный текст длиной 128 символов, где также используются все символы таблицы символов ASCII. Этот зашифрованный текст и будет использован в дальнейшем в качестве пароля. Причем, каждый раз при вводе одного того же пароля будет получаться тот же зашифрованный текст. Еще добавил интересную возможность: если мы вводим пароль не "123, а скажем "124", то получаем результат "Цт¦", т.е. каждый последующий символ в пароле зависит от того, какой символ был введен ранее. Исходя из позиции противника, найти пароль, в который включены лишь все печатаемые символы из таблицы символов гораздо легче, чем найти пароль, который сам является зашифрованным текстом без стабилизации по Base64. Скрин: Я так думаю, это один из самых простых способов, если пойти дальше можно как раз реализовать то, о чем ты говорил - можно добиться многократного шифрования пароля разными ключами.
Не буду углубляться в комбинаторику, но будет достаточно одного 1КБ файла, чтобы вот этот "дом GPU" обломался. Файл можно хранить на mini EEPROM, которую, при визите "добрых дядей", и сожрать не проблема.