>Да, кстати, какой критерий стойкости? Критериев много, но не очень много. Это те, которые по моему опыту реально позволяют отсеивать подавляющее большинство успешно-подбираемых паролей, в то же время не приводя к неприемлемому количеству "ложных срабатываний" и не сокращая подмножество пропускаемых паролей слишком сильно. Также, основные критерии (влияющие на решение в большинстве случаев) должны легко и кратко описываться, чтобы пользователь знал как ему выбрать "проходящий" пароль или фразу. По этим критериям, с учетом настроек на конкретной системе, PAM-модуль формирует описание "политики" на английском языке и выдает его перед приглашением на ввод нового пароля (http://www.openwall.com/passwdqc/screenshots). (Поддержка выдачи на других языках - в теоретических планах для будущих версий. Вероятно, будет добавлена поддержка выдачи из текстового файла, оставляя перевод английского текста для конкретных настроек и сохранение в этот файл на сисадмина...)
>* максимальная удалённость от естественных слов?
Это один из не-основных критериев. Если пароль успешно прошел другие проверки, но не является парольной фразой (в которых слова допустимы по определению), то он проверяется на наличие в нем подстрок, совпадающих с подстроками слов (и не только). В случае обнаружения, "вес" таких подстрок снижается и оставшаяся часть пароля снова подвергается исходным проверкам. Т.е. наличие в пароле части или целого слова еще не является достаточным критерием его отвергнуть. Если в нем, кроме слово-подобной части, есть достаточно другой энтропии, он будет допущен.
>* равномерное распределение символов?
Это сложно "определить" (т.е. дать определение тому, что же это такое). О равномерном распределении легко говорить, когда количество символов в строке (пароле) превышает количество символов в наборе (всех, доступных для ввода), но для паролей это не так - их длина порядка 10 символов, а различных у нас порядка 100 (условно). Также, о нем легко говорить проверяя большое количество паролей сразу, но для passwdqc типичная задача - это проверить один новый пароль.
Тем не менее, подобная проверка там есть - требуется достаточное количество различных классов символов и достаточное количество различных символов в предположении их равномерного распределения среди набора (из распознанных классов) и для затребованной настройками минимальной длины для соответствующего количества классов. Я немного упрощаю, да и то фраза вышла не простая, увы... Точнее и без попытки "ужать" ответ в одну фразу - см. в документации по настройкам, опция "min=" (принимает пять чисел - минимальные длины для различного количества классов символов и отдельно для фраз). Еще точнее - увы, только в коде.
Всё это звучит сложно и может "отпугнуть" - но простому сисадмину вдаваться в эти подробности не требуется - можно просто использовать умалчиваемые настройки (не указывать никаких опций), которые менять вряд ли есть смысл - они выбраны "с умом" и по опыту, сделать лучше при этом ничуть не навредив сложно.
>* 2 большие, 2 махонькие, 2 цыфры, 2 символа + мусор до длины?
Такой конкретики нет. Она бы неоправданно убавила подмножество пропускаемых паролей. Тем не менее, возможность подобных "четких" настроек может быть добавлена в одной из будущих версий - для тех сисадминов, кто вынужден реализовывать "опущенную сверху" "политику" (например, в чем-то подобный стандарт есть в американских военных ведомствах - они уже интересовались, кажется, в pam-list'е как же им его реализовать на pam_passwdqc...)
>* вхождение символов, слов, фраз в пространство эллиптических многочленов?
>* Кульхацкерное сикретное распределилово. :)
Отдельные "хитрые" "поправки" присутствуют - то, что по опыту (тестирование на тысячах паролей) заметно влияет на эффективность, но не вписывается в простые и красивые критерии. Но это - на последнем месте по важности.