URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1790
[ Назад ]

Исходное сообщение
"Криптография на молекулярном уровне"

Отправлено zerkalo , 17-Дек-04 22:26 
Уважаемые профессионалы скажите пожалуйста как в FreeBSD  шифруются пароли? Интересует как ДЕС так и МД5.
Например: пароль является ключом в ДЕС и шифруется солт или как то по другому…
Если можно подробную информацию, например: этот бит сюда этот бит туда и т.д.
Если вам это делать влом то дайте пожалуйста ссылку на инфу.
И вообще как реализована криптография и какая?

Содержание

Сообщения в этом обсуждении
"Криптография на молекулярном уровне"
Отправлено Delta123 , 18-Дек-04 09:11 
Тебе нужно описание самих  алгоритмов  ?
Прочитай хотя бы Брюса Шрайвера ,к примеру. Классика



"Криптография на молекулярном уровне"
Отправлено zerkalo , 18-Дек-04 12:24 
>Тебе нужно описание самих  алгоритмов  ?
>Прочитай хотя бы Брюса Шрайвера ,к примеру. Классика


Нет. Описание алгоритмов самих методов криптошифрования мне не нужно. Мне нужно понимание того как прооисходить аутентификация человека в системе. Первый рут зашел записал пароль система запомнила его солт. Пароль зашифровала а солт хранит в открытом виде.
Я знаю что ДЕС шифрует с помощью ключа. Так вот что есть ключем в ДЕСе пароль или солт. После шифрования к шифрованому прибовляется еще какаято нулевая таблица и возвращается назад и так 25 раз. Вильямс Столлингс "Операционные системы" страница 748 сверху тема Уязвимость паролей.


"Криптография на молекулярном уровне"
Отправлено Асен Тотин , 18-Дек-04 20:30 
Привет,

Для криптирования используется стандартный DES. Последоватильность такая:

1. Потребитель водит новый пароль.
2. Система берет первые 8 знаков пароля, из каждого знака - младшие 7 бит. Таким образом получается ключ размером в 56 бит. Набор возможных комбинаций - 2^56.
3. Система выбирает случайный salt размером в 2 символа (14 бит). Набор возможных комбинаций - 4096.
4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а. Результат - 13 байтов.

При проверке пароля система берет записанный salt, из введенного пароля строит ключ, криптирует тот же нулевой стринг и стравнивает результат с записанным в /etc/shadow.

Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет, лишь число возможных вариантов больше.

WWell,


"Криптография на молекулярном уровне"
Отправлено zerkalo , 19-Дек-04 13:01 
Прикольно спасибо. Есть еще маленькие вопросы.
>4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а.

Как происходит шифрование? Может к нулевому стрингу  добовляется солт а потом шифруется с помощью ключа? А?

>Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет,
>лишь число возможных вариантов больше.

МД5 это хеш функция для нее вообще солт не нужен. Объясни пожалуйста как шифруется с МД5.



"Криптография на молекулярном уровне"
Отправлено Beginner , 20-Дек-04 11:20 
>Прикольно спасибо. Есть еще маленькие вопросы.
>>4. Стандартный стринг, состоящий из нулей, криптируется при помощи ключа и salt-а.
>
>Как происходит шифрование? Может к нулевому стрингу  добовляется солт а потом
>шифруется с помощью ключа? А?
>
>>Есть вариант с изпользованием MD5 hash, но особой разницы в работе нет,
>>лишь число возможных вариантов больше.
>
>МД5 это хеш функция для нее вообще солт не нужен. Объясни пожалуйста
>как шифруется с МД5.


Читаем стандарты и RFC. Там все написано.


"Криптография на молекулярном уровне"
Отправлено Асен Тотин , 20-Дек-04 15:16 
Привет,

>Как происходит шифрование? Может к нулевому стрингу  добовляется солт а потом
>шифруется с помощью ключа? А?

Нет. Salt - всего лишь рандомизатор алгоритма по криптированию. ЕСли вас интересует точно как произходит рандомизация, наверно, вам следует почитать исходники glibc - имище функцию crypt().

>МД5 это хеш функция для нее вообще солт не нужен.

Не совсем так. Если при чтение криптированного пароля он начинается стрингом "$1$", то ваша password команда вместо crypt() вызывает md5. В Linux имеем 8 байтов salt и 22 байта MD5 (итого: 34 байта).
Для описания точного алгоритма вам опять придется почитатть исходники: shadow utils для Linux.

WWell,