Как расширить хэш md5?

  • Автор темы Светлана PHP
  • Дата начала

kvf77

Red Devil
Автор оригинала: Светлана PHP
по-поводу 1 ссылки: возможно функционально, но мутарно

по поводу 2 ссылки: интерсует только OOП
Ну по поводу первой ссылки - там пара строк и ваш архив готов - иначе я бы переводить не стал. Другой вопрос - что там очень много сделать разного можно :)
 

Светлана PHP

Guest
valyala
Уж лучше мутарно и функционально... :)

Шифрование и сжатие необходимы :)

Слушай, проблема уже решена. Не парься. Чемберлен доволен и выражает тебе благодарность.

-~{}~ 10.05.05 12:28:

Дмитрий Попов
PHP5 полноправно может называться объектно-ориентированным языком. Учитывая его лёгкость и высокие интеграционные возможности определённо имеет смысл им заниматься. Что я и пытаюсь делать. Ну конечно не так успешно как Вы должно быть. Но...
 

valyala

Новичок
Шифрование и сжатие необходимы
Так вроде в моей билиотеке archive_dir пристутствует сжатие. bzip2 называется.

Хотелось бы уточнить кое-какие детали насчет шифрования:
- зачем оно нужно при создании бэкапа? Злоумышленник, получивший доступ к серверу, спокойно может заглянуть в скрипт, создающий бэкап, и отыскать там пароль
- какой алгоритм шифрования используется?
- какой тип шифра используется: блочный или потоковый?
- если используется блочный шифр, то какой метод шифрования применен: ECB, CBC, OFB или CFB?
- используются ли внешние библиотеки или алгоритм реализован полностью на ПХП?
- если алгоритм реализован на ПХП, то во сколько раз падает скорость создания бэкапа?
 

Светлана PHP

Guest
valyala
Цель не только бэкап. Нужна эффективная передача данных через интернет. Защита интеллектуальной собственности
Зачем:
пользователи интранет/интернет приложений покупают дополнительные модули или обновляют устаревшие. Купленная система обладает публичным и скрытым ключом. Вот этот скрытый ключ идёт на вход компрессору и таким образом файлы распаковываются. Файлы зэндины и внутри них имеются соответствующие ключи/номера лицензий.
Таким образом, если возникло желание дружески поделится новым модулем - тема не прокатывает по целому ряду почему и первое - это код на входе компрессора
Какой алгоритм:
самопальный, ассиметричный (в основе md5)
Тип:
смешанный
Внешние библиотеки:
неа
Скорость:
смертельно стремительная
 

valyala

Новичок
Какой алгоритм:
самопальный, ассиметричный (в основе md5)
Все известные мне на данный момент широко используемые криптоалгоритмы с открытым ключом основаны на следющих трудноразрешимых задачах:
- разложение на простые множители больших чисел (RSA)
- дискретное лагорифмирование в конечном поле (Diffie-Hellman, El-Gamal)
- вычисление квадратных корней по модулю составного числа (Rabin)

Существуют также чисто теоретические и малоиспользуемые асимметричные криптоалгоритмы. Они не получили широкого распространения по следующим причинам:
- недостаточные теоретические исследования в области задачи, на которой построен криптоалгоритм
- доказанная криптографическая нестойкость (например, задача об укладке сверхвозрастающего ранца)
- неэффективность практического использования (слишком длинный ключ; размер шифртекста намного больше размера открытого текста; недопустимо низкая скорость работы)

Внимание, вопрос: Светлана, не могли бы вы рассказать устройство вашего "самопального" асиммертричного криптоалгоритма, основанного на md5? Прежде всего хотелось бы узнать, на какой трудноразрешимой задаче основан ваш алгоритм.

p.s. Если решили браться за криптографию, неплохо было бы вначале изучить теорию.
Полезные ссылки:
http://www.pgpru.com/articles/crypto/schneier_snakeoil.shtml - про "самопальные" системы защиты информации
http://www.ssl.stu.neva.ru/psw/publications/crypto.html - анализ причин ненадежности современных криптосистем
http://www.ssl.stu.neva.ru/psw/crypto.html - хорошая подборка ссылок на русскоязычные статьи по криптографии
 

Светлана PHP

Guest
Спасибо за ссылки. Обязательно изучу. Чемберлен доволен.

Вряд ли самопал достоин Вашего внимания, ну уж просите коль:

0.1) под хэшем md5 понимается преобразованный к 16 байтовому (бинарному) представлению вариант хэша выводимый функцией md5()

0.2) итерационный хэш - хэш md5 [см 0.1] из пароля со смещением в представлении

-==-

1) Вычисляется стартовый хэш пароля.

2) Вычисляется первый итерационный хэш.

3) Сжимается файл. Получаем бинарную последовательность уже сжатого файла.

4) На основе итерационного хэша вычисляется файловое смещение, то место куда будет внедрятся итерационный хэш. То есть фактически файл рвётся на две части в неизвестном месте, этим хэшем.

5) Файл добавляется к файлу архива

6) Вычисляется следующий итерационный хэш, который становится стартовым и операция повторяется.


-==-

В итоге - длинный файл. Не зная пароля расшифровать сложно. :)
 

alexhemp

Новичок
Светлана PHP

Зачем такой сложный велосипед изобрели?
Может быть традиционное шифрование лучше?
AES, DES или на худой конец BlowFish...

Еще можно порекомендовать просто брать MD5 от пароля и xor-ить файл с полученным значением блоками по 16 байт.
Стойкость того-же порядкаполучится, что и в вашем "методе".
 

Светлана PHP

Guest
alexhemp
1) xorить долго. cputime, etc
2) Традиционных методов много. Но всё это дополнительные файлы (скрипты).


Спасибо за рекомендации. Обязательно обратимся к Вам прежде, чем чего "творить" надумаем... "методы" там придумывать... :)
 

valyala

Новичок
Светлана, неплохая у вас фантазия :)
Купленная система обладает публичным и скрытым ключом.
Где публичный и скрытый ключ?

Еще можно порекомендовать просто брать MD5 от пароля и xor-ить файл с полученным значением блоками по 16 байт.
Еще можно порекомендовать зайти в мануал ПХП на страницу, где описывается функция md5, и почитать мой комментарий от 30 июня 2004 года. Там приведен стойкий криптоалгоритм, основанный на md5. Главный его недостаток - низкая скорость работы. http://php.net/md5
 

Светлана PHP

Guest
valyala
Да. Спасибо. Чемберлену передала.
 

[Gisma]

Новичок
я плакал... ;)
упорный человек успевает отгрызаться ото всех в принципе рациональных мнений.
 
Сверху