История технологических способов кодирования информации. Кодирование информации. Общие сведения о кодировании информации Общие сведения о кодировании информации Кодирование числовой информации Кодирование текстовой

Индивидуальное задание
по дисциплине «Дискретная математика»
тема: «История развития кодирования до наших дней»

выполнил:
группа:

Москва, 2011

Введение
Необходимость кодирования информации возникла задолго до появления компьютеров. Речь, азбука и цифры – есть не что иное, как система моделирования мыслей, речевых звуков и числовой информации. В технике потребность кодирования возникла сразу после создания телеграфа, но особенно важной она стала с изобретением компьютеров.
Область действия теории кодирования распространяется на передачу данных по реальным (или зашумленным) каналам, а предметом является обеспечение корректности переданной информации. Иными словами, она изучает, как лучше упаковать данные, чтобы после передачи сигнала из данных можно было надежно и просто выделить полезную информацию. Иногда теорию кодирования путают с шифрованием, но это неверно: криптография решает обратную задачу, ее цель - затруднить получение информации из данных.
В данной работе мы рассмотрим основные этапы развития кодирования до наших дней.
История развития кодирования
С необходимостью кодирования данных впервые столкнулись более полутораста лет назад, вскоре после изобретения телеграфа. Каналы были дороги и ненадежны, что сделало актуальной задачу минимизации стоимости и повышения надёжности передачи телеграмм. Проблема ещё более обострилась в связи с прокладкой трансатлантических кабелей. С 1845 вошли в употребление специальные кодовые книги; с их помощью телеграфисты вручную выполняли «компрессию» сообщений, заменяя распространенные последовательности слов более короткими кодами. Тогда же для проверки правильности передачи стали использовать контроль чётности, метод, который применялся для проверки правильности ввода перфокарт ещё и в компьютерах первых поколений. Для этого во вводимую колоду последней вкладывали специально подготовленную карту с контрольной суммой. Если устройство ввода было не слишком надежным (или колода - слишком большой), то могла возникнуть ошибка. Чтобы исправить её, процедуру ввода повторяли до тех пор, пока подсчитанная контрольная сумма не совпадала с суммой, сохраненной на карте. Эта схема неудобна, и к тому же пропускает двойные ошибки. С развитием каналов связи потребовался более эффективный механизм контроля.
Первым теоретическое решение проблемы передачи данных по зашумленным каналам предложил Клод Шеннон, основоположник статистической теории информации. Работая в Bell Labs, Шеннон написал работу «Математическая теория передачи сообщений» (1948), где показал, что если пропускная способность канала выше энтропии источника сообщений, то сообщение можно закодировать так, что оно будет передано без излишних задержек. В одной из теорем Шеннон доказал, что при наличии канала с достаточной пропускной способностью сообщение может быть передано с некоторыми временными задержками. Кроме того, он показал возможность достоверной передачи при наличии шума в канале.
Формула C = W log ((P+N)/N), высечена на скромном памятнике Шеннону, установленном в его родном городе в штате Мичиган.
Труды Шеннона дали пищу для множества дальнейших исследований в области теории информации, но практического инженерного приложения они не имели. Переход от теории к практике стал возможен благодаря усилиям Ричарда Хэмминга, коллеги Шеннона по Bell Labs, получившего известность за открытие класса кодов «коды Хэмминга». Существует легенда, что к изобретению своих кодов Хэмминга подтолкнуло неудобство в работе с перфокартами на релейной счетной машине «Bell Model V» в середине 40-х годов. Ему давали время для работы на машине в выходные дни, когда не было операторов, и ему самому приходилось возиться с вводом. Хэмминг предложил коды, способные корректировать ошибки в каналах связи, в том числе и в магистралях передачи данных в компьютерах, прежде всего между процессором и памятью. Коды Хэмминга показали, как можно практически реализовать возможности теоремы Шеннона.
Хэмминг опубликовал свою статью в 1950, хотя во внутренних отчетах его теория кодирования датируется 1947. Поэтому некоторые считают, что отцом теории кодирования следует считать Хэмминга, а не Шеннона.
Ричард Хэмминг (1915 - 1998) получил степень бакалавра в Чикагском университете в 1937. В 1939 он получил степень магистра в Университете Небраски, а степень доктора по математике – в Университете Иллинойса. В 1945 Хэмминг начал работать в рамках Манхэттенского проекта. В1946 поступил на работу в Bell Telephone Laboratories, где работал с Шенноном. В 1976 получил кафедру в военно-морской аспирантуре в Монтерей в Калифорнии. Труд, сделавший его знаменитым, фундаментальное исследование кодов обнаружения и исправления ошибок, Хэмминг опубликовал в 1950. В 1956 он принимал участие в работе над IBM 650. Его работы заложили основу языка программирования, который позднее эволюционировал в языки программирования высокого уровня. В знак признания заслуг Хэмминга в области информатики институт IEEE учредил медаль за выдающиеся заслуги в развитии информатики и теории систем, которую назвал его именем. Хэмминг первым предложил «коды с исправлением ошибок» (Error-Correcting Code, ECC).
Современные модификации этих кодов используются во всех системах хранения данных и для обмена между процессором и оперативной памятью. Один из их вариантов, коды Рида-Соломона применяются в компакт-дисках, позволяя воспроизводить записи без скрипов и шумов, вызванных царапинами и пылинками. Существует множество версий кодов, построенных «по мотивам» Хэмминга, они различаются алгоритмами кодирования и количеством проверочных битов. Особое значение подобные коды приобрели в связи с развитием дальней космической связи с межпланетными станциями.
Среди новейших кодов ECC следует назвать коды LDPC (Low-Density Parity-check Code). Вообще-то они известны лет тридцать, но особый интерес к ним обнаружился именно в последние годы, когда стало развиваться телевидение высокой чёткости. Коды LDPC не обладают 100-процентной достоверностью, но вероятность ошибки может быть доведена до желаемой, и при этом с максимальной полнотой используется пропускная способность канала. К ним близки «турбокоды» (Turbo Code), они эффективны при работе с объектами, находящимися в условиях далекого космоса и ограниченной пропускной способности канала.
Кроме того, в историю теории кодирования прочно вписано имя В. А. Котельникова. В 1933 в «Материалах по радиосвязи к I Всесоюзному съезду по вопросам технической реконструкции связи» он опубликовал работу «О пропускной способности «эфира» и «проволоки». Имя Котельникова входит в название одной из важнейших теорем теории кодирования, определяющей условия, при которых переданный сигнал может быть восстановлен без потери информации. Эту теорему называют по-разному, в том числе «теоремой WKS» (аббревиатура WKS взята от Whittaker, Kotelnikov, Shannon). В некоторых источниках используют и Nyquist-Shannon sampling theorem, и Whittaker-Shannon sampling theorem, а в отечественных вузовских учебниках чаще всего встречается просто «теорема Котельникова». На самом же деле теорема имеет более долгую историю. Ее первую часть в 1897 доказал французский математик Э. Борель. Свой вклад в 1915 внес Э. Уиттекер. В1920 японец К. Огура опубликовал поправки к исследованиям Уиттекера, а в 1928 американец Гарри Найквист уточнил принципы оцифровки и восстановления аналогового сигнала.
Работа Хэмминга явилась катализатором цепной реакции выдвижения новых идей в истории кодирования, которая началась с 1954 года. Американский ученый И. С. Рид был первым, кто использовал мажоритарное декодирование кодов Рида-Маллера. При мажоритарном декодировании для каждого информационного символа формируется нечетное число оценок путем сложения по модулю 2 определенных комбинаций символов принятого кода. Решение об истинном значении принятого символа принимается по мажоритарному принципу - если большее количество оценок равно 1, то принимается именно такое решение. В 1963 году Дж. Л. Месси установил общие принципы построения и декодирования подобных кодов. Достоинством мажоритарно декодируемых кодов является чрезвычайная простота и быстродействие алгоритмов декодирования. Однако класс таких кодов весьма мал, и эти коды слабее других. Значительный вклад в создание теории построения мажоритарно декодируемых кодов внесли в 1965 году советские ученые В. Д. Колесников и Е. Т. Мирончиков.
Весьма интересный класс блочных кодов был предложен в 1954 году американским ученым Г. Форни. Каскадные коды формируются следующим образом: последовательность информационных символов длиной n = n1 * n2 записывается в буферную память в виде таблицы, имеющей n1 столбцов и n2 строк. Символы отдельных строк и столбцов кодируются с помощью корректирующих кодов (соответственно внутреннего и внешнего), и дополнительные проверочные символы вместе с информационными передаются по каналу связи. Весьма значимые результаты по исследованию каскадных кодов были получены Г. Форни и советскими учеными Э. Л. Блохом и В. В. Зябловым. Исследования последних (1976 и 1982 гг.) показали, что при соответствующем выборе внутреннего и внешнего кодов каскадные коды позволяют разрешить указанные выше проблемы помехоустойчивого кодирования.
В 1955 году в США и СССР был предложен весьма важный класс сверточных или рекуррентных кодов, нашедший широкое применение в современной технике связи. Исследования, связанные с построением таких кодов и разработкой эффективных с вычислительной точки зрения алгоритмов их декодирования, заняли почти двадцать лет. В этом классе кодов информационная последовательность символов разбивается на блоки, содержащие по m символов, которые поступают на линейный преобразователь, имеющий память на K-подобных блоков. В этом преобразователе каждый блок из m поступивших символов с учетом содержащихся в памяти K-блоков (K - длина кодового ограничения), преобразуются в n (n > m) символов, передаваемых по каналу связи. При этом относительная скорость передачи информации составляет R = m/п. Сверточные коды являются частным случаем блочных линейных кодов. Однако введение сверточной структуры наделяет эти коды рядом дополнительных свойств, которые существенно облегчают его декодирование. Эти коды имеют древовидную или решетчатую структуру. Каждому ребру древовидной структуры соответствует определенная последовательность m информационных символов. По принятой последовательности символов для каждого ребра может быть найден его вес - число, характеризующее его расстояние от принятой последовательности. Для измерения этого расстояния может быть использована метрика Хэмминга, если в демодуляторе принимается жесткое решение, или евклидова метрика, если декодирование осуществляется по методу максимума правдоподобия. Декодирование сверточных кодов состоит в прослеживании по кодовой решетке того пути, для которого расстояние от принятой последовательности символов имеет минимальное значение. Сверточная структура кода позволяет использовать рекуррентные алгоритмы, существенно упрощающие вычисления этого расстояния.
Для декодирования этих кодов американским ученым Дж. Возенкрафтом в 1957 году был предложен изящный алгоритм последовательного декодирования, в соответствии с которым в декодере просматриваются не все возможные пути по ребрам кодовой решетки сверточного кода, а наиболее вероятные. Если декодер выбрал на каком-то шаге неверный путь, то он вскоре обнаруживает, что при последующих выборах ребер происходит быстрое увеличение расстояния между выбранным путем и принимаемой последовательностью. Это является сигналом к тому, чтобы декодер сделал несколько шагов назад и начал исследовать альтернативные, более правдоподобные пути. При последовательном декодировании число вычислений на одно ребро является случайной величиной, и в памяти декодера должны храниться вычисленные расстояния для всех исследованных ветвей. Первые исследования алгоритма последовательного декодирования выполнили Дж. Возенкрафт и Б. Рейффен. В 1963 году его усовершенствовал P. M. Фано, в 1966 году эффективную модификацию этого алгоритма предложил советский ученый К. Ш. Зигангиров, а несколько позднее (1969 г.) аналогичное предложение сделал американский ученый Ф. Джелинек.
Значительным достижением в области теории кодирования явилась разработка в 1967 году одним из крупнейших американских ученых А. Витерби весьма эффективного с вычислительной точки зрения алгоритма декодирования сверточных кодов по максимуму правдоподобия. Этот алгоритм, в отличие от алгоритма последовательного декодирования, исследует все возможные пути по кодовой решетке на длине кодового ограничения k, поэтому он применим для декодирования сверточных кодов при сравнительно небольших значениях K = 1-10.
Сверточные коды и алгоритмы Витерби и последовательного декодирования получили в настоящее время весьма широкое распространение в магистральных радиорелейных и спутниковых системах связи.
Американский ученый Д. Слепян, получивший значительные результаты в разных областях теории связи, был первым, кто в 1956 году заложил строгий фундамент теории линейных блочных кодов с проверкой на четность - математическую теорию групп.
В 1957 году другой американец, Е. Прейндж, первый ввел понятие циклического кода и указал на его связь с идеалами алгебр. Циклические коды являются важным подклассом линейных кодов, которые имеют эффективные алгоритмы кодирования и декодирования, основанные на применении идей алгебраической теории полей Галуа. Значительный вклад в разработку теории этих кодов внесли американские ученые Пи-терсон, Берлекамп и Касами.
Весьма важный и обширный класс линейных циклических кодов Боуза, Рой-Чоудхури (США, 1960 г.) и Хоквингема (Франция, 1959 г.), названный кодами БЧХ по первым буквам имени открывших их независимо ученых, позволял корректировать многократные ошибки в принятой кодовой комбинации. Эти коды имели следующие параметры: n = 2m - 1, k > 2m - 1 - mt, d > 2t + 1 (здесь n - длина кода, k - число информационных символов в кодовой комбинации, t - количество корректируемых ошибок, d - минимальное хэммингово расстояние между кодовыми комбинациями). Декодирование кодов БЧХ производят на основе решения определенных алгебраических уравнений.
и т.д.................

