Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Контрольные суммы


demon ©   (2008-08-20 21:04:00) 

Нужно вычислять контрольные суммы файлов (в основном exe и dll). Какой алгоритм быстрее, какой надежнее?


Anatoly Podgoretsky   (2008-08-21 15:35:00) [1]

> demon  (21.08.2008 14:06:12)  [12]

Оп ля, "вот для этого и нужна скорость" и md5


Anatoly Podgoretsky   (2008-08-21 15:34:00) [2]

> demon  (21.08.2008 14:06:12)  [12]

Забудь, пока еще нет вирусов, которые в состоянии раскрыть алгоритм формирования CRC
И поэтому в данном случае достаточно обычной CheckSum по модулю 2^32


demon   (2008-08-21 14:17:00) [3]

Спасибо!
Думаю, остановлю свой выбор на MD5


DVM   (2008-08-21 14:12:00) [4]


> demon ©   (21.08.08 14:06) [12]

Модуль для расчета различных вариантов CRC:
http://dvmuratov.narod.ru/files/Crc.zip

Модуль для расчета Checksum:
http://dvmuratov.narod.ru/files/Checksum.zip


demon   (2008-08-21 14:06:00) [5]

Собираюсь написать что-то вроде антивируса, контрольные суммы будут сверяться перед запуском файлов на исполнение, вот для этого и нужна скорость.

Я где-то слышал что CRC можно подделать, т.е. изменить файл так, что его CRC останеться прежней.

А что за CheckSum?


DVM   (2008-08-21 10:44:00) [6]

самое ненадежное - это обычная CheckSum (не путать с CRC!).


DVM   (2008-08-21 10:43:00) [7]

самое надежное (но не самое быстрое) - вычислять и CRC32(CRC64) и MD5. Комбинация этих двух алгоритмов дает очень высокую надежность.


brother   (2008-08-21 10:40:00) [8]

и причем тут надежность?


Jeer   (2008-08-21 10:07:00) [9]


> brother ©   (21.08.08 04:56) [6]


Бывают КС ( условно так их назовем ) заточенные для выявления ошибок и сбоев, а бывают криптографические КС, заточенные для защиты от подмены.
Кроме всего прочего, поскольку длина КС ограничена, то возможны совпадения КС для разных файлов, хотя и с малой вероятностью.
Попробуй вычислить crc32 ( например ) для всех файлов на своем диске и будешь приятно удивлен появлению одинаковых КС, но для разных файлов :)


palva   (2008-08-21 07:40:00) [10]


> Но зачем тут такая скорость?

Не знаю зачем. Автор просит. Ему виднее.

> я не понял про надежнее?

Ненадежная кс, это когда файл изменился, а кс осталась та же. Эта ситуация распадается на два класса: файл изменился по случайным причинам или ошибке оператора, либо файл был изменен неким субъектом с целью ввести вас в заблуждение. Второй случай требует такого хитрого алгоритма, чтобы было затруднительно подобрать нужную кс (MD5).

Можно придумать другие критерии надежности. Например, иногда требуется, чтобы проверить правильность кс мог только человек, знающий секретный ключ. Этот случай можно усложнить. Например, человек, знающий ключ, должен иметь возможность убедить окружающих что данная кс правильная или неправильная, но в то же время не разгласить ключ.


brother   (2008-08-21 04:56:00) [11]

я не понял про надежнее? это как? бывают надежные контрольные суммы, а бывают не надежные? тогда какая это нафиг контрольная сумма...


Германн   (2008-08-21 00:18:00) [12]


> Наверно, это побыстрее будет, чем md5.

Наверное. Но зачем тут такая скорость?


palva   (2008-08-20 23:18:00) [13]

Если отлавливать случайное повреждение файлов, а не злонамеренную подмену, то достаточно crc32. Наверно, это побыстрее будет, чем md5.


Riply   (2008-08-20 22:38:00) [14]

> [0] demon ©   (20.08.08 21:04)
> Нужно вычислять контрольные суммы файлов (в основном exe и dll). Какой алгоритм быстрее, какой надежнее?
Быстрее - размер. Для надежности, IMHO, достаточно MD5.


Правильный$Вася   (2008-08-20 22:06:00) [15]

MD5


DVM   (2008-08-20 22:04:00) [16]

ты про CRC или CheckSum ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо