![]() |
|
|
#1
|
||||
|
||||
|
Пишу программу на 7-ке, это программа ахиватор WinMZF, превосходит по степени сжатия RAR, использована высокая степень защищенности, типа шиврования AES-256, RC6, IDEA, используется сжатие LZMA.
Необходимы люди для тестирования программы, последнюю измененную версию WinMZF можно найти на http://madman.perm.ru, буду очень благодарен за помощь в разработке и тестировании. |
|
#2
|
||||
|
||||
|
Имхо.
Шифрование AES. Нет смысла один ключ шифровать другим. Тем более 128 битным ключем шифровать 256-битный. Избыточность шифрования не есть криптоустойчивость. Баг. Когда изменяешь размеры окна, то панель с кнопочками Copy, Replace,Delete, Search начинает ехать в сторону. В левую. Баг. При перетаскивании панелей с кнопками на один уровень происходят чудеса с размерами панелей - при изменении размера одной панели, начинает изменяться размер другой. Баг. При перетаскивании панели с кнопками на панель с вводом адреса начинаются интересные эффекты - размеры панели уменьшаются до нуля. |
|
#3
|
||||
|
||||
|
Спасибо за информацию, оболочка будет переработана.
В шифровалке один ключ рандомиальный, я долго решал проблему, сделать первый ключ (16 б) константой, но пока сделал так как есть. Как вы считаете если просто выбросить шифрование одного ключя другим и использовать константу? |
|
#4
|
||||
|
||||
|
Кста
Цитата:
![]() |
|
#5
|
||||
|
||||
|
Насчет шифрования.
Сделать генерацию ключа на основе пароля. А шифрование сделать с динамическим изменением ключа. И не надо шифровать один ключ другим. Брутфорс идет непосредственным перебором ключа, а пароля. |
|
#6
|
||||
|
||||
|
Спасибо!!!
![]() Т.е ключ будет получен на основе циклического избыточного кода или псевдо случайной генерацией? |
|
#7
|
||||
|
||||
|
И еше, что лучше подойдет для хеш-кода CRC32 или CRC64, я использую первый, но второй более уникален, но и объем он увеличивает
![]() |
|
#8
|
||||
|
||||
|
Для чего использовать хэши? Для контроля расшифровки? Тогда хватит CRC32. А ключ генерировать на основе циклического кода. Можно прикрутить и псевдо генерацию. Главное, чтобы генерация ключа была функцией необратимой - т.е. нельзя было бы развернуть ключ в пароль.
|
|
#9
|
||||
|
||||
|
MD5 ровно 16 байт, подойдет на первый ключ как влитая.
Да и где можно найти информацию про ГПСЧ. В книге только теория. Последний раз редактировалось M.A.D.M.A.N., 24.06.2008 в 20:45. Причина: 1 |
|
#10
|
||||
|
||||
|
Может быть я неправильно что-то понял. Но алгоритм такой - первый ключ шифрует второй ключ, а вторым ключем криптуются данные. Тогда это бессмысленно, поскольку шифрование данных идет только вторым ключем и для расшифровки файла будет вестись поиск именно 2-го ключа.
Насчет МДА5. К сожалению "не очень долго будет мучится старушка" - в сети распределенных вычислений вскрывается быстрее чем DES. Что качаеться ГПСЧ, то естественно необходимо использовать конгруэнтные генераторы Xn+1 = (A∙Xn+ C) mod M. Модули будут равны 1. A = 1664525, предложен M.Lavaux & F.Janssens, период 2^32; 2. A = 6364136223846793005, предложен C.Haynes, период 2^64; 3. A = 40692, предложен P.L’Ecuyer, период 2^31-249; M и С можно генерировать от введенного пароля. Я не знаю каким образом шифруются файлы в архиве, но я бы предложил делать шифрование с динамическим ключем - т.е. после шифровки каждого блока (1024, 2048 и т.д. байт), ключ бы динамически менялся. Зависимость опять таки от пароля. Тогда брутфорс стает просто бессмысленным. |
|
#11
|
||||
|
||||
|
нет, я пересмотрел исходник, ключи друг друга не шифруют (я ошибся когда написал что ключи друг друга шифруют), это идет инициализация енкодера, и ключ (рандомный) пишется в поток.
Спасибо за идею, я последовал вашему совету и сделал, что вместо рандомного ключа вписывается хеш паролья (методом MD5), и не происходит записи ключа в файл. Хм, если сделать чтобы ключ автоматом менялся при превышении 1 Кб, а точнее был бы CRC от предыдущего блока? Как шифруются файлы в архиве: -Исходный поток файла -Если предшифрование, то шифрование по одному из методов -Сжатие полученного потока, получение CRC32 -Если постшифрование, то шифрование по одному мз ключей -------------- -Формирование заголовка (по той же системе) -------------- -Запись размера заголовка в конечный поток -Запись заголовка файла в конечный поток -Запись потока сжатого\шифрованного файла и так по циклу. Да и если MD5 такой уж слабый, то не подскажите какой лучше использовать. Последний раз редактировалось M.A.D.M.A.N., 25.06.2008 в 14:47. |
|
#12
|
||||
|
||||
|
Цитата:
Стоит ли использовать Вихрь Мерсенна? Последний раз редактировалось M.A.D.M.A.N., 25.06.2008 в 16:01. |
|
#13
|
||||
|
||||
|
Все понял. Хватит MDA5. C головой. Вихрь Мерсенна я думаю можно попробовать применить, но нужно будет сделать статистические исследования - т.е посмотреть как будет идти генерация паролей. Была бы только реализация алгоритма. Однако нужно предусмотреть, чтобы значение ПСЧ зависело от какого-нибудь числа. Т.е. выполнялась бы функция ПСЧ=f(SomeDigit).
Xn в конгруэнтном генераторе Xn+1 = (A∙Xn+ C) mod M, есть предыдущее значение ПСЧ |
|
#14
|
||||
|
||||
|
ну по поводу 3й степени можно поспорить, + шифровать файл до сжатия по-моему глупо.. сам подумай.
есть баги с интерфейсом, есть опечатки (Black Hole), и если честно с юзабильностью у него тоже проблемы.. лан, оставим пока оболочку. сжимает как.. знаешь мне интересно на каких тестах он "обгоняет рар и иногда 7зип"? бинарники вообще сжимает отвратительно, на твоём же exe проигрывает 7зипу чуть ли не вдвое. может быть текст и неплохо, но в общем... короче есть над чем работать ![]() ну и напоследок. бета это хорошо, но (совет) сделай его чуточку юзабильнее добавь возможность сжимать папки и файлы через контекстное меню, сделай открытие файла архива по запуску и так далее ![]() |
|
#15
|
||||
|
||||
|
есди из усовершенствования - посмотри архиватор Bee. C сорцами, на дельфе, тоже из семейства LZW. Работает конечно помедленнее, но эффективнее - вот он 7zip иногда затыкает за пояс
![]() |