Человеческая память не приспособлена для случайных символов и цифр. В то же время известно, что для составления достаточно надёжного пароля этого и не требуется. Можно подобрать достаточно длинную парольную фразу на человеческом языке, которая будет обладать такой же стойкостью, что и длинный пароль из случайных символов.
Мозгу человека нужна логическая последовательность. Если символы складываются в слова, а слова складываются во фразы — они гораздо лучше запоминаются. Кстати, эту технику используют чемпионаты мира по запоминанию случайных последовательностей карт. Они рассказывают, что каждая карта у них ассоциируется с определённым объектом, и тогда «случайная последовательность» превращается в длинную интересную историю с приключениями. Такую историю легче запомнить.
Джон Клементс (John Clements) из Калифорнийского политехнического университета (Cal Poly) разработал метод генерации парольных фраз на «английском» языке, используя цепи Маркова и словарь из произведений Чарльза Диккенса. Таким образом, можно генерировать 56-битные фразы вроде “The cusay is wither?”, эта фраза обладает такой же стойкостью, как сочетание вроде “tQ$%Xc4Ef”.
Модель Маркова работает очень просто. Программа изучает текст на входе (в данном случае, произведения Чарльза Диккенса на английском языке), а затем вычисляет вероятность сочетания букв друг с другом. Если ввести “ca”, то модель скорее предложит третью букву “car”, чем “caf”.
При генерации пароля достаточно ввести первые два символы, а модель уже достроит последовательность до нужной длины. Фраза всегда содержит нормально произносимые слова и относительно легко запоминается, даже если слова в реальности не существуют в английском языке.
Автор научной работы указывает на главное достоинство программы. Её можно натренировать на любом текстовом массиве, который не известен злоумышленнику и поэтому будет более устойчив к брутфорсу. Например, на архиве своих личных почтовых писем.