EITC/IS/CCF Classical Cryptography Fundamentals — это европейская программа сертификации ИТ по теоретическим и практическим аспектам классической криптографии, включая криптографию с закрытым и открытым ключом, с введением в практические шифры, широко используемые в Интернете, такие как ЮАР.
Учебная программа EITC/IS/CCF Classical Cryptography Fundamentals охватывает введение в криптографию с закрытым ключом, модульные арифметические и исторические шифры, потоковые шифры, случайные числа, безусловно безопасный шифр одноразового блокнота (OTP) (при условии предоставления решения к проблеме распределения ключей, такой как, например, квантовое распределение ключей, QKD), регистры сдвига с линейной обратной связью, стандарт шифрования данных (шифр DES, включая шифрование, расписание ключей и дешифрование), усовершенствованный стандарт шифрования (AES, вводящий поля Галуа основанная на криптографии), применения блочных шифров (включая режимы их работы), рассмотрение многократного шифрования и атак грубой силы, введение в криптографию с открытым ключом, охватывающую теорию чисел, алгоритм Евклида, фи-функцию Эйлера и теорему Эйлера, а также введение в криптосистему RSA и эффективное возведение в степень в рамках следующей структуры, охватывающей всестороннее дидактическое видео c содержание в качестве ссылки для этой сертификации EITC.
Криптография относится к способам безопасной связи в присутствии противника. Криптография в более широком смысле — это процесс создания и анализа протоколов, которые предотвращают доступ третьих лиц или широкой публики к частным (зашифрованным) сообщениям. Современная классическая криптография основана на нескольких основных характеристиках информационной безопасности, таких как конфиденциальность данных, целостность данных, аутентификация и неотказуемость. В отличие от квантовой криптографии, основанной на совершенно иных правилах квантовой физики, характеризующих природу, классическая криптография относится к криптографии, основанной на законах классической физики. Области математики, информатики, электротехники, связи и физики встречаются в классической криптографии. Электронная коммерция, платежные карты на базе чипов, цифровые валюты, компьютерные пароли и военные средства связи — все это примеры применения криптографии.
До нынешней эпохи криптография была почти синонимом шифрования, превращая информацию из удобочитаемой в неразборчивую чепуху. Чтобы злоумышленники не получили доступ к зашифрованному сообщению, отправитель делится процессом декодирования только с предполагаемыми получателями. Имена Алиса («А») для отправителя, Боб («Б») для предполагаемого получателя и Ева («подслушиватель») для противника часто используются в литературе по криптографии.
Методы криптографии становились все более сложными, а ее применение — более разнообразным с момента разработки роторных шифровальных машин во время Первой мировой войны и появления компьютеров во время Второй мировой войны.
Современная криптография сильно зависит от математической теории и практики информатики; криптографические методы построены на предположениях о вычислительной сложности, что затрудняет их взлом на практике любому противнику. Хотя взлом хорошо спроектированной системы теоретически возможен, на практике это невозможно. Такие схемы называются «вычислительно безопасными», если они правильно построены; тем не менее, теоретические прорывы (например, усовершенствования методов целочисленной факторизации) и более быстрые вычислительные технологии требуют постоянной переоценки и, при необходимости, адаптации этих схем. Существуют информационно-теоретически безопасные системы, такие как одноразовый блокнот, неуязвимость которых может быть доказана даже при бесконечных вычислительных мощностях, но их значительно сложнее использовать на практике, чем самые лучшие теоретически взламываемые, но вычислительно безопасные схемы.
В информационную эпоху развитие криптографических технологий породило множество юридических проблем. Многие страны классифицировали криптографию как оружие, ограничивая или запрещая ее использование и экспорт из-за ее потенциала для шпионажа и мятежа. Следователи могут потребовать сдачи ключей шифрования документов, имеющих отношение к расследованию, в некоторых местах, где криптография является законной. В случае с цифровыми медиа криптография также играет ключевую роль в управлении цифровыми правами и конфликтах, связанных с нарушением авторских прав.
Термин «криптограф» (в отличие от «криптограммы») впервые был использован в девятнадцатом веке в рассказе Эдгара Аллана По «Золотой жук».
До недавнего времени криптография почти исключительно относилась к «шифрованию», то есть преобразованию обычных данных (известных как открытый текст) в нечитаемый формат (называемый зашифрованным текстом). Дешифрование противоположно шифрованию, т. е. переход от неразборчивого зашифрованного текста к открытому тексту. Шифр (или шифр) — это набор методов, которые выполняют шифрование и дешифрование в обратном порядке. Алгоритм и, в каждом случае, «ключ» отвечают за детальное выполнение шифра. Ключ — это секрет (предпочтительно известный только коммуникантам), который используется для расшифровки зашифрованного текста. Обычно это строка символов (в идеале короткая, чтобы пользователь мог ее запомнить). «Криптосистема» — это упорядоченный набор элементов конечных потенциальных открытых текстов, шифротекстов, ключей и процедур шифрования и дешифрования, которые соответствуют каждому ключу в формальных математических терминах. Ключи важны как формально, так и практически, потому что шифры с фиксированными ключами можно легко взломать, используя только информацию шифра, что делает их бесполезными (или даже контрпродуктивными) для большинства целей.
Исторически сложилось так, что шифры часто использовались без каких-либо дополнительных процедур, таких как аутентификация или проверка целостности для шифрования или дешифрования. Криптосистемы делятся на две категории: симметричные и асимметричные. Один и тот же ключ (секретный ключ) используется для шифрования и дешифрования сообщения в симметричных системах, которые были единственными известными до 1970-х годов. Поскольку в симметричных системах используются более короткие ключи, обработка данных в симметричных системах выполняется быстрее, чем в асимметричных. Асимметричные системы шифруют сообщение с помощью «открытого ключа» и расшифровывают его с помощью аналогичного «закрытого ключа». Использование асимметричных систем повышает безопасность связи из-за сложности определения взаимосвязи между двумя ключами. RSA (Rivest-Shamir-Adleman) и ECC являются двумя примерами асимметричных систем (криптография на эллиптических кривых). Широко используемый AES (Advanced Encryption Standard), пришедший на смену более раннему DES, является примером высококачественного симметричного алгоритма (стандарт шифрования данных). Различные приемы запутывания детской речи, такие как поросячья латынь или другой кант, да и вообще все криптографические схемы, какими бы серьезными они ни были, из любого источника до появления одноразового блокнота в начале двадцатого века, являются примерами низкокачественного симметричные алгоритмы.
Термин «код» часто используется в разговорной речи для обозначения любого метода шифрования или сокрытия сообщений. Однако в криптографии код относится к замене кодовым словом единицы открытого текста (т. е. осмысленного слова или фразы) (например, «валлаби» заменяет «атака на рассвете»). Напротив, зашифрованный текст создается путем изменения или замены элемента ниже такого уровня (например, буквы, слога или пары букв) для формирования зашифрованного текста.
Криптоанализ — это изучение способов расшифровки зашифрованных данных без доступа к ключу, необходимому для этого; другими словами, это изучение того, как «сломать» схемы шифрования или их реализации.
В английском языке некоторые люди взаимозаменяемо используют термины «криптография» и «криптология», в то время как другие (включая военную практику США в целом) используют «криптографию» для обозначения использования и практики криптографических методов, а «криптологию» — для обозначения комбинированного изучение криптографии и криптоанализа. Английский является более гибким, чем ряд других языков, где «криптология» (как это практикуется криптологами) всегда используется во втором смысле. Согласно RFC 2828, стеганографию иногда включают в криптологию.
Криптолингвистика — это изучение свойств языка, которые имеют некоторое отношение к криптографии или криптологии (например, частотная статистика, комбинации букв, универсальные шаблоны и т. д.).
Криптография и криптоанализ имеют долгую историю.
История криптографии является основной статьей.
До современной эры криптография в первую очередь занималась конфиденциальностью сообщений (т. е. шифрованием) — преобразованием сообщений из понятной формы в непонятную и, опять же, превращением их в нечитаемые перехватчиками или перехватчиками без секретных знаний (а именно, ключа, необходимого для расшифровки). этого сообщения). Шифрование было разработано, чтобы скрывать разговоры шпионов, военачальников и дипломатов. В последние десятилетия эта дисциплина расширилась и теперь включает в себя, среди прочего, такие методы, как проверка целостности сообщений, аутентификация отправителя и получателя, цифровые подписи, интерактивные доказательства и безопасные вычисления.
Двумя наиболее распространенными классическими типами шифров являются шифры перестановки, которые систематически заменяют буквы или группы букв другими буквами или группами букв (например, «hello world» становится «ehlol owrdl» в тривиально простой схеме перестановки) и шифры замены, которые систематически заменяют буквы или группы букв другими буквами или группами букв (например, «летать сразу» становится «gmz bu». Простые версии любого из них никогда не обеспечивали большой конфиденциальности от хитрых противников. Шифр Цезаря был ранним шифром замены, в котором каждая буква в открытом тексте была заменена буквой на определенное количество позиций вниз по алфавиту. Согласно Светонию, Юлий Цезарь использовал его со сдвигом из трех человек для связи со своими генералами. Примером является ранний еврейский шифр Атбаш. Древнейшее известное использование криптографии — это высеченный на камне зашифрованный текст в Египте (около 1900 г. до н. э.), однако вполне возможно, что это было сделано для развлечения грамотных зрителей, а не для для сокрытия информации.
Сообщается, что склепы были известны древним грекам (например, шифр перестановки скитал, который, как утверждается, использовался спартанскими военными). Стеганография (практика сокрытия даже наличия сообщения, чтобы сохранить его в тайне) также была изобретена в древние времена. Согласно Геродоту, фраза, вытатуированная на бритой голове раба и спрятанная под отросшими волосами. Использование невидимых чернил, микроточек и цифровых водяных знаков для сокрытия информации — более современные примеры стеганографии.
Каутилиям и Мулаведия — два типа шифров, упомянутых в индийской Камасутре Втсияна 2000-летней давности. Замены зашифрованных букв в Kautiliyam основаны на фонетических отношениях, таких как гласные, становящиеся согласными. Шифралфавит в Мулаведии состоит из совпадающих букв и использования взаимных.
Согласно мусульманскому ученому Ибн ан-Надиму, в сасанидской Персии существовало два секретных письма: х-дабрья (буквально «царская письменность»), которое использовалось для официальной переписки, и рз-сахарья, которое использовалось для обмена секретными сообщениями с другими страны.
В своей книге «Взломщики кодов» Дэвид Кан пишет, что современная криптология началась с арабов, которые первыми тщательно документировали криптоаналитические процедуры. Книга криптографических сообщений была написана Аль-Халилом (717–786) и содержит самое раннее использование перестановок и комбинаций для перечисления всех мыслимых арабских слов с гласными и без них.
Шифрованные тексты, сгенерированные классическим шифром (а также некоторыми современными шифрами), раскрывают статистическую информацию об открытом тексте, которую можно использовать для взлома шифра. Почти все такие шифры могли быть взломаны разумным злоумышленником после открытия частотного анализа, возможно, арабским математиком и эрудитом Аль-Кинди (также известным как Алкинд) в 9 веке. Классические шифры по-прежнему популярны сегодня, хотя в основном в виде головоломок (см. криптограмму). Рисала фи Истихрадж аль-Муамма (Рукопись по расшифровке криптографических сообщений) была написана Аль-Кинди и задокументировала первое известное использование методов криптоанализа частотного анализа.
Некоторые подходы к шифрованию с расширенной историей, такие как омофонический шифр, которые имеют тенденцию к выравниванию частотного распределения, могут не выиграть от частоты букв языка. Частоты группы букв языка (или n-грамм) могут дать возможность атаки для этих шифров.
До открытия полиалфавитного шифра, в первую очередь Леоном Баттистой Альберти около 1467 года, практически все шифры были доступны для криптоанализа с использованием подхода частотного анализа, хотя есть некоторые свидетельства того, что он уже был известен Аль-Кинди. Альберти предложил использовать отдельные шифры (или алфавиты замены) для разных частей сообщения (возможно, для каждой последующей буквы открытого текста в пределе). Он также создал то, что считается первым автоматическим устройством шифрования, колесом, которое выполнило часть его конструкции. Шифрование в шифре Виженера, полиалфавитном шифре, контролируется ключевым словом, которое управляет заменой букв в зависимости от того, какая буква ключевого слова используется. Чарльз Бэббидж продемонстрировал, что шифр Виженера был уязвим для анализа Касиски в середине девятнадцатого века, но Фридрих Касиски опубликовал свои выводы десятью годами позже.
Несмотря на то, что частотный анализ является мощным и широким методом против многих шифров, шифрование остается эффективным на практике, потому что многие потенциальные криптоаналитики не знают об этом методе. Для взлома сообщения без использования частотного анализа требовалось знание используемого шифра и, возможно, задействованного ключа, что делало шпионаж, взяточничество, кражу со взломом, дезертирство и другие криптоаналитически неосведомленные тактики более привлекательными. Секрет алгоритма шифра был в конечном итоге признан в 19 веке ни разумной, ни осуществимой гарантией безопасности сообщения; фактически любая подходящая криптографическая схема (включая шифры) должна оставаться безопасной, даже если противник полностью понимает сам алгоритм шифрования. Безопасность ключа должна быть достаточной для того, чтобы хороший шифр сохранял конфиденциальность перед лицом атаки. Огюст Керкхоффс впервые сформулировал этот фундаментальный принцип в 1883 году, и он известен как принцип Керкхоффа; в качестве альтернативы, и более прямо, Клод Шеннон, изобретатель теории информации и основ теоретической криптографии, переформулировал это как максиму Шеннона - «враг знает систему».
Чтобы помочь с шифрами, было использовано множество физических гаджетов и помощников. Древнегреческий скитал, стержень, предположительно использовавшийся спартанцами в качестве инструмента для шифрования перестановок, возможно, был одним из первых. Другие вспомогательные средства были изобретены в средние века, например, шифровальная решетка, которая также использовалась для стеганографии. С развитием полиалфавитных шифров стали доступны более сложные вспомогательные средства, такие как шифровальный диск Альберти, схема tabula recta Иоганна Тритемиуса и колесный шифр Томаса Джефферсона (неизвестные широкой публике и заново изобретенные Базерисом независимо около 1900 г.). Многие механические системы шифрования/дешифрования были разработаны и запатентованы в начале двадцатого века, в том числе роторные машины, которые, как известно, использовались немецким правительством и военными с конца 1920-х годов до Второй мировой войны. После Первой мировой войны шифры, реализованные более качественными экземплярами этих машин, привели к значительному увеличению сложности криптоанализа.
До начала двадцатого века криптография в первую очередь занималась лингвистическими и лексикографическими моделями. С тех пор фокус изменился, и теперь криптография включает аспекты теории информации, вычислительной сложности, статистики, комбинаторики, абстрактной алгебры, теории чисел и конечной математики в целом. Криптография — это разновидность инженерии, но она уникальна тем, что имеет дело с активным, интеллектуальным и враждебным сопротивлением, в то время как другие виды инженерии (такие как гражданское или химическое машиностроение) просто имеют дело с естественными силами, которые являются нейтральными. Также исследуется связь между трудностями криптографии и квантовой физикой.
Развитие цифровых компьютеров и электроники помогло криптоанализу, позволив создавать значительно более сложные шифры. Кроме того, в отличие от традиционных шифров, которые шифровали исключительно письменные тексты, компьютеры позволяли шифровать данные любого типа, которые можно было представить в любом двоичном формате; это было новым и решающим. Как в разработке шифров, так и в криптоанализе компьютеры вытеснили языковую криптографию. В отличие от классических и механических методов, которые в первую очередь напрямую манипулируют традиционными символами (т. е. буквами и цифрами), многие компьютерные шифры работают с двоичными последовательностями битов (иногда группами или блоками). С другой стороны, компьютеры помогли криптоанализу, который частично компенсировал повышенную сложность шифра. Несмотря на это, хорошие современные шифры опережают криптоанализ; часто бывает так, что использование хорошего шифра очень эффективно (т. е. быстро и требует немного ресурсов, таких как память или мощность ЦП), тогда как его взлом требует усилий на много порядков больше и значительно больше, чем требуется для любого классический шифр, фактически делающий криптоанализ невозможным.
Дебют современной криптографии.
Криптоанализ новых механических устройств оказался сложным и трудоемким. Во время Второй мировой войны криптоаналитическая деятельность в Блетчли-парке в Соединенном Королевстве способствовала изобретению более эффективных методов выполнения повторяющихся задач. Colossus, первый в мире полностью электронный, цифровой, программируемый компьютер, был разработан для помощи в расшифровке шифров, созданных машиной Lorenz SZ40/42 немецкой армии.
Криптография — относительно новая область открытых академических исследований, начавшаяся только в середине 1970-х годов. Сотрудники IBM разработали алгоритм, который стал федеральным (т. е. американским) стандартом шифрования данных; Уитфилд Диффи и Мартин Хеллман опубликовали свой алгоритм согласования ключей; и колонка Мартина Гарднера в журнале Scientific American опубликовала алгоритм RSA. С тех пор криптография приобрела популярность как метод связи, компьютерных сетей и компьютерной безопасности в целом.
Существуют глубокие связи с абстрактной математикой, поскольку некоторые современные криптографические подходы могут хранить свои ключи в секрете только в том случае, если определенные математические проблемы неразрешимы, такие как целочисленная факторизация или проблемы с дискретным логарифмом. Есть всего несколько криптосистем, которые доказали свою 100%-ю безопасность. Клод Шеннон доказал, что одноразовый блокнот — один из них. Есть несколько ключевых алгоритмов, которые доказали свою безопасность при определенных условиях. Например, невозможность факторизовать чрезвычайно большие целые числа является основанием для убеждения в том, что RSA и другие системы безопасны, но доказательство неуязвимости недостижимо, поскольку основная математическая проблема остается нерешенной. На практике они широко используются, и большинство компетентных наблюдателей считают, что на практике их невозможно сломать. Существуют системы, подобные RSA, такие как разработанная Майклом О. Рабином, которые доказуемо безопасны, если факторизация n = pq невозможна; однако они практически бесполезны. Проблема дискретного логарифма является основанием для веры в то, что некоторые другие криптосистемы безопасны, и существуют аналогичные, менее практичные системы, которые доказуемо безопасны с точки зрения разрешимости или неразрешимости проблемы дискретного логарифма.
Разработчики криптографических алгоритмов и систем должны учитывать возможные будущие достижения при работе над своими идеями, помимо знания истории криптографии. Например, по мере увеличения вычислительной мощности компьютера увеличилось количество атак грубой силы, следовательно, увеличилась и требуемая длина ключа. Некоторые разработчики криптографических систем, изучающие постквантовую криптографию, уже рассматривают потенциальные последствия квантовых вычислений; объявленная неизбежность скромных реализаций этих машин может сделать необходимость превентивной осторожности более чем просто спекулятивной.
Классическая криптография в наши дни
Симметричная (или с закрытым ключом) криптография — это тип шифрования, при котором отправитель и получатель используют один и тот же ключ (или, что реже, при котором их ключи различны, но связаны легко вычислимым образом и хранятся в тайне, конфиденциально). ). До июня 1976 года это был единственный общеизвестный тип шифрования.
И блочные, и поточные шифры используются для реализации симметричных ключей. Блочный шифр шифрует ввод блоками открытого текста, а не отдельными символами, как это делает поточный шифр.
Правительство США определило Стандарт шифрования данных (DES) и Расширенный стандарт шифрования (AES) в качестве стандартов криптографии (хотя сертификация DES в конечном итоге была отозвана после создания AES). DES (особенно его все еще одобренный и значительно более безопасный вариант тройного DES) остается популярным, несмотря на то, что он устарел в качестве официального стандарта; он используется в самых разных приложениях, от шифрования банкоматов до конфиденциальности электронной почты и безопасного удаленного доступа. Было изобретено и выпущено множество различных блочных шифров с разной степенью успеха. Многие из них, в том числе разработанные квалифицированными специалистами, такие как FEAL, были сильно нарушены.
Потоковые шифры, в отличие от блочных, генерируют бесконечно длинный поток ключевого материала, который соединяется с открытым текстом побитно или посимвольно, подобно одноразовому блокноту. Выходной поток потокового шифра генерируется из скрытого внутреннего состояния, которое изменяется по мере функционирования шифра. Материал секретного ключа сначала используется для настройки этого внутреннего состояния. Широко используется поточный шифр RC4. Создавая блоки ключевого потока (вместо генератора псевдослучайных чисел) и используя операцию XOR для каждого бита открытого текста с каждым битом ключевого потока, блочные шифры можно использовать в качестве потоковых шифров.
Коды аутентификации сообщений (MAC) аналогичны криптографическим хеш-функциям, за исключением того, что секретный ключ может использоваться для проверки хеш-значения при получении; эта дополнительная сложность предотвращает атаку на алгоритмы открытого дайджеста, и поэтому считается полезной. Третий вид криптографических методов — это криптографические хеш-функции. Они принимают сообщение любой длины в качестве входных данных и выводят небольшой хэш фиксированной длины, который можно использовать, например, в цифровых подписях. Злоумышленник не может найти два сообщения, которые производят один и тот же хэш, используя хорошие алгоритмы хеширования. MD4 — широко используемая, но теперь ошибочная хэш-функция; MD5, расширенная форма MD4, также широко используется, но на практике не работает. Серия безопасных хэш-алгоритмов MD5-подобных хеш-алгоритмов была разработана Агентством национальной безопасности США: орган по стандартизации США решил, что с точки зрения безопасности было бы «благоразумно» разработать новый стандарт для «значительного повышения надежности общего алгоритма хеширования NIST». Инструментарий." SHA-1 широко используется и более безопасен, чем MD5, но криптоаналитики выявили атаки на него; семейство SHA-2 улучшает SHA-1, но уязвимо для конфликтов с 2011 года; и семейство SHA-2 улучшает SHA-1, но уязвимо для конфликтов. В результате к 2012 году должен был быть проведен конкурс на разработку хеш-функций для выбора нового национального стандарта США, который будет известен как SHA-3. Конкурс завершился 2 октября 2012 года, когда Национальный институт стандартов и технологий (NIST) объявил Keccak новым хеш-алгоритмом SHA-3. Криптографические хэш-функции, в отличие от обратимых блочных и потоковых шифров, обеспечивают хэшированный вывод, который нельзя использовать для восстановления исходных входных данных. Криптографические хеш-функции используются для проверки подлинности данных, полученных из ненадежного источника, или для добавления дополнительной степени защиты.
Хотя сообщение или набор сообщений могут иметь ключ, отличный от других, криптосистемы с симметричным ключом используют один и тот же ключ для шифрования и дешифрования. Управление ключами, необходимое для безопасного использования симметричных шифров, является большим недостатком. Каждая отдельная пара взаимодействующих сторон в идеале должна иметь общий ключ, а также, возможно, другой зашифрованный текст для каждого отправленного зашифрованного текста. Количество требуемых ключей растет прямо пропорционально количеству участников сети, что требует сложных методов управления ключами для обеспечения их согласованности и секретности.
Уитфилд Диффи и Мартин Хеллман изобрели концепцию криптографии с открытым ключом (также известной как асимметричный ключ) в основополагающей работе 1976 года, в которой используются два разных, но математически связанных ключа — открытый ключ и закрытый ключ. Несмотря на то, что они неразрывно связаны, система с открытым ключом построена таким образом, что вычисление одного ключа («закрытого ключа») из другого («открытого ключа») невозможно с вычислительной точки зрения. Скорее, оба ключа производятся тайно, как связанная пара. Криптография с открытым ключом, по словам историка Дэвида Кана, является «самым революционным новым понятием в этой области с тех пор, как в эпоху Возрождения возникла полиалфавитная замена».
Открытый ключ в криптосистеме с открытым ключом может свободно передаваться, но связанный закрытый ключ должен оставаться скрытым. Открытый ключ используется для шифрования, тогда как закрытый или секретный ключ используется для расшифровки в схеме шифрования с открытым ключом. Хотя Диффи и Хеллман не смогли создать такую систему, они продемонстрировали, что криптография с открытым ключом возможна, предоставив протокол обмена ключами Диффи-Хеллмана, решение, которое позволяет двум людям тайно договориться об общем ключе шифрования. Наиболее широко используемый формат сертификатов открытых ключей определяется стандартом X.509.
Публикация Диффи и Хеллмана вызвала широкий академический интерес к разработке практической системы шифрования с открытым ключом. Рональд Ривест, Ади Шамир и Лен Адлеман в конце концов выиграли конкурс в 1978 году, и их ответ стал известен как алгоритм RSA.
Помимо того, что это самые ранние общеизвестные экземпляры высококачественных алгоритмов с открытым ключом, алгоритмы Диффи-Хеллмана и RSA были одними из наиболее часто используемых. Криптосистема Крамера-Шоупа, шифрование Эль-Гамаля и многочисленные подходы на основе эллиптических кривых являются примерами алгоритмов с асимметричным ключом.
Согласно документу, опубликованному в 1997 году Штабом правительственных коммуникаций (GCHQ), британской разведывательной организацией, криптографы GCHQ предвидели несколько научных достижений. Согласно легенде, криптография с асимметричным ключом была изобретена Джеймсом Х. Эллисом примерно в 1970 году. Клиффорд Кокс изобрел решение в 1973 году, которое было очень похоже на RSA с точки зрения дизайна. Малкольму Дж. Уильямсону приписывают изобретение обмена ключами Диффи-Хеллмана в 1974 году.
Системы цифровой подписи также реализуются с использованием криптографии с открытым ключом. Цифровая подпись похожа на традиционную подпись тем, что ее легко создать пользователю, но трудно подделать другим. Цифровые подписи также могут быть постоянно связаны с содержанием подписываемого сообщения; это означает, что их нельзя «переместить» из одного документа в другой, не обнаружив их. В схемах цифровой подписи есть два алгоритма: один для подписи, который использует секретный ключ для обработки сообщения (или хэш сообщения, или и то, и другое), и один для проверки, который использует соответствующий открытый ключ с сообщением для проверки. подлинность подписи. Двумя наиболее часто используемыми методами цифровой подписи являются RSA и DSA. Инфраструктуры открытых ключей и многие системы сетевой безопасности (например, SSL/TLS, многие VPN) полагаются на цифровые подписи.
Вычислительная сложность «сложных» задач, таких как возникающие из теории чисел, часто используется для разработки методов с открытым ключом. Проблема целочисленной факторизации связана со сложностью RSA, а проблема дискретного логарифмирования связана с Диффи-Хеллманом и DSA. Безопасность криптографии на эллиптических кривых основана на задачах теории чисел на эллиптических кривых. Большинство алгоритмов с открытым ключом включают в себя такие операции, как модульное умножение и возведение в степень, которые требуют значительно больших вычислительных ресурсов, чем методы, используемые в большинстве блочных шифров, особенно с ключами нормального размера, из-за сложности лежащих в их основе проблем. В результате криптосистемы с открытым ключом часто представляют собой гибридные криптосистемы, в которых сообщение шифруется с помощью быстрого и высококачественного алгоритма с симметричным ключом, в то время как соответствующий симметричный ключ отправляется вместе с сообщением, но шифруется с помощью алгоритма с открытым ключом. Также широко используются гибридные схемы подписи, в которых вычисляется криптографическая хеш-функция, и только полученный хеш-функция подписывается цифровой подписью.
Хэш-функции в криптографии
Криптографические хэш-функции — это криптографические алгоритмы, которые создают и используют определенные ключи для шифрования данных для симметричного или асимметричного шифрования, и их можно рассматривать как ключи. Они принимают сообщение любой длины в качестве входных данных и выводят небольшой хэш фиксированной длины, который можно использовать, например, в цифровых подписях. Злоумышленник не может найти два сообщения, которые производят один и тот же хэш, используя хорошие алгоритмы хеширования. MD4 — широко используемая, но теперь ошибочная хэш-функция; MD5, расширенная форма MD4, также широко используется, но на практике не работает. Серия безопасных хэш-алгоритмов MD5-подобных хеш-алгоритмов была разработана Агентством национальной безопасности США: орган по стандартизации США решил, что с точки зрения безопасности было бы «благоразумно» разработать новый стандарт для «значительного повышения надежности общего алгоритма хеширования NIST». Инструментарий." SHA-1 широко используется и более безопасен, чем MD5, но криптоаналитики выявили атаки на него; семейство SHA-2 улучшает SHA-1, но уязвимо для конфликтов с 2011 года; и семейство SHA-2 улучшает SHA-1, но уязвимо для конфликтов. В результате к 2012 году должен был быть проведен конкурс на разработку хеш-функций для выбора нового национального стандарта США, который будет известен как SHA-3. Конкурс завершился 2 октября 2012 года, когда Национальный институт стандартов и технологий (NIST) объявил Keccak новым хеш-алгоритмом SHA-3. Криптографические хэш-функции, в отличие от обратимых блочных и потоковых шифров, обеспечивают хэшированный вывод, который нельзя использовать для восстановления исходных входных данных. Криптографические хеш-функции используются для проверки подлинности данных, полученных из ненадежного источника, или для добавления дополнительной степени защиты.
Криптографические примитивы и криптосистемы
Большая часть теоретической работы по криптографии сосредоточена на криптографических примитивах — алгоритмах, обладающих базовыми криптографическими свойствами — и на том, как они соотносятся с другими криптографическими задачами. Затем эти базовые примитивы используются для создания более сложных криптографических инструментов. Эти примитивы обеспечивают фундаментальные качества, которые используются для создания более сложных инструментов, известных как криптосистемы или криптографические протоколы, которые обеспечивают одно или несколько свойств безопасности высокого уровня. Граница между криптографическими примитивами и криптосистемами, с другой стороны, произвольна; алгоритм RSA, например, иногда рассматривается как криптосистема, а иногда как примитив. Типичными примерами являются псевдослучайные функции, односторонние функции и другие криптографические примитивы.
Криптографическая система или криптосистема создается путем объединения одного или нескольких криптографических примитивов для создания более сложного алгоритма. Криптосистемы (например, шифрование Эль-Гамаля) предназначены для обеспечения определенной функциональности (например, шифрования с открытым ключом) при одновременном обеспечении определенных качеств безопасности (например, защита CPA от атаки методом случайного оракула с выбранным открытым текстом). Чтобы поддерживать качества безопасности системы, криптосистемы используют свойства базовых криптографических примитивов. Сложная криптосистема может быть создана из комбинации множества более элементарных криптосистем, поскольку различие между примитивами и криптосистемами несколько условно. Во многих случаях структура криптосистемы включает обмен данными между двумя или более сторонами в пространстве (например, между отправителем и получателем защищенного сообщения) или во времени (например, между отправителем и получателем защищенного сообщения). (например, криптографически защищенные резервные копии данных).
Чтобы более подробно ознакомиться с учебным планом сертификации, вы можете расширить и проанализировать таблицу ниже.
Учебная программа сертификации основ классической криптографии EITC/IS/CCF ссылается на дидактические материалы с открытым доступом в виде видео. Учебный процесс разбит на пошаговую структуру (программы -> уроки -> темы), охватывающую соответствующие разделы учебного плана. Также предоставляются неограниченные консультации с экспертами в предметной области.
Подробнее о процедуре сертификации см. Как это работает.
Основные конспекты лекций
Понимание криптографии Кристофа Паара и Яна Пельцла, онлайн-курс в виде слайдов PDF
https://www.crypto-textbook.com/slides.php
Понимание криптографии Кристофа Паара и Яна Пельцла, онлайн-курс в виде видео
https://www.crypto-textbook.com/movies.php
Справочник по основной классической криптографии
Понимание криптографии Кристофа Паара и Яна Пельцля
https://www.crypto-textbook.com/index.php
Дополнительный справочник по прикладной классической криптографии
Справочник по прикладной криптографии А. Менезеса, П. ван Оршота и С. Ванстона:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
Загрузите полные подготовительные материалы для автономного самообучения по программе «Основы классической криптографии» EITC/IS/CCF в файле PDF.
Подготовительные материалы EITC/IS/CCF – стандартная версия
Подготовительные материалы EITC/IS/CCF – расширенная версия с обзорными вопросами