Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Не правильно формулу написал. для шифрования используются... 15.12.06 15:37 Число просмотров: 4672
Автор: Maksim Статус: Незарегистрированный пользователь
|
> есть ключ. есть 16 байт открытого текста > зашифровал > как зная только ключ, расшифровать? > как узнать O, зная только PASS и O XOR > HASH(DATA0+HASH(PASSWORD)) > т е у тебя с первым блоком проблема и так далее
Не правильно формулу написал. для шифрования используются открытые данныепредыдущего_блока т.е. kod= data[i] XOR HASH( data[i-1] + HASH(pass) ). Т.е. при шифровании i-го блока предыдущий открытый известен, при расшифровке - предыдущий уже расшифрован, т.е. опять известен. Единственная сложность (о которой здесь уже несколько постой было), это шифрование первого блока, т.к. для него нет предыдущего. Поэтому для него используется константа. А что бы для разных данных на одном ключе маска для первого блока отличалачть, можно искуственно увеличить шифруемые данные на один блок, т.е. создать случайное число и записать его первым блоком. Даже если его расшифруют, оно никак не относится к скрываемой информации и ровным счетом ничего не дает. Данный алгоритм - по сути получается гаммирование бесконечно длинным рядом, где ниодна маска не повторяется, т.к. используется накапливание предыдущих данных. Если посмотрите программу, которую я выложил, то даже если взять мегабайт данных с одними нулями, то в зашифрованном виде никакой зависимости не наблюдается (визульно). А как провести настоящий криптоанализ - именно этот вопрос я и задавал в первом своем посте. Теоретически - должно быть все хорошо. Осталось это проверить.
|
|
|