информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаЗа кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну давай :-) 21.03.03 18:41  Число просмотров: 2698
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 21.03.03 18:43  Количество правок: 1
<"чистая" ссылка>
Ну давай :-)
Не обижайся, но думаю за час-два анализа мы твой алгоритм "угробим"...
Чем он лучше чем RIPEMD-128/160, SHA-1, HAVAL или MD5 ?

P.S.
Советую ознакомиться http://citeseer.nj.nec.com/408835.html
<theory>
Характеристики Хэша 21.03.03 18:19  
Автор: ZLynxZ Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Здравствуйте!
У меня есть вопрос скорее к криптоаналитикам чем к криптографам. Проблемма в следующем: Я придумал и реализовал алгоритм хэширования паролей. По моим испытаниям рассеивание не плохое, но я хотел бы посоветоваться с профессионалами. Как мне можно узнать характеристики данной функции и насколько она годиться для использования в системах безопасности?
Алгоритм могу дать. Реализован на Ассемблере.
Заранее спасибо.
Характеристики Хэша 24.03.03 19:05  
Автор: ZLynxZ Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Алгоритм буду описывать на псевдокоде, как в "Основах современной криптографии".
Алгоритм заключается в следущем: Пусть есть пароль длины n символов и его привязка из 4-х символов (идею привязки cgbplbk из Unix).
---------------------------------
P[] - буфер пароля
A, B - имеют размерность 32 бита
c - размерность 8 бит

A = B = Привязка

For i = 1 to n {
A = A xor P[i]
B = ((B + A) mod 2^32) <<< 1
c = P[n-i+1] and 00011111b
A = A >>> c
}

Выход = A xor B
---------------------------------
Ну там потом ещё декодиг хэша должен идти, типа чтобы он состоял из одних букв, но на криптостойкость это не влияет... Поэтому не загружаю форум ;)))
Мда, на Асме она больше выглядит... Ну да ладно... Подскажите что с ней ещё можно сделать, что бы повысить время вычисления, и необратимость...
Заранее всем спасибо.
а ты его в лоб пробовал? 25.03.03 08:23  
Автор: cybervlad <cybervlad> Статус: Elderman
<"чистая" ссылка>
> Подскажите что с ней ещё можно сделать, что бы повысить
> время вычисления, и необратимость...
ну, необратим он по определению - если пароль 8 символов, то из 32 бит ты его не восстановишь в общем случае.
насчет сложности. в свое время, в процессе изучения системы аутентификации netware, меня очень заинтересовала возможность подбора пароля по данным handshake. пароль там сначала хешируется (размер хеша - 128 бит, 16 байт то есть), причем алгоритм "немноожко" потяжелее, чем у тебя. тем не менее, лобовая атака (bruteforce) до определенного предела имеет смысл.
результат здесь:
http://cybervlad.port5.com/nwpass/netware.pdf (полный вариант)
http://cybervlad.port5.com/nwpass/index.html (журнальный вариант)

также рекомендую посмотреть проект Pandora на www.nmrc.org, там есть подбиралка пароля под нетваревый хеш в стиле John the Ripper.
Характеристики Хэша. дык отож 25.03.03 03:35  
Автор: andrew Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Алгоритм буду описывать на псевдокоде, как в "Основах
> современной криптографии".
> Алгоритм заключается в следущем: Пусть есть пароль длины n
> символов и его привязка из 4-х символов (идею привязки
> cgbplbk из Unix).
увы, не в курсе, что за зверь, но вообще не важно, если оно однократное...
> ---------------------------------
> P[] - буфер пароля
> A, B - имеют размерность 32 бита
навскидку - мало. сейчас хэш - минимум 128, есть и 160, а в ГОСТе 256 бит
> c - размерность 8 бит
>
> A = B = Привязка
>
> For i = 1 to n {
> A = A xor P[i]
ах, не однократное! то тут тонкость, мне не очень понятная...
> B = ((B + A) mod 2^32) <<< 1
младший бит = нулю
> c = P[n-i+1] and 00011111b
а тут 3 старших
> A = A >>> c
если это не циклический сдвиг, то
> }
>
> Выход = A xor B
можно предсказать 4 бита из 32 на предыдущем цикле, 2^28 бит/2^4 еще на предыдущем, итого за 8 циклов можно подобрать нужный хэш -требуется "аппендикс" в 24 байта.
стоимость перебора (2^4*2^32*2^3)/2= 2^38. даже не разговор. можно еще понизить на порядки (двоичные) за счет таблицы, но потребуется память и предвычисления. аналог алгоритма голича - балансировка "время-память".

> ---------------------------------
> Ну там потом ещё декодиг хэша должен идти, типа чтобы он
> состоял из одних букв, но на криптостойкость это не
> влияет... Поэтому не загружаю форум ;)))
а и верно...
> Мда, на Асме она больше выглядит... Ну да ладно...
дык он и помладше псевдокода будет, петька (почти анекдот 8-))

> Подскажите что с ней ещё можно сделать, что бы повысить
> время вычисления, и необратимость...
повысить время? вставь с десяток пустых циклов... 8-))
а по делу - дык шеннон давно все сказал - берем туеву хучу тривиальных функций (подстановка и перемешивание) и пользуем их, бедолаг, совместно (есть такое слово - суперпозиция)

