Чтение онлайн

на главную

Жанры

Математики, шпионы и хакеры. Кодирование и криптография
Шрифт:

Таким образом, А будет ключом шифра, А– 1 — ключом для расшифровки.

Например, зашифруем сообщение BOY («мальчик»). Буквы сообщения группируются в пары: ВО У@. Их численными эквивалентами, согласно таблице, являются пары чисел (1, 14) и (24, 26). Умножим матрицу А на каждую пару чисел.

Зашифрованное

что, согласно таблице, соответствует буквам (Q, Т).

Зашифрованное

что

соответствует буквам (V, О).

Сообщение BOY будет зашифровано как QTVO.

Обратная операция расшифровки выполняется при помощи матрицы:

Возьмем пару букв (Q, Т) и найдем их числовые эквиваленты из таблицы: (16, 19). Затем умножим их на A– 1 и получим:

то же со второй парой (V, О) и ее численными значениями (21, 14) и получаем:

Таким образом, мы доказали, что расшифровка работает.

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

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

Глава 4. Процесс общения посредством нулей и единиц

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

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

ASCII-код

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

Они называются ASCII-кодами (аббревиатура ASCII переводится как «американская стандартная кодировочная таблица»). Количество размещений (с повторениями) из двух цифр (0 и 1) по 8 (длина символа) составляет 28 = 256.

ASCII-коды позволяют пользователям вводить текст в компьютер. Когда мы печатаем букву или цифру, компьютер превращает этот символ в байт — строку из восьми битов. Так, например, если мы печатаем букву А, компьютер превращает ее в 0100 0001.

* * *

БАЙТЫ ПАМЯТИ

Емкость памяти компьютера измеряется в единицах, кратных байтам.

Килобайт (КБ): 1024 байтов

Мегабайт (МБ): 1 048 576 байтов

Гигабайт (ГБ): 1 073 741 824 байтов

Терабайт (ТБ): 1099 511627 776 байтов

* * *

Двоичные ASCII-коды приведены для всех используемых в обычном обиходе символов: 26 заглавных букв, 26 строчных букв, 10 цифр, 7 символов пунктуации и некоторых специальных символов. Все они показаны в следующей таблице.

Для двоичного кода каждого символа указано соответствующее десятичное число (в столбце «Дес»):

Фразу «GOTO 2» (команду на языке программирования «Бейсик») компьютер переведет в следующую последовательность двоичных кодов:

Компьютер, таким образом, будет выполнять следующую команду:

010001110100111101010100010011110010000000110010

Шестнадцатеричная система счисления

Шестнадцатеричная система — еще один известный код, используемый в вычислениях. Это система счисления, которая использует 16 уникальных «цифр» (отсюда и название — шестнадцатеричная), в отличие от обычной системы с десятью цифрами (десятичной). Можно сказать, что шестнадцатеричная система является вторым языком компьютеров после двоичной системы. Почему 16 цифр? Напомним, что байт, основная единица хранения информации на компьютере, состоит из восьми битов, которые дают 28 = 256 различных комбинаций из 0 и 1. А 28 = 24 х 24 = 16 х 16. Иными словами, один байт — это комбинация двух шестнадцатеричных чисел.

Шестнадцать «цифр» шестнадцатеричной системы — это традиционные цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и еще шесть символов, выбранных по соглашению: А, В, С, D, Е, F. Числа в шестнадцатеричной системе записываются следующим образом:

От 0 до 15: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F.

От 16 до 31: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1А, 1В, 1C, ID, IE, 1F.

От 32 и дальше: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2А, 2В, 2С…

Эти файлы были созданы компьютером автоматически. Их странные имена — на самом деле шестнадцатеричные числа.

Шестнадцатеричные цифры не различают регистр букв (1Е означает то же самое, что и 1е). В следующей таблице приведены первые 16 двоичных чисел и их шестнадцатеричные эквиваленты:

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

Поделиться:
Популярные книги

Титан империи 6

Артемов Александр Александрович
6. Титан Империи
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Титан империи 6

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Болотник

Панченко Андрей Алексеевич
1. Болотник
Фантастика:
попаданцы
альтернативная история
6.50
рейтинг книги
Болотник

Курсант: Назад в СССР 11

Дамиров Рафаэль
11. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 11

На границе империй. Том 3

INDIGO
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 3

Рождение победителя

Каменистый Артем
3. Девятый
Фантастика:
фэнтези
альтернативная история
9.07
рейтинг книги
Рождение победителя

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Совершенный: пробуждение

Vector
1. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: пробуждение

Начальник милиции 2

Дамиров Рафаэль
2. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции 2

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Месть бывшему. Замуж за босса

Россиус Анна
3. Власть. Страсть. Любовь
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть бывшему. Замуж за босса

Девяностые приближаются

Иванов Дмитрий
3. Девяностые
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Девяностые приближаются

Шахта Шепчущих Глубин, Том II

Астахов Евгений Евгеньевич
3. Виашерон
Фантастика:
фэнтези
7.19
рейтинг книги
Шахта Шепчущих Глубин, Том II

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12