Уважаемые профессионалы скажите пожалуйста как в FreeBSD шифруются пароли? Интересует как ДЕС так и МД5.
Например: пароль является ключом в ДЕС и шифруется солт или как то по другому…
Если можно подробную информацию, например: этот бит сюда этот бит туда и т.д.
Если вам это делать влом то дайте пожалуйста ссылку на инфу.
И вообще как реализована криптография и какая?
Тебе нужно описание самих алгоритмов ?
Прочитай хотя бы Брюса Шрайвера ,к примеру. Классика
>Тебе нужно описание самих алгоритмов ?
>Прочитай хотя бы Брюса Шрайвера ,к примеру. Классика
Нет. Описание алгоритмов самих методов криптошифрования мне не нужно. Мне нужно понимание того как прооисходить аутентификация человека в системе. Первый рут зашел записал пароль система запомнила его солт. Пароль зашифровала а солт хранит в открытом виде.
Я знаю что ДЕС шифрует с помощью ключа. Так вот что есть ключем в ДЕСе пароль или солт. После шифрования к шифрованому прибовляется еще какаято нулевая таблица и возвращается назад и так 25 раз. Вильямс Столлингс "Операционные системы" страница 748 сверху тема Уязвимость паролей.
Привет,Для криптирования используется стандартный DES. Последоватильность такая:
1. Потребитель водит новый пароль.
2. Система берет первые 8 знаков пароля, из каждого знака - младшие 7 бит. Таким образом получается ключ размером в 56 бит. Набор возможных комбинаций - 2^56.
3. Система выбирает случайный salt размером в 2 символа (14 бит). Набор возможных комбинаций - 4096.
4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а. Результат - 13 байтов.При проверке пароля система берет записанный salt, из введенного пароля строит ключ, криптирует тот же нулевой стринг и стравнивает результат с записанным в /etc/shadow.
Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет, лишь число возможных вариантов больше.
WWell,
Прикольно спасибо. Есть еще маленькие вопросы.
>4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а.Как происходит шифрование? Может к нулевому стрингу добовляется солт а потом шифруется с помощью ключа? А?
>Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет,
>лишь число возможных вариантов больше.МД5 это хеш функция для нее вообще солт не нужен. Объясни пожалуйста как шифруется с МД5.
>Прикольно спасибо. Есть еще маленькие вопросы.
>>4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а.
>
>Как происходит шифрование? Может к нулевому стрингу добовляется солт а потом
>шифруется с помощью ключа? А?
>
>>Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет,
>>лишь число возможных вариантов больше.
>
>МД5 это хеш функция для нее вообще солт не нужен. Объясни пожалуйста
>как шифруется с МД5.
Читаем стандарты и RFC. Там все написано.
Привет,>Как происходит шифрование? Может к нулевому стрингу добовляется солт а потом
>шифруется с помощью ключа? А?Нет. Salt - всего лишь рандомизатор алгоритма по криптированию. ЕСли вас интересует точно как произходит рандомизация, наверно, вам следует почитать исходники glibc - имище функцию crypt().
>МД5 это хеш функция для нее вообще солт не нужен.
Не совсем так. Если при чтение криптированного пароля он начинается стрингом "$1$", то ваша password команда вместо crypt() вызывает md5. В Linux имеем 8 байтов salt и 22 байта MD5 (итого: 34 байта).
Для описания точного алгоритма вам опять придется почитатть исходники: shadow utils для Linux.WWell,