у тебя направление мысли верное, но биты предыдущего цикла не "размазываются" на весь массив хэша, а это @#$ово. я бы на твоем месте издевался над двумерным МАССИВОМ хэша типа 8х8 (примерно как сделано в АЕС) - в четных циклах над строками, а внечетных над столбцами. всего 2 доп. указателя, а как хреново становится жить аналитику 8-). на последнем цикле "свертывал" этот массив по медиане (ну или главной диагонали) для пущей вредности 8-))

заходи на ru.crypt там таких добрых много
8-))

а еще почитай ЧаВО - последовательно заходи, ручками, а то прямая ссылка сваливается почему-то:
ftp://ftp.wtc-ural.ru/
pub/
ru.crypto/
faq/
rucrypt.faq
32 бита очень мало 24.03.03 20:20  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 24.03.03 20:23  Количество правок: 1
<"чистая" ссылка>
Выход в 32 бита очень мал для хеширования пароля. Нужно как минимум 64.

Кроме этого, очень легко вычислить/подобрать некоторый пароль, который даст заданный хэш. Можно просто перебором (атакой в лоб), а если немного подумать то еще быстрее...

Чтобы получить более-менее приемлемые параметры, нужно дополнительно задействовать mul, и сдедать не менее 5 "больших" циклов.

Например так:
A = B = xxx
for i = 0 to 8 
{
    for j = 0 to n - 1
    {
        A = A xor P[j] + B
        B = (A * B + j) <<< 5
        A = A >>> P[n-j]
    }
}
Выход = (A << 32) + B

---
Удачи.
Ну давай :-) 21.03.03 18:41  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 21.03.03 18:43  Количество правок: 1
<"чистая" ссылка>
Ну давай :-)
Не обижайся, но думаю за час-два анализа мы твой алгоритм "угробим"...
Чем он лучше чем RIPEMD-128/160, SHA-1, HAVAL или MD5 ?

P.S.
Советую ознакомиться http://citeseer.nj.nec.com/408835.html
не говори гоп... 22.03.03 00:50  
Автор: RElf <M> Статус: Member
<"чистая" ссылка>
> Ну давай :-)
> Не обижайся, но думаю за час-два анализа мы твой алгоритм
> "угробим"...

Откуда такая уверенность?

> Чем он лучше чем RIPEMD-128/160, SHA-1, HAVAL или MD5 ?

Может быть и ничем. Но легко придумать алгоритм, отличный от известных, который потребует куда больше чем "час-два анализа", а то и будет ничуть не хуже перечисленных.
Создан именно для паролей 22.03.03 11:31  
Автор: ZLyxZ Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я создал этот алгоритм для хэширования паролей... И мне хотелось бы только узнать его характеристики и предложения по улучшению... Если вы возьмётесь за его испытание, то оставьте свой Е-Майл и я пришлю вам саму реализацию и заодно програмку для проверки... Спасибо.
Создан именно для паролей 24.03.03 11:32  
Автор: andrew Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Я создал этот алгоритм для хэширования паролей... И мне
> хотелось бы только узнать его характеристики и предложения
> по улучшению... Если вы возьмётесь за его испытание, то
> оставьте свой Е-Майл и я пришлю вам саму реализацию и
> заодно програмку для проверки... Спасибо.
а зачем реализация? я может и ассемблера то не знаю 8-))
опубликуй алгоритм, тогда будет предмет для обсуждения, а сейчас это сотрясение воздуха
Ерунда! 24.03.03 18:26  
Автор: Persicum Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А ты не задумывался, почему дажее к самым дорогим и фирменным
прогам пишут кейгены?
Там хешируются имена, а толку что?
От кейгенов спасает только Асимм_Хеш(Обычный_Хеш(Имя))).
Ерунда! разумеется, бред! 25.03.03 03:01  
Автор: andrew Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> А ты не задумывался, почему дажее к самым дорогим и
> фирменным
> прогам пишут кейгены?
задумывался. видимо денег зарабатывают. нет?
> Там хешируются имена, а толку что?
> От кейгенов спасает только Асимм_Хеш(Обычный_Хеш(Имя))).
я стесняюсь спросить, это ко мне вопрос?
тогда попрошу уточнений, что такое "обычный хэш"? "ассиметричный хэш (видимо ЭЦП или ассим. алгоритм в режиме ГСЧ)?
и наконец - вопрос победителю: что есть сильный и слабый MDC ?
причем, цинично замечу, что в схеме (просто сильный хэш, определяющий искажения) мне никто не помешает заранее рассовать значение хэша по всем Инетовским заборам и даже написать "в общественном парижском туалете". и чем это отличается от распространения "открытого ключа" в предложенной мне схеме?
при использовании СИЛЬНОГО хэша, потребуется очень нехилый математик, класса - кочера, заломавшего pkzip за 2^38, против 2^96, заложенных в алгоритме...
позволю себе еще и последнее - когда я писал свое письмо, то исходил из закона керкхоффа, а не из "security by ostrich".
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach