С помощью обобщенного алгоритма Евклида найдите числа х и у, удовлетворяющие уравнению 30х +12y = НОД(30,12). х=1, у=-2, НОД = 6. Где ошибка? |
Основные понятия криптографии
Реализация криптографических методов
В "докомпьютерную" эпоху шифрование данных выполнялось вручную. Специалист-шифровальщик обрабатывал исходное сообщение посимвольно и таким образом получал зашифрованный текст. Несмотря на то, что результат шифрования многократно проверялся, известны исторические факты ошибок шифровальщиков. После изобретения механических шифровальных машин процесс обработки данных при шифровании был автоматизирован и ускорен. Кроме того, применение шифровальной техники снизило вероятность ошибок в процессе шифрования и расшифрования. Дальнейшее развитие техники привело к появлению сначала электромеханических, а затем электронных криптографических устройств. Если все процедуры шифрования и расшифрования выполняются специальными электронными схемами по определенным логическим правилам, то такой способ реализации криптографического метода называется аппаратным. Аппаратным способом могут быть реализованы все криптоалгоритмы, рассматриваемые в данном учебном пособии. На разработку аппаратного устройства необходимы существенные затраты, однако при массовом выпуске устройства эти затраты окупаются. Аппаратная реализация криптографического метода отличается высокой производительностью, простотой в эксплуатации, защищенностью. Во всем мире выпускаются ежегодно миллионы криптографических устройств.
Повсеместное внедрение вычислительной техники, а особенно персональных компьютеров, привело к появлению программных реализаций алгоритмов шифрования. Интересно, что разработчики первых блочных шифров, используемых, например, в старом американском стандарте DES, и не предполагали, что придуманные ими алгоритмы будут реализовываться программно. Благодаря тому, что все методы криптографического преобразования могут быть представлены в виде конечной алгоритмической процедуры, они могут быть запрограммированы. Основным достоинством программных методов реализации защиты является их гибкость, т.е. возможность быстрого изменения алгоритмов шифрования или их настройки. Кроме того, программные реализации криптографических методов отличаются меньшей стоимостью. Основным же недостатком программной реализации является существенно меньшее быстродействие по сравнению с аппаратными средствами (в десятки раз в зависимости от алгоритма).
В настоящее время выпускаются и комбинированные модули шифрования, так называемые программно-аппаратные средства. В этом случае компьютер дополняется своеобразным "криптографическим сопроцессором" – аппаратным вычислительным блоком, ориентированным на выполнение специфических криптографических операций. Меняя программное обеспечение для такого устройства, можно выбирать тот или иной метод шифрования. Такое программно-аппаратное средство объединяет в себе достоинства программных и аппаратных методов.
Сведения из истории криптографии
Исторически криптография развивалась как практическая дисциплина, изучающая и разрабатывающая способы шифрования письменных сообщений. В распоряжении историков имеются данные, что криптографические методы применялись в Древнем Египте, Индии, Месопотамии. Так, например, в записях египетских жрецов есть сведения о системах и способах составления шифрованных посланий.
Древние греки оставили документальные подтверждения о различных применяемых ими шифровальных системах. Греками, а вернее спартанцами, во время многочисленных войн применялось одно из первых шифровальных устройств – Сцитала. Сцитала представляла собой цилиндрический жезл определенного диаметра. На Сциталу виток к витку наматывалась узкая полоска папируса (или кожаного ремня). На намотанной ленте вдоль оси жезла писали открытое сообщение. Затем ленту разматывали и переправляли адресату. После снятия папируса с жезла выходило как будто буквы сообщения написаны в беспорядке поперек ленты. Если папирус попадал в руки противника, то секретное сообщение прочитать было невозможно. Для получения исходного текста была необходима Сцитала точно такого же диаметра – на нее наматывалась полученная полоска папируса, строки сообщения совмещались, и в результате можно было прочитать секретное послание. Ключом в данном методе шифрования являлся диаметр Сциталы. Интересно, что изобретение дешифровального "устройства" приписывается Аристотелю. Предполагается, что именно он предложил использовать конусообразное "копье", на которое наматывалась перехваченная лента с зашифрованным сообщением. Лента с буквами передвигалась вдоль оси конуса до тех пор, пока не появлялся осмысленный текст.
В Древней Греции использовались и другие шифры. Так, например, там был изобретен шифр, который в дальнейшем стал называться "квадратом Полибия". Согласно этому шифру буквы сообщения заменялись числами, представляющими собой координаты в квадрате 5x5, в который вписаны символы алфавита. Многочисленные исторические документы подтверждают, что в политике и в военном деле широко применялись различные шифры.
В арабских странах шифрование сообщений довольно широко использовалось как в военных, так и в политических целях и даже в переписке между торговыми партнерами. Кстати, слово "шифр" арабского происхождения, так же как и слово "цифра". В VIII – XV веках на свет появляются научные труды, содержащие сведения по криптографии: описания различных шифров и даже некоторых методов криптоанализа. Так, в многотомной энциклопедии "Шауба аль-Аша" упоминается о частотном криптоанализе (то есть анализе, основанном на частоте встречаемости букв открытого и зашифрованного сообщений). В этой же энциклопедии приводится таблица частотных характеристик букв арабского языка.
В средние века криптографические методы использовались, прежде всего, в военном деле, шпионаже, дипломатии. Изучением шифров занимались священники, ученые и дипломаты. На практике применялись различные шифры. Первые труды по криптографии созданы в XIV – XVI веках Чикко Симоннети (сотрудником папской канцелярии), Габлиэлем де Лавиндой (секретарем папы Клементия XII), Леоном Баттистой Альберти (знаменитым итальянским архитектором и философом), аббатом Иоганнесом Тритемием, жившем в Германии. Все указанные деятели внесли большой вклад в развитие криптографии, так как не только рассматривали в своих трудах существующие шифры, но и предлагали различные усовершенствованные методы шифрования, а также некоторые простейшие методы криптоанализа. Так, например, в трудах Симоннети и де Лавинды предлагаются шифры пропорциональной замены, в которых наиболее часто встречаемым буквам ставится в соответствие несколько символов для выравнивания частоты встречаемости знаков в шифротексте. Леон Альберти, вероятно, первым предложил так называемые полиалфавитные шифры. Нововведение Альберти состояло в том, чтобы использовать несколько замен в соответствии с ключом. Предполагается, что он также изобрёл первую автоматическую шифровальную машину — шифровальный диск, который осуществлял частичную реализацию его изобретения.
В XVII-XVIII веках во многих государствах Европы появились специальные шифровальные службы. В России датой появления криптографической службы специалисты называют 1549 год, когда был создан "посольский приказ", в котором имелось "цифирное" отделение. В эпоху Петра I криптографическая служба была реорганизована в "Посольскую канцелярию".
В различные времена криптографией занимались многие политики и ученые. Среди них Пифагор, Аристотель, Платон, Галилей, Д. Порта, Д. Кардано, Л. да Винчи, Ф. Виет, Д. Валлис, Б. Паскаль, И. Ньютон, Ф. Бекон, Х. Гольбах, Ф. Эпинус, Л. Эйлер, П.Ф. Шиллинг, Ч. Беббидж и другие.
Огромное влияние на развитие криптографии оказывают достижения научно-технического прогресса. Так, например, в середине XIX века после изобретения телеграфа появилось несколько дипломатических и коммерческих шифров, ориентированных на применение телеграфа. Возрастание скорости передачи данных требовало увеличения скорости шифрования. В конце XIX века появились механические шифраторы Т. Джефферсона и Ч. Уитстона. С конца XIX века криптография стала серьезной отраслью научных знаний и стала изучаться как отдельная наука в военных академиях.
В XX веке появились новые возможности по передаче информации на большие расстояния с большой скоростью. В связи с применением радиосвязи расширились возможности доступа к шифрованной информации в процессе ее передачи. Научно-технический прогресс преобразил криптографию, которая стала вначале электромеханической, а затем электронной. В XX веке возникает специализация в криптографической деятельности. Появляются специалисты по шифрованию, по перехвату зашифрованных сообщений, по дешифрованию шифров противника.
В 20-х годах XX века для автоматизации процесса шифрования появились многочисленные механические устройства. В частности, широко использовались роторные шифровальные машины, в которых для выполнения операций замены символов применялись механические колеса – роторы. Шифровальные машины преобразовывали открытый текст в зашифрованный, состоящий из символов того же алфавита. После преобразования зашифрованная информация могла передаваться различными способами, например, по радиоканалу. Во всех развитых странах, в том числе и в СССР, создавались высокоскоростные шифрмашины, которые широко применялись во время второй мировой войны и позже.
В середине ХХ века разработкой криптографических алгоритмов стали заниматься профессиональные математики и специалисты в области информатики. Существенное влияние на развитие криптографии оказала работа американского инженера-математика К. Шеннона "Теория связи в секретных системах", в которой были сформулированы и математически доказаны условия "невскрываемости" шифров.
С 50-х годов ХХ века в криптографии используется электронная вычислительная техника. Начинается создание так называемых блочных шифров, которые позволяют обрабатывать информацию целыми фрагментами или блоками. Первоначально для операций блочного шифрования разрабатывали аппаратные устройства с жесткой логикой, однако стремительное развитие возможностей вычислительной техники позволило создать программные аналоги блочных систем шифрования. Криптографические программные и аппаратные средства стали использоваться в гражданских целях, например, в коммерческих системах передачи информации.
С развитием информационных технологий криптография не только приобрела новые сферы применения, но и претерпела значительные изменения. В древние времена в процессе обмена зашифрованными сообщениями участвовало только две стороны, поэтому ключом шифрования необходимо было обеспечить только эти две стороны. В современных информационных системах в процессе передачи информации задействовано множество абонентов, и все они заинтересованы в надежных и удобных каналах получения ключей шифрования. Проблема распределения ключей была решена в двадцатом веке благодаря изобретению нового принципа шифрования – асимметричного шифрования или шифрования с открытым ключом (70-е годы ХХ в.). Основоположниками этого метода шифрования считаются У. Диффи и М. Хеллман. В асимметричных алгоритмах шифрования используются специальные математические функции – односторонние функции. Открытие асимметричных криптосистем позволило еще больше расширить сферы применения криптографии. Именно шифрование с открытым ключом лежит в основе процедур формирования цифровой подписи и проверки подлинности, а следовательно, и в основе принципов работы банковских пластиковых карт, "электронных" денег и других современных технологий.
Новые сферы применения криптографии привлекают математиков к решению криптографических проблем, а также к созданию новых направлений в математике, теории информации и других смежных науках.
Криптографические атаки
Информация в процессе хранения, передачи и преобразования подвергается воздействию различных атак. Атаки осуществляются противниками (оппонентами, перехватчиками, врагами и т.д.). Основными нарушениями безопасности являются раскрытие информационных ценностей (потеря конфиденциальности) , модификация без разрешения автора (потеря целостности) или неавторизованная потеря доступа к этим ценностям (потеря доступности) .
Атаки могут быть пассивными и активными. Пассивной называется атака, при которой противник не имеет возможности изменять передаваемые сообщения. При пассивной атаке возможно лишь прослушивание передаваемых сообщений, их дешифрование и анализ трафика. При активной атаке противник имеет возможность модифицировать передаваемые сообщения и даже добавлять свои сообщения.
Криптоанализ любого шифра невозможен без учета особенностей текстов сообщений, подлежащих шифрованию.
Наиболее простыми характеристиками текстов, используемыми в криптоанализе, являются такие характеристики, как повторяемость букв, пар букв (биграмм) и вообще n-грамм, сочетаемость букв друг с другом, чередование гласных и согласных и некоторые другие. Такие характеристики изучаются на основе наблюдений текстов достаточно большой длины.
Криптографические атаки можно классифицировать по количеству и типу информации, доступной для криптоанализа противником. По данной классификации выделяют следующие виды атак.
Атака на основе шифротекста имеется в том случае, когда противник имеет для анализа шифротексты различных неизвестных открытых текстов, зашифрованные на одном и том же ключе. Задача криптоаналитика состоит в получении открытого текста как можно большего числа сообщений или в получении ключа, использованного при шифровании. Полученный ключ будет затем использован для дешифрования других сообщений.
Атака на основе известного открытого текста имеет место в том случае, если криптоаналитик получает в свое распоряжение какие-либо открытые тексты, соответствующие раннее переданным зашифрованным сообщениям. Сопоставляя пары "текст-шифротекст", противник пытается узнать секретный ключ, чтобы с его помощью дешифровать все последующие сообщения. Некоторым покажется, что противнику достаточно сложно заполучить в свое распоряжение некоторое количество пар "текст-шифротекст". На самом деле практически всегда возможно достать такие кусочки открытого текста и шифротекста. Криптоаналитик может иметь информацию о формате перехваченного зашифрованного файла: например, знать, что это файл с изображением JPEG, документ Word или Excel, файл базы данных или что-то еще. Все эти и многие другие форматы содержат определенные стандартные заголовки или фрагменты. Таким образом, специалист по криптоанализу сможет сформировать необходимые данные для проведения атаки на основе известного открытого текста.
Возможен еще более "серьезный" для передающих сторон вариант – это атака на основе выбранного открытого текста . В этом случае криптоаналитик имеет возможность не только использовать предоставленные ему пары "текст-шифротекст", но и сам формировать нужные ему тексты и шифровать их с помощью того ключа, который он хочет узнать. Известно, что во время второй мировой войны американцы, подкупив охрану, выкрали шифровальную машину в японском посольстве на два дня и имели возможность формировать и подавать ей на вход различные тексты и получать соответствующие шифровки. (Они не могли взломать машину с целью непосредственного определения заложенного в нее секретного ключа, так как это было бы замечено и повлекло бы за собой смену всех ключей.)
Долгое время разработчики криптосистем пытались сделать свои алгоритмы шифрования неуязвимыми по отношению только к атакам по шифротексту и обеспечивать организационно невозможность атак по открытому или выбранному тексту. Для этого держали в тайне алгоритмы шифрования, устройства шифровальных машин, тщательно проверяли на надежность персонал, имеющий доступ к криптосистемам.
Однако еще в XIX веке специалисты в области криптографии предположили, что секретность алгоритма шифрования не является гарантией от взлома. Более того, в дальнейшем было понято, что по-настоящему надежная система шифрования должна оставаться защищённой, даже если противник полностью узнал алгоритм шифрования. Секретность ключа должна быть достаточна для хорошего шифра, чтобы сохранить стойкость к попыткам взлома. Этот фундаментальный принцип впервые был сформулирован в 1883 Керкхоффсом (A. Kerckhoffs) и обычно называется принципом Керкхоффса.
Разработчики современных криптографических систем используют именно такой подход, предполагая возможность атак по выбранному тексту. В настоящее время создаваемые алгоритмы шифрования всесторонне изучаются большим числом специалистов, оцениваются по различным показателям, в том числе и по возможности противостоять атакам по выбранному тексту.