![]()  | 
	
 
  | 
| 
		 
			 
			#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 иногда затыкает за пояс  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	![]()  |