Краткие теоретические сведения

Лабораторная работа № 1

«Защита электронной почты при использовании в качестве почтового клиента программу The Bat!»

Краткие теоретические сведения

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

Различают следующие классические алгоритмы шифрования:

· подстановка (простая - одноаалфавитная, многоалфавитная однопетлевая, многоалфавитная многопетлевая);

· перестановка (простая, усложненная);

· гаммирование (смешивание с короткой, длинной или неограниченной маской).

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

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

Гаммирование (смешивание с маской) основано на побитном сложении по модулю 2 исходного сообщения с заранее выбранной двоичной последовательностью (маской). Компактным представлением маски могут служить числа в десятичной системе счисления или некоторый текст (в этом случае рассматривается внутренние коды символов - для английского текста таблица ASCII).

Существуют две принципиально различные группы стандартных методов шифрования:

· шифрование с использованием одних и тех же ключей (шифров) при шифровании и дешифровании (симметричное шифрование или системы с открытыми ключами - private-key systems);

· шифрование с использованием открытых ключей для шифрования и закрытых - для дешифрования (несимметричное шифрование).

Симметричное шифрование.

 

Параметры:

· стойкость;

· длина ключа;

· число раундов;

· длина обрабатываемого блока;

· сложность аппаратной/программной реализации.

Достоинства:

· скорость;

· простота реализации;

· сравнительно небольшая длина ключа;

· изученность.

Недостатки:

· сложность управления ключами в большой сети;

· сложность обмена ключами (надёжность передачи ключей).

Алгоритмы:

· AES (Advanced Encryption Standard) – стандарт USA;

· ГОСТ 28147-89;

· DES (Data Encryption Standard) – стандарт в USA до AES;

· 3DES – тройной DES;

· RC6 – шифр Ривеста;

· Twofish;

· IDEA (International Data Encryption Algorithm);

· SEED - корейский стандарт шифрования;

· Canullia – сертифицированный для использования в Японии шифр;

· CAST (по инициалам Carlisle Adams и Stafford Tavares);

· XTEA – наиболее простой в реализации.

Симметричные шифры применялись с древних времён. Известно, что в V веке до нашей эры правители Спарты, наиболее воинственного из греческих государств, имели хорошо отработанную систему секретной военной связи и шифровали свои послания с помощью скитала, первого простейшего криптографического устройства, реализующего метод простой перестановки. Шифрование выполнялось следующим образом. На стержень цилиндрической формы, который назывался скитала, наматывали спиралью (виток к витку) полоску пергамента и писали на ней вдоль стержня несколько строк текста сообщения (рисунок). Затем снимали со стержня полоску пергамента с написанным текстом и буквы на этой полоске оказывались расположенными хаотично. Такой же результат можно получить, если буквы сообщения писать по кольцу не подряд, а через определенное число позиций до тех пор, пока не будет исчерпан весь текст.

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

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

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

Последним рассматриваемым традиционным методом шифрования, является метод применения одноразовых блокнотов. Этот метод является идеальным (но труднореализуемым для современных требований компьютерных систем) и был изобретен в 1917 году Мэйджором Джозефом Моборном и Гилбертом Вернамом. В классическом понимании одноразовый блокнот является большой неповторяющейся последовательностью символов ключа, распределенных случайным образом, написанных на кусочках бумаги и приклееных к листу блокнота. Первоначально это была одноразовая лента для телетайпов. Отправитель использовал каждый символ ключа блокнота для шифрования только одного символа открытого текста. Шифрование представляет собой сложение по модулю 26 символа открытого текста и символа ключа из одноразового блокнота.

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

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

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

Ассиметричное шифрование.

Криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка – это некий секрет, который помогает расшифровать. То есть существует такой y, что зная f(x), можно вычислить x.

Применение:

· как самостоятельное средство для защиты передаваемой и хранимой информации;

· как средства распределения ключей;

· как средства аутентификации пользователей.

Достоинства:

· отсутствие необходимости предварительной передачи ключа по надёжному каналу;

· только один ключ секретный;

· нет необходимости обновлять ключи после каждой передачи;

· в больших сетях количество ключей меньше, чем в симметричной системе.

Недостатки:

· сложно внести изменения;

· получатель и отправитель «засвечиваются» самим фактом пересылки шифрованного сообщения;

· более длинные ключи.

Алгоритмы:

· RSA (Rivest-Shamir-Adleman);

· DSA (Digital Signature Algorithm);

· Elgamal (шифросистема Эль-Гамаля);

· Diffie-Hellman;

· ECC – криптография элептической кривой;

· ГОСТ Р 34.10-2001;

· Luc;

· McEliece.

Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи-Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 году и опубликован в 1978, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом (Ronald Linn Rivest), Ади Шамиром (Adi Shamir) и Леонардом Адлеманом (Leonard Adleman) из Массачусетского Технологического Института (MIT) был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий. Эта же система была изобретена Клиффордом Коксом (Clifford Cocks) в 1973 году, работавшим в центре правительственной связи (GCHQ). Но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.