Контрольная сумма

Поделись знанием:
Перейти к: навигация, поиск

Контро́льная су́мма — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. Также контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность: с большой вероятностью различные наборы данных будут иметь неравные контрольные суммы. Это может быть использовано, например, для обнаружения компьютерных вирусов. Несмотря на своё название, контрольная сумма не обязательно вычисляется путём суммирования.

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

Популярность использования контрольных сумм для проверки целостности данных обусловлена тем, что подобная проверка просто реализуема в двоичном цифровом оборудовании, легко анализируется и хорошо подходит для обнаружения общих ошибок, вызванных наличием шума в каналах передачи данных.

Криптографическая функция MD5 уже почти не используется для определения контрольных сумм, т.к. оказалось, что для неё можно быстро создавать с помощью современных компьютеров два разных файла, имеющих разную длину в байтах, но одинаковые величины контрольных сумм, подсчитанных с помощью алгоритма MD5.

Использование термина сумма связано с тем, что на заре цифровой связи при байтовых передачах информационными были 7 бит, а восьмой — контрольный — рассчитывался как младший разряд сложения информационных.



Примеры

  • Циклический избыточный код (в частности, CRC8, CRC16, CRC32) применяется для проверки целостности передачи данных. Программы-архиваторы включают CRC исходных данных в созданный архив для того, чтобы получающий мог удостовериться в корректности полученных данных. Такая контрольная сумма проста в реализации и обеспечивает низкую вероятность возникновения коллизий.
  • MD5 и другие криптографические хеш-функции используются, например, для подтверждения целостности и подлинности передаваемых данных.
  • Под названием «контрольное число» входит в состав номеров товаров и различных документов.

См. также

Напишите отзыв о статье "Контрольная сумма"

Ссылки

  • [www.ietf.org/rfc/rfc1952.txt Пример реализации CRC32 на С]
  • [fsumfe.sourceforge.net/ Fsum Frontend — средство для работы с контрольными суммами. Поддерживает 96 алгоритмов.]
  • [utils.kde.org/projects/okteta/ Okteta — шестнадцатеричный редактор для KDE 4]

Отрывок, характеризующий Контрольная сумма

Пьер объяснил свое намерение участвовать в сражении и осмотреть позицию.
– Вот как сделайте, – сказал Борис. – Je vous ferai les honneurs du camp. [Я вас буду угощать лагерем.] Лучше всего вы увидите все оттуда, где будет граф Бенигсен. Я ведь при нем состою. Я ему доложу. А если хотите объехать позицию, то поедемте с нами: мы сейчас едем на левый фланг. А потом вернемся, и милости прошу у меня ночевать, и партию составим. Вы ведь знакомы с Дмитрием Сергеичем? Он вот тут стоит, – он указал третий дом в Горках.
– Но мне бы хотелось видеть правый фланг; говорят, он очень силен, – сказал Пьер. – Я бы хотел проехать от Москвы реки и всю позицию.
– Ну, это после можете, а главный – левый фланг…
– Да, да. А где полк князя Болконского, не можете вы указать мне? – спросил Пьер.
– Андрея Николаевича? мы мимо проедем, я вас проведу к нему.
– Что ж левый фланг? – спросил Пьер.
– По правде вам сказать, entre nous, [между нами,] левый фланг наш бог знает в каком положении, – сказал Борис, доверчиво понижая голос, – граф Бенигсен совсем не то предполагал. Он предполагал укрепить вон тот курган, совсем не так… но, – Борис пожал плечами. – Светлейший не захотел, или ему наговорили. Ведь… – И Борис не договорил, потому что в это время к Пьеру подошел Кайсаров, адъютант Кутузова. – А! Паисий Сергеич, – сказал Борис, с свободной улыбкой обращаясь к Кайсарову, – А я вот стараюсь объяснить графу позицию. Удивительно, как мог светлейший так верно угадать замыслы французов!
– Вы про левый фланг? – сказал Кайсаров.
– Да, да, именно. Левый фланг наш теперь очень, очень силен.
Несмотря на то, что Кутузов выгонял всех лишних из штаба, Борис после перемен, произведенных Кутузовым, сумел удержаться при главной квартире. Борис пристроился к графу Бенигсену. Граф Бенигсен, как и все люди, при которых находился Борис, считал молодого князя Друбецкого неоцененным человеком.
В начальствовании армией были две резкие, определенные партии: партия Кутузова и партия Бенигсена, начальника штаба. Борис находился при этой последней партии, и никто так, как он, не умел, воздавая раболепное уважение Кутузову, давать чувствовать, что старик плох и что все дело ведется Бенигсеном. Теперь наступила решительная минута сражения, которая должна была или уничтожить Кутузова и передать власть Бенигсену, или, ежели бы даже Кутузов выиграл сражение, дать почувствовать, что все сделано Бенигсеном. Во всяком случае, за завтрашний день должны были быть розданы большие награды и выдвинуты вперед новые люди. И вследствие этого Борис находился в раздраженном оживлении весь этот день.
За Кайсаровым к Пьеру еще подошли другие из его знакомых, и он не успевал отвечать на расспросы о Москве, которыми они засыпали его, и не успевал выслушивать рассказов, которые ему делали. На всех лицах выражались оживление и тревога. Но Пьеру казалось, что причина возбуждения, выражавшегося на некоторых из этих лиц, лежала больше в вопросах личного успеха, и у него не выходило из головы то другое выражение возбуждения, которое он видел на других лицах и которое говорило о вопросах не личных, а общих, вопросах жизни и смерти. Кутузов заметил фигуру Пьера и группу, собравшуюся около него.