Последнее преобразование практически является основой математических манипуляций в современной криптографии. Вероятно, это был первый практически используемый «телеграфный код» для отправки ранее незавершенных сообщений. Он основывался на следующей таблице. Вещание происходило в рассказах о том, что позади них стояли два громкоговорителя, которые, как только начался экстренный вход, начали транслироваться. Это было второе письмо, третье и так далее. Древний Рим не очень хотел зашифровать. Он предпочитал защищать бумаги петициями, привычкой, которая все еще выживает.

Кодирование ― процесс представления информации в виде кода, т.е. набора условных обозначений для представления информации.
Человек выражает свои мысли в виде предложений, составленных из слов. Они являются алфавитным представлением информации. Основу любого языка составляет алфавит - конечный набор различных знаков (символов) любой природы, из которых складывается сообщение.
Кодирование сводиться к использованию совокупности символов по строго определенным правилам и имеет два основных значения:
■ Способ изложения информации в виде, приемлемом и понимаемым объектом (например ЭВМ),
■ Способ защиты информации от нежелаемого доступа или распространения.
Возможно объединение этих функций, ввиду универсальности удобства, и/или же, ввиду естественных особенностей местоположения группы людей (язык определенного народа).

С другой стороны, этот период стал частью истории криптологии с помощью Юлиуса Цизара. Царь в переписке в некоторых случаях использовал простой шифр, заменяя каждую букву алфавитом в алфавитном порядке из трех букв за ним. В то время это был практически непостижимый шифр, пока Цицерон не показал его, когда вошел в лагерь противника Сиарра. Эта криптографическая деятельность в Древнем городе достигла кульминации.

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

