Коды, обнаруживающие и исправляющие ошибки

Другой класс кодов предназначен для обеспечения безошибочной передачи информации, а не для сокрытия ее содержания. Такие коды называются обнаруживающими и исправляющими ошибки, они являются предметом широкомасштабных математических исследований. Эти коды с самых первых дней существования компьютеров используются для защиты от ошибок в памяти и в данных, записанных на магнитную ленту. Самые первые версии этих кодов, например коды Хэмминга, способны обнаружить и исправить единичную ошибку в шести разрядном значении. В качестве более позднего примера это код который используется на космическом корабле «Маринер» для передачи данных с Марса. Созданный с учетом возможного значительного искажения сигнала на его пути к Земле, этот код был способен корректировать до семи ошибок в каждом 32 – разрядном «слове».

Простым примером кода другого уровня, обнаруживающего, но не исправляющего ошибки, является код ISBN (International Standard Book Number – Международный Стандартный Книжный Номер). Он состоит из десяти знаков (десяти цифр либо девяти цифр с буквой Х на конце, которая обозначает число 10) и позволяет осуществить проверку на отсутствие ошибок в номере ISBN. Проверка выполняется следующим образом: вычислим сумму

(первая цифра) х 1+(вторая цифра) х 2+ (третья цифра) х 3+… +(десятая цифра)х10.

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

Полученная нами сумма (которая называется контрольной суммой) должна быть кратна 11; если это не так, то номер ISBN содержит ошибку.

Например:

номер 1-234-56789-Х дает нам контрольную сумму

(1)х1+(2)х2+(3)х3+(4)х4+(5)х5+(6)х6+(7)х7+(8)х8+(9)х9+(10)х10

то есть

1+4+9+16+25+36+49+64+81+100=385=35х11

и следовательно, номер правильный. С другой стороны, номер

0-987-65432-1 дает контрольную сумму

0+18+24+28+30+30+38+24+18+10=210 19х11+1

и, следовательно, должен содержать по крайней мере одну ошибку.

Код ISBN способен обнаружить единичную ошибку, но не способен исправить ее. Если ошибок 2 или более, проверка может показать, что номер верен, хотя он может оказаться неправильным.

Другие методы сокрытия содержания сообщений.

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

1. использование симпатических («невидимых») чернил;

2. Использование микроточек, т.е. крошечных фотографий сообщения на микропленке, прикрепляемые к письму в незаметном месте;

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

Двумя первыми пользовались шпионы. Третий ими тоже применяется, с третьим способом очень часто сталкиваемся при чтении детективов, так же им пользовались военнопленные, в настоящее время и пользуются заключенные.

Наши рекомендации