1.2. Коды вокруг нас
С кодами каждый из нас встречается практически ежедневно и на каждом шагу. Более того, определенные коды являются неотъемлемой частью нашей повседневной жизни. Однако чаще всего наши современники об этом даже не догадываются. Тем не менее без преувеличения можно утверждать, что без кодов в нашей жизни было бы больше беспорядка, хотя чаще всего мы их не замечаем или не обращаем на них никакого внимания.
Так, например, обычные буквы и цифры являются кодом, который используется для создания сообщений. Дорожные знаки также являются частью системы кодов, предназначенной для сообщения водителю автомобиля определенной информации. Каждый раз, когда мы работаем на компьютере, то пользуемся специальным кодом, поскольку компьютеры между собой объясняются с помощью специальной числовой системы, называемой бинарный код. В бинарном коде используются только цифры 1 и 0. Подобных примеров в окружающей нас действительности можно найти превеликое множество.
Однако следует признать, что в настоящее время даже среди специалистов нет однозначного мнения о том, что же следует называть кодом. Поэтому, учитывая особенности рассматриваемых в данной книге вопросов, попробуем определить, что именно в последующих главах и разделах мы будем подразумевать под кодом.
Язык как система звуков и знаков
Итак, для того чтобы передать какую-либо информацию, современные люди в первую очередь используют речевые сигналы.
Попробуем представить себя в ранее рассмотренной ситуации, когда первобытный человек не пошел на охоту из-за дождя. Конечно же, не владея речью, объяснить что-либо соплеменникам было довольно сложна Любой из нас может попробовать, не издавая ни одного членораздельного звука, объяснить своим родным и близким, что на улице идет дождь. Вряд ли наше объяснение будет понято достаточно быстро. Если вообще будет правильно понято. Поэтому для общения между собой люди придумали речевые сигналы или просто речь. Таким образом, наши предки с помощью речи создали первую систему условных обозначений и сигналов. А для определения такого природного явления, когда с неба капает вода, было придумано слово «дождь», которое в русском языке и представляет собой условное обозначение дождя.
Необходимо отметить, что в разных частях земного шара, на разных континентах, у разных племен появлялись свои речевые сигналы, которые вместе с соответствующей письменностью впоследствии стали языком того или иного племени или народа. При этом чаще всего каждое племя или народ вырабатывали свой язык, отличающийся от языков людей, проживающих на других территориях.
Сначала это были примитивные звуковые сигналы, постепенно некоторые языки усложнились настолько; что их изучение даже для представителей коренных наций представляет определенные сложности и продолжается в течение нескольких лет. К примеру, вспомним, сколько лет мы изучаем великий и могучий русский язык. Другие же языки весьма просты и примитивны, как, например, языки некоторых племен, живущих в джунглях Африки или Южной Америки.
Говоря определенные слова в определенном порядке, мы можем передавать какую-либо информацию. Естественно, только в том случае, если нас в данный момент кто-то слышит или услышит в будущем. Устной речью мы можем сохранить и передать какие-нибудь сведения, записав наше сообщение, например, на магнитофонную кассету или компакт-диск. Если мы напишем наше послание буквами, словами и предложениями на листе бумаги, то таким образом мы сохраним содержащиеся в тексте сведения в письменном виде. А отправив этот лист письмом, мы передадим информацию адресату. Для создания всех этих устных, письменных и иных сообщений мы воспользуемся звуковыми сигналами и графическими символами нашего родного русского языка Такие сигналы и символы мы используем постоянно, даже не замечая этого.
Наша невнимательность объясняется тем, что каждый человек начинает учить свой родной язык с детства Первые слова нас научили говорить наши родители, они же нам объясняли, что означает то или иное слово. Потом мы продолжили изучение нашего родного языка в детском саду, а затем и в школе. А многие ли из нас по окончании обучения владеют русским языком в совершенстве? Не говоря уже об иностранных языках, которые мы тоже когда-то учили.
Таким образом, с помощью языка могут общаться только люди, знающие этот язык. Возьмем, например, слова, напечатанные в данной книге. Те, кто знает русский язык, хорошо понимают значение каждого слова, написанного не только на этой странице, но и во всей книге. Если же эту книгу попробует прочитать, например, француз или китаец, которые незнакомы с русским языком, то для них эти слова будут представлять лишь набор ничего не значащих символов.
На основании изложенного мы можем дать определение какому-либо из существующих и существовавших на Земле языков, но только в том смысле, в котором мы будем понимать его значение в предлагаемой книге. Итак, язык — это совокупность звуковых сигналов и графических символов, являющаяся средством общения для людей, владеющих этим языком. Естественно, при общении происходит и обмен информацией. А с использованием, например, графических символов или соответствующих носителей информации эти данные можно сохранить.
Иногда в повседневной жизни складывается ситуация, когда, например, наш соотечественник не может понять или прочитать то, что сказал или написал турист, приехавший к нам из-за рубежа. В этом случае не следует сразу думать, что изложенная этим иностранцем устная или письменная информация специально скрывается от российского слушателя или читателя. Скорее наоборот — любой приезжий турист был бы рад, если бы его поняли и объяснили, как, например, проехать к Красной площади или добраться до гостиницы. В этом можно не сомневаться. Но, к сожалению, приехавший из-за границы турист не владеет русским языком, а россиянин не владеет родным языком иностранца.
В результате подобного общения обмен информацией, естественно, не произойдет. Но виной тому вовсе не преднамеренное сокрытие излагаемой, например в разговоре, информации, а незнание системы звуковых сигналов и графических символов, с помощью которых общается собеседник. Другими словами, причиной непонимания является лишь незнание его языка. Конечно же соответствующий иностранный язык, эту систему символов и знаков при желании можно выучить, и тогда проблем в общении не будет.
Системы условных обозначений
Как мы определили, язык является одной из наиболее хорошо знакомых подавляющему числу людей земного шара систем условных обозначений или сигналов. Правда, с помощью какого-либо языка между собой могут общаться только люди, знающие этот язык. Одним из самых распространенных в мире языков считается английский, на котором разговаривают более 1,5 миллиарда людей на земном шаре. Но существуют языки, на которых общаются всего лишь несколько тысяч или даже несколько сотен человек. К таким языкам относится, например, язык орочей, небольшого народа, проживающего на Дальнем Востоке.
Однако в современном мире существуют и другие системы знаков и символов, предназначенные для обмена информацией. Если мы посмотрим вокруг себя, то таких систем, которые с помощью специальных символов или знаков обеспечивают нас необходимой информацией, увидим великое множество. Это различные системы световых и звуковых сигналов, графические символы и рисунки, сигналы радиосвязи и даже дорожные знаки. И это еще не все.
Тем не менее далеко не все понимают значение сигналов, знаков и символов, составляющих такие системы. Хотя при желании могут с ними ознакомиться и даже их выучить.
Так, например, при отправке письма необходимо на конверте написать почтовый индекс, который является идентификационным индексом для города и района, где живет получатель письма. Это обеспечит безошибочную сортировку и быструю доставку письма. Однако людям, не знающим, какой индекс какому городу соответствует, такая система знаков ничего не говорит. В то же время почтовый работник, много лет сортирующий письма, знает по памяти индексы многих городов. К тому же в его распоряжении есть специальная таблица с перечислением всех городов России и соответствующих им индексов. Такая таблица не является недоступной для желающих с ней ознакомиться. Если кто-либо захочет ее выучить, то это будет лишь вопрос времени.
Правильное понимание значений символов, нанесенных, например, на пульте дистанционного управления, поможет управлять телевизором или видеомагнитофоном. Зная значения определенных надписей и рисунков, нанесенных на корпусе CD-плеера, его владелец безошибочно подключит наушники или внешний источник питания.
Однако значение этих символов нам стало понятно не сразу. С учетом постоянно возрастающей сложности домашней телевизионной и радиоаппаратуры, а также другой бытовой техники можно не сомневаться в том, что многие из нас в первые дни после покупки, мягко выражаясь, просто опасались нажимать ту или иную клавишу. Но после внимательного изучения прилагаемой инструкции даже самые неподготовленные потребители быстро усваивают все тонкости обращения с проигрывателем компакт-дисков, домашним кинотеатром или со стиральной машинкой. Вопрос лишь в том, чтобы эта инструкция содержала подробное и весьма доходчивое описание используемой в данной аппаратуре системы обозначений порядка обращения с соответствующим техническим устройством. Поэтому, например, на пульте дистанционного управления телевизора вместо подробного описания назначения той или иной кнопки изображены специальные символы. А подробные разъяснения назначения каждой кнопки даны в доступной для любого пользователя инструкции.
В отдельных случаях некоторые категории людей просто обязаны знать определенные системы обозначений, символов и знаков.
Все водители транспортных средств, например автомобилей, автобусов, мотоциклов, троллейбусов и трамваев, должны сдать соответствующий экзамен по правилам дорожного движения. Они обязаны хорошо знать, что обозначают или какую информацию содержат дорожные знаки, сигналы регулировщика и светофора, а также дорожная разметка Так, например, вместо того чтобы на дороге размещать громоздкие таблички с надписью типа «Поворот направо запрещен», сотрудники автоинспекции устанавливают предусмотренный правилами простой и понятный дорожный знак, который всех, знающих правила дорожного движения, информирует о том, что поворот направо запрещен. Аналогичная ситуация и с другими знаками.
Таким образом, каждый дорожный знак, каждое движение регулировщика, сигналы светофора, а также символы, нарисованные на дороге, содержат определенную информацию. А подробное разъяснение значения того или иного знака, сигнала и символа дано в правилах дорожного движения. Конечно же, знать эти правила не помешает и пешеходам, поскольку различные символы и рисунки, нанесенные на дорожных знаках, обеспечивают безаварийное движение на дорогах. Поэтому при желании каждый из нас в любое время может не только ознакомиться с правилами дорожного движения, но даже их выучить.
Подобных примеров, когда вместо длинных пояснений используются символы, значение которых может узнать любой желающий, можно привести очень много.
Отдельные элементы систем условных обозначений могут иметь вид не только символов или рисунков, но даже цветовых сигналов или полосок.
Так, например, свечение зеленого круга на определенной стороне светофора означает, что пешеходы могут переходить улицу, пока он горит. Когда зажигается красный сигнал, надо остановиться на обочине.
Определенную информацию содержит весьма популярный в наше время так называемый штрих-код. Он представляет собой расположенные параллельно несколько линий различной толщины, расстояние между которыми также различно.
Такой штрих-код наносится, например, на железнодорожные билеты. Он содержит информацию о том, какого числа от какой и до какой станции пассажир может проехать, например, на поезде пригородного сообщения. На вокзале специальный автомат прочитает эту информацию и пропустит владельца билета на перрон. Или не пропустит, если билет, например, просрочен.
Похожий штрих-код печатается на упаковке и/или на специальных ярлыках большинства товаров, продаваемых в магазинах.
Символы, нанесенные на специальных этикетках нашей одежды, также являются элементами системы условных обозначений. На них указывается, в каких условиях (температура и т. п.) надо стирать или гладить рубашку или блузку.
В конце концов, и сама одежда, которую мы носим, может нести определенную информацию. Так, например, определенные течения в моде позволяют сразу определить, что молодой человек с прической «ирокез» в куртке с заклепками и цепями считает себя «панком» или «металлистом».
Если вам встретится человек в военной форме, то это означает, что он служит в армии. По внешнему виду форменной одежды и эмблемам можно без труда определить вид вооруженных сил, в котором этот офицер или солдат служит (военно-морской флот, авиация или, например, ракетные войска). Определенные атрибуты его формы, а именно погоны, несут информацию и о воинском звании.
Таким образом, проанализировав внешний вид и одежду человека, содержащие вполне определенную информацию, мы можем отнести этого человека к определенной группе людей, а остальных из этой группы исключить.
Даже при пользовании обычным телефоном не обойтись без знания элементов определенной системы. Так, например, если нам надо позвонить в другой город или страну, то необходимо набрать несколько цифр, которые являются частью системы условных обозначений. Каждый элемент такой системы представляет собой несколько цифр, которые позволяют на телефонной станции точно определить тот город, в который нам надо позвонить. В результате, позвонив, например, из Москвы в Белгород, нас соединят с абонентом именно в Белгороде, а не в Белоруссии или в Бельгии. Если кому-либо неизвестна комбинация цифр, соответствующая нужному городу, то ее легко узнать в специальном справочнике или у оператора телефонной справочной службы.
Код, кодирование и декодирование
Не утомляя нетерпеливого читателя дальнейшими примерами, можно лишь повторить вывод о том, что для отображения или фиксирования информации, для ее передачи и приема, а также для хранения человечество с древних времен использует всевозможные системы условных обозначений, знаков, символов и сигналов.
При этом главными требованиями, предъявляемыми к таким системам, являются не только обеспечение возможности отображения, обмена и сохранения определенных сведений.
Не менее важное значение имеют наглядность и сравнительно легкое понимание смысла и содержания информации, которую несет тот или иной символ или знак. Одними из главных особенностей рассматриваемых систем условных обозначений также следует считать открытость и доступность получения необходимых разъяснений по поводу значения какого-либо знака, входящего в такую систему. И конечно же не следует забывать о предоставлении любому желающему беспрепятственной возможности изучения и освоения значений символов и сигналов той или иной системы условных обозначений.
Естественно, что те люди, которые применяют такие системы условных обозначений, знают и используют определенные методы и способы преобразования информации. Именно эти методы и способы составляют основу корректного применения на практике любой системы условных обозначений.
А существует ли одно общее название для таких систем, отвечающих приведенным выше требованиям, а также для лежащих в их основе методов и способов отображения или фиксирования определенных сведений? Ответ на этот вопрос будет положительным. Такие системы условных обозначений, способы и методы преобразования информации, используемые при их применении, далее мы будем называть кодами.
На основании изложенного можно утверждать, что в самом общем виде коды — это методы, способы, определенные правила преобразования информации с помощью систем условных обозначений, знаков, символов и сигналов, применяемые для отображения, обмена и сохранения определенных сведений в своеобразном, но понятном и доступном виде.
Главным назначением любого кода, исходя из приведенного определения, является формирование сообщения о чем-либо с помощью условных обозначений, знаков, символов и сигналов. Например, об определенных событиях, о ситуациях, о порядке поведения, о необходимости или о запрещении выполнения каких-либо определенных действий и о многом другом.
Таким образом, основываясь на приведенном выше определении, кодами являются не только какой-либо язык, но и, например, дорожные знаки, обозначения на радиоаппаратуре, цифры, набираемые при междугородных разговорах, сам телефонный номер и многое другое.
Перечислить все встречающиеся в повседневной жизни современного человека системы условных обозначений или кодов просто не представляется возможным. Тем не менее о некоторых кодах и, естественно, о системах условных обозначений более подробно будет рассказано в одной из следующих глав.
Основываясь на приведенном выше определении, можно сделать вывод о том, что кодирование представляет собой процесс преобразования определенной информации, чаще всего изложенной в письменном или устном виде, в знаки, сигналы и символы соответствующего кода.
Главной задачей, решаемой с помощью различных систем кодирования, является обеспечение доставки определенных сообщений или информации в наиболее приемлемом для получателя виде.
Так, например, люди, придумавшие правила дорожного движения, для отображения соответствующей информации, необходимой водителям и пешеходам, придумали знаки, содержащие эту информацию в определенном, удобном для восприятия виде. То есть закодировали эту информацию в виде, например, дорожных знаков или дорожной разметки. Телеграфист, отправляя сообщение с помощью азбуки Морзе, переводит состоящий из букв и цифр обычный текст в точки и тире и таким образом кодирует сообщение для удобства его передачи. Если же говорить о системах связи, то в них под кодированием в самом простом случае понимается осуществляющийся в передатчике процесс преобразования сообщения в сигнал.
Декодирование представляет собой обратный процесс, а именно извлечение информации, отображаемой какими-либо знаками, сигналами и символами соответствующего кода.
Водитель или пешеход, увидев какой-либо дорожный знак и зная правила дорожного движения, вспомнил, какую информацию этот знак содержит, какие действия предписывает или запрещает выполнять. Телеграфист, который принимает сообщение, переданное с помощью азбуки Морзе, выполняет операцию, обратную кодированию, быстро и безошибочно переводя точки и тире в буквы и цифры. В системах связи под декодированием понимается осуществляющийся в приемнике процесс преобразования сигнала в сообщение.
Необходимо добавить, что некоторые системы условных обозначений, звуков, знаков, сигналов и символов человечество вырабатывало на протяжении веков и тысячелетий. К таким системам относятся, например, языки. При этом некоторые языки давно забыты, как, например, древнеегипетский. А другие языки постоянно развиваются и совершенствуются.
Многие коды придуманы сравнительно недавно, как, например, уже не раз упоминавшаяся азбука Морзе, семафорная азбука или дорожные знаки. Можно безошибочно предположить, что в будущем, по мере необходимости люди будут придумывать новые коды для облегчения и упрощения процессов отображения, обмена и сохранения информации.
Пароли и ключи
Необходимо добавить, что в современной жизни слово «код» приобрело и другие значения. Многие из нас довольно часто называют кодами какие-либо пароли или ключи.
Большинство наших соотечественников, особенно людей старшего возраста, под паролем чаще всего понимают какое-либо секретное условное слово или фразу. Такие пароли использовались и используются, например, для опознания своих и чужих на военной службе.
Подробное рассмотрение первоначального значения слова «ключ», известного каждому из нас, очевидно, не имеет смысла. Любой из нас ежедневно пользуется ключом для открывания и закрытия двери в квартиру.
Однако в современном мире значение терминов «пароль» и «ключ» значительно расширилось.
Так, например, с возникновением необходимости защиты информации от несанкционированного доступа появились пароли и ключи, без знания которых никто посторонний не сможет ознакомиться с данными, хранящимися в компьютере. После того как мы включаем компьютер, на экране монитора отображается запрос о введении пароля. Если пароль не вести, то дальнейшая работа с данными, хранящимися в компьютере, будет невозможна. Включение и выключение охранной сигнализации в квартире также невозможно без знания специальной комбинации цифр или букв. Даже при включении обычного мобильного телефона его владелец должен ввести условную комбинацию цифр, которая так и называется — код, а если точнее, то PIN-код.
Чтобы не утомлять себя произнесением длинного слова «пароль», наши современники вместо него в приведенных выше и во многих других случаях стали в разговорной речи использовать короткое слово «код». Помимо этого, чтобы окружающим было понятно, что в определенных случаях речь идет не об обычных ключах, а о так называемых электронных ключах, для их обозначения также стали использовать слово «код». Насколько это правильно и корректно с научной точки зрения — судить специалистам.
С появлением и развитием всевозможных шифров при работе с ними для шифрования и дешифрования сообщений необходимо использовать различные специальные числа, слова или комбинации букв и цифр. Такие комбинации также называют паролями, ключами, а иногда и кодами.
Поэтому и в данной книге при разъяснении особенностей некоторых шифров и принципов их практического использования пароли и ключи к этим шифрам иногда будут называться кодами, кодовыми словами или кодовыми комбинациями.