История возникновения
Согласно данным, раздобытым и приведенным Дэвидом Каном в своей книге "The Codebreackers" ("Раскодировщики"), которая была написана им еще в 1967 г., но служит и по сей день наиболее богатым источником информации по криптографии, первыми известными "шифрователями" данных на планете были египтяне, еще в 1900 г. до н. э. приступившие к исписыванию стен своих жилищ странными иероглифами. Их последователями стали месопотамцы, чьи глиняные тарелки украшали своеобразные картинки, заключающие в себе какой-то определенный смысл. Искусству их оформления они стали обучаться примерно в 1500 г. до н. э. Спустя тысячу лет жители иудейского царства изобрели для написания книг своеобразный простейший шифр, ATBASH, принцип записи которого основывался на алфавите, только в обратном порядке. На этом "языке" древние евреи писали некоторые книги. А позже ими было изобретено еще несколько способов кодирования записанной информации.
В 487 г. до н. э. греки по некоторым данным создали первое "устройство" для шифрования данных (принцип его действия до сих пор не раскрыт), представляющее из себя нечто неопределенное, на что наматывали тонкую кожаную ленту. Затем исписанную полоску материала снимали с, условно говоря, "барабана" и одевали на себя, как пояс. Предполагают, что получатель закодированного "сообщения", носил "дешифратор" все время с собой, и мог прочесть текст послания где угодно. Но подлинность именно этой истории в 1998 г. была оспорена, и теперь многие полагают, что это всего лишь миф.
Следующим поклонником зарождающейся криптографии стал Юлий Цезарь (100-44 гг. до н.э.). Примерно в пятидесятом году до нашей эры он освоил способ кодирования важных документов путем замены некоторых букв нормального алфавита и применял его для тайной правительственной переписки. Шифр Цезаря был проще ATBASH, но, принимая во внимание то, что большинство людей в то время были неграмотными и читать - то толком не умели, для передачи ценных данных пришелся в самый раз. Помимо подстановки "собственных" букв алфавита некоторые отдельные слова Цезарь писал на латинском, а некоторые - на греческом, чтобы окончательно сбить с толку любопытных злоумышленников.
Где-то в 200 г. уже н. э. по данным опять же Кана шифр применяли для записи на каком-то "Ляйденском папирусе" "волшебных" рецептов. В середине 70-х гг. в свет вышла первая книга о криптографии, написанная, судя по длине имени ее автора, арабом, воодушевленным тем решением, которое пришло ему в голову при создании системы кодирования греческих слов для византийского императора. А в 855 г. н. э. его коллега представил сразу несколько новых алфавитов, из знаков которых в последствии составляли свои записи всякие колдуны и колдуньи.
Многие послания Венецианского правительства в 1226 г. были зашифрованы довольно оригинальным образом - гласные буквы многих слов заменялись точками и крестиками. Как их получателям удавалось прочесть написанное - неясным осталось до сих пор. Но то, что речь опять идет о криптографии - очевидно.
1412-м г. датируют четырнадцати томную энциклопедию на арабском языке, один из довольно внушительных разделов которой был посвящен криптографии и криптологии. В нем приводились данные о принципе кодирования и раскодирования текстовых сообщений, а также описывались первые информационные "таблицы-ключи" с разъяснениями, как правильно трактовать написанное. Уже тогда предусматривались случаи, при которых одна и та же буква в слове употреблялась дважды и более. С целью запутывания возможного похитителя зашифрованного письма, знаки, ее заменяющие, каждый раз использовались разные.
В 18-м г. шестнадцатого столетия Йоханнес Тритемиус опубликовал первое печатное издание по криптологии. Он изобрел метод замены каждого слова одной буквой, взятой из последовательности столбцов. Кроме того, он продемонстрировал идею представления лишь одного знака вместо сразу всех букв алфавита.
В последующие годы и века криптографы разных стран совершенствовали свое мастерство, периодически удивляя окружающих новыми шифрами и способами кодирования целых сочинений. Лишь в 1917 г. произошло событие, возможно, действительно заслуживающее внимания. В Америке появился первый криптоаналитик. Им стал Вильям Фредерик Фридман, "отец американского криптоанализа". Сначала вместе с женой Фридман работал в специальной лаборатории при правительстве США, а спустя некоторое время открыл свою школу в Ривербэнке. В функции первого криптоаналитика входило изучение различных вариантов кодирования информации на предмет их взлома. Известно, что системы иногда оказывались не совершенными, и задачей Вильяма ставилось определение этих самых недостатков.
В том же 1917 г. Гилберт С. Вернам, сотрудник компании AT&T, представил первый реально действующий и максимально "безопасный" аппарат для кодирования данных. Данные ключа (таблицы последовательно записанных инструкций по расшифровке) брались произвольно и никогда более не использовались. Ключ представлял собой одноразовую кассету с пленкой. Устройство собирались использовать во времена Первой Мировой Войны, однако широкое применение "машинка" получила лишь в двадцатые годы.

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

Кодирование используется для представление информации в компьютере.
Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (например, звуки, изображения, показания приборов и т.д.) для обработки на компьютере должна быть преобразована в числовую форму. Например, чтобы перевести в числовую форму музыкальный звук, можно через небольшие промежутки времени измерять интенсивность звука на определенных частотах, представляя результаты каждого измерения в числовой форме. С помощью программ для компьютера можно выполнить преобразования полученной информации, например "наложить" друг на друга звуки от разных источников. Аналогичным образом на компьютере можно обрабатывать текстовую информацию. При вводе в компьютер каждая буква кодируется определенным числом, а при выводе на внешние устройства (экран или печать) для восприятия человеком по этим числам строятся изображения букв. Соответствие между набором букв и числами называется кодировкой символов.
Как правило, все числа в компьютере представляются с помощью нулей и единиц. Т.е., компьютеры обычно работают в двоичной системе счисления, поскольку при этом устройства для их обработки получаются значительно более простыми. Ввод чисел в компьютер и вывод их для чтения человеком может осуществляться в привычной десятичной форме, а все необходимые преобразования выполняют программы, работающие на компьютере.
Системой счисления называется совокупность приемов наименования и записи чисел.
В любой системе счисления для представления чисел выбираются некоторые символы (их называют цифрами), а остальные числа получаются в результате каких-либо операций над цифрами данной системы счисления.
Арифметические действия над числами в любой позиционной системе счисления производятся по тем же правилам, что и десятичной системе, так как все они основываются на правилах выполнения действий над соответствующими многочленами. При этом нужно только пользоваться теми таблицами сложения и умножения, которые соответствуют данному основанию P системы счисления.
1. При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:
если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;
если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.
, .
2. При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Отцом европейской криптологии часто называют Леона Баттиста Альберти. Альберти, при условии, что папский секретарь Леонардо Дату начал задавать вопросы шифрования. Он утверждал, что частый анализ текста приводит к разложению монограмотных двоюродных братьев. Это знание привело его к открытию многоалфавитных двоюродных братьев, которые сочетались с закодированными словами. Техника шифрования цитируемых слов практически исчезла и была воскрешена до второй половины столетия.

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


По мере развития техники появлялись разные способы кодирования информации. Во второй половине XIX в. американский изобретатель Сэмюэль Морзе изобрел код, применяющийся до настоящего времени. Информация кодируется тремя символами: длинный сигнал (тире), короткий сигнал (точка), нет сигнала (пауза) - для разделения букв.
В вычислительной технике существует своя система - она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски - binary digit или сокращенно bit (бит).
Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и т.п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00 01 10 11. Тремя - соответственно восемь.
Увеличивая на единицу количество разрядов в системе двоичного кодирования, увеличивается в два раза количество значений, которое может быть выражено в данной системе, по формуле N=2 в степени m, где N - количество независимых кодируемых значений, m - разрядность двоичного кодирования.

Мэри Стюартовна готовит союзников союзников для заговора против Альджибета. Однако он не знает, что во всех мерах предосторожности он проходит через все подделанные и надежно зашифрованные листья, исходящие от нее и ее через руку первого великого английского криптоаналитика Томаса Фелиппса. Был даже вопрос о имени шести союзников, которые должны были убить Элизабет.

Генрих провел безжалостную борьбу с католиками в стране, поддерживаемой католической Испанией. Это было не только для того, чтобы разделить алфавит, который эти союзники использовали в контакте друг с другом, но он также знал, как использовать бит Бенатян и многих других. Так вы становитесь одним из первых важных математиков, активно участвующих в услугах «шифрования».

Кодирование данных двоичным кодом.
Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел.
Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k-разрядной ячейке может храниться 2k различных значений целых чисел.
Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо перевести число N в двоичную систему счисления, а полученный результат дополнить слева незначащими нулями до k разрядов.
Наример, чтобы получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке,нужно перевести число в двоичную систему: 160710 = 11001000111(2). Внутреннее представление этого числа в ячейке будет следующим: 0000 0110 0100 0111.
Для записи внутреннего представления целого отрицательного числа (-N) необходимо получить внутреннее представление положительного числа N, получить обратный код этого числа заменой 0 на 1 и 1 на 0 и к полученному числу прибавить 1.
Кодирование вещественного числа по Формату с плавающей точкой использует иные алгоритмы.

Однажды солдаты схватили жителей города зашифрованным сообщением. Антуан Россиньоль, который был известен как внештатная репутация полушария, попросил помощи в ее разложении. Быстрое зерновое сообщение Россиньола с просьбой о помощи было возвращено жителям города завоевания. Здесь, в пятой книге из его шести книг «Полиграфийский либрийский пол», вводится так называемая «табула ректа», которая является основой полиальфатических расщеплений. Этот квадратный стол в наших 26 латинских буквах имел следующую форму.

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

Кодирование текста.
Множество символов, используемых при записи текста, называется алфавитом. Количество символов в алфавите называется его мощностью.
Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 символов. Один символ из такого алфавита несет 8 бит информации, т. к. 28 = 256. Двоичный код каждого символа(8 бит) занимает 1 байт памяти ЭВМ.
Все символы такого алфавита пронумерованы от 0 до 255, а каждому номеру соответствует 8-разрядный двоичный код от 00000000 до 11111111. Этот код является порядковым номером символа в двоичной системе счисления.
Для разных типов ЭВМ и операционных систем используются различные таблицы кодировки, отличающиеся порядком размещения символов алфавита в кодовой таблице. Международным стандартом на персональных компьютерах является уже упоминавшаяся таблица кодировки ASCII.
Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений.
Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов.

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

К сожалению, как и автоклав Вигнера, полиалфабический шифр Беласа упал, по крайней мере, вовремя, в забытые 300 лет. Причиной этого была, вероятно, большая работа по шифрованию и расшифровке. В результате криптология постепенно сформировалась как неотъемлемая часть военно-политической дипломатии. На каждом фронте европейского рынка был конверт и столетний офис шифрования. Один в Париже, основанный кардиналом Ришелье, опирается на человека, которого помнят Антуан Россиньоль. На английском черном хмабере никого не было меньше, чем Джон Уоллис, величайший английский математик в ньютоновскую эпоху.

Кодирование графической информации.
В видеопамяти находится двоичная информация об изображении, выводимом на экран. Почти все создаваемые, обрабатываемые или просматриваемые с помощью компьютера изображения можно разделить на две большие части - растровую и векторную графику.
изображения представляют собой однослойную сетку точек, называемых пикселами (pixel, от англ. picture element). Код пиксела содержит информации о его цвете. Для черно-белого изображения (без полутонов) пиксел может принимать только два значения: белый и черный (светится - не светится), а для его кодирования достаточно одного бита памяти: 1 - белый, 0 - черный.
Пиксел на цветном дисплее может иметь различную окраску, для кодирования 2 в степени n-цветного изображения требуются т бит на пиксел, поскольку они могут принимать 2 в степени n различных состояний. Если иметь возможность управлять интенсивностью (яркостью) свечения базовых цветов, то количество различных вариантов их сочетаний, порождающих разнообразные оттенки, увеличивается. Как пример, может использоваться такой вариант кодировки цветов: 00 - черный, 10 - зеленый, 01 - красный, 11 - коричневый.
На RGB-мониторах разнообразие цветов получается сочетанием базовых цветов - красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 комбинаций.
- модель. - модель.
Существуют и таблицы цветов, зависящие от количества разрядов.
Векторное изображение ― это графический объект, состоящий из элементарных отрезков и дуг. В противоположность растровой графике векторное изображение многослойно. Каждый элемент векторного изображения - линия, прямоугольник, окружность или фрагмент текста - располагается в своем собственном слое, пикселы которого устанавливаются независимо от других слоев. Каждый элемент векторного изображения является объектом, который описывается с помощью специального языка (математических уравнения линий, дуг, окружностей и т. д.). Сложные объекты (ломаные линии, различные геометрические фигуры) представляются в виде совокупности элементарных графических объектов. Объекты векторного изображения, в отличии от растровой графики, могут изменять свои размеры без потери качества (при увеличении растрового изображения увеличивается зернистость). Базовым элементом изображения является линия. Как и любой объект, она обладает свойствами: формой (прямая, кривая), толщиной., цветом, начертанием (пунктирная, сплошная). Замкнутые линии имеют свойство заполнения (или другими объектами, или выбранным цветом). Все прочие объекты векторной графики составляются из линий.
Также существует фрактальная графика, основываеющаяся на математических вычислениях, как и векторная. Но в отличии от векторной ее базовым элементом является сама математическая формула. Это приводит к тому, что в памяти компьютера не хранится никаких объектов и изображение строится только по уравнениям. При помощи этого способа можно строить простейшие регулярные структуры, а также сложные иллюстрации, которые имитируют ландшафты.

Дальнейшее развитие криптографии было вызвано открытием телеграфа и продвижением техники. Телеграф заставил его использовать, и разработка технологии позволила в то время выпускать неиспользованные механические устройства. С точки зрения истории телеграфных и телеграфных кодов небезынтересно запомнить место светового телеграфа и бинокулярного телеграфного кода Братиславы Юзефа Хруди.

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

Кодирование звука.
Звук ― это колебания воздуха. Если преобразовать звук в электрический сигнал (например, с помощью микрофона), можно видеть плавно изменяющееся с течением времени напряжение. Для компьютерной обработки такой - аналоговый - сигнал преобразовывается в последовательность двоичных чисел.
Измеряется напряжение через равные промежутки времени и полученные значения записываются в память компьютера. Этот процесс называется дискретизацией (или оцифровкой), а устройство, выполняющее его - аналого-цифровым преобразователем (АЦП).
Для того чтобы воспроизвести закодированный таким образом звук, нужно выполнить обратное преобразование (для него служит цифро-аналоговый преобразователь - ЦАП), а затем сгладить получившийся ступенчатый сигнал.
Чем выше частота дискретизации (т. е. количество отсчетов за секунду) и чем больше разрядов отводится для каждого отсчета, тем точнее будет представлен звук. Но при этом увеличивается и размер звукового файла. Поэтому в зависимости от характера звука, требований, предъявляемых к его качеству и объему занимаемой памяти, выбирают некоторые компромиссные значения. Этот способ кодирования звуковой информации достаточно универсален, позволяет представить любой звук и преобразовывать его различными способами.
Человек издавна использует довольно компактный способ представления музыки - нотную запись. В ней специальными символами указывается, какой высоты звук, на каком инструменте и как сыграть. Ее можно считать алгоритмом для музыканта, записанным на особом формальном языке. В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI.
Такая система кодирования не позволяет записывать все звуки, она годится только для инструментальной музыки, но имеет преимущества: чрезвычайно компактная запись, естественность для музыканта (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии.
Существуют и другие, чисто компьютерные, форматы записи музыки. Среди них следует отметить формат MP3, позволяющий с очень большим качеством и степенью сжатия кодировать музыку. При этом вместо 18-20 музыкальных композиций на стандартный компакт-диск (CDROM) помещается около 200. Одна песня занимает примерно 3,5 Mb, что позволяет пользователям сети Интернет легко обмениваться музыкальными композициями.

Устройства ротора дали возможность генерировать очень качественные системы шифрования и использовались для «важных» целей в пятидесятые годы. Их принцип был основан на том, что скоординированное движение нескольких роторов постоянно меняло используемую замену. Этот даже глупый ход можно найти даже в самом зашифрованном тексте. Неудобство такой «механической» реализации этой идеи заключается в технических ограничениях и связанной с ними предсказуемости привлекательного движения роторов. Продвижение текущей технологии позволяет реализовать эту идею на микропроцессорах, обеспечивая плавное перемещение имитируемой программы «ротор», например, генератор псевдослучайных индексов.