Что такое криптография и где она применяется: «Что такое криптография, и где она применяется?» – Яндекс.Кью
История криптографии — Учебная и научная деятельность Анисимова Владимира Викторовича
Криптографические методы защиты информации
Лекции
2. ИСТОРИЯ КРИПТОГРАФИИ
2.1. Введение.
2.2. Наивная криптография.
2.3. Формальная криптография.
2.4. Математическая криптография.
Вопросы для самопроверки.
2.1. Введение
В истории развития криптографии можно выделить три этапа [11]:
— наивная криптография;
— формальная криптография;
— математическая криптография.
2.2. Наивная криптография
О важности сохранения информации в тайне знали уже в древние времена, когда с появлением письменности появилась и опасность прочтения ее нежелательными лицами. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. С широким распространением письменности криптография стала формироваться как самостоятельная наука. В документах древних цивилизаций — Индии, Египта, Месопотамии — есть сведения о системах и способах составления шифрованных писем.[9].
Для наивной криптографии (до начала XVI в.) характерно использование любых, обычно примитивных, способов запутывания противника относительно содержания передаваемых сообщений. На начальном этапе для защиты информации использовались методы кодирования и стеганографии, которые родственны, но не тождественны криптографии. Шифровальные системы сводились к использованию перестановки или замены букв на различные символы (другие буквы, знаки, рисунки, числа и т.п.). Одни и те же способы шифрования использовались повторно, ключи были короткими, использовались примитивные способы преобразования исходной информации в зашифрованное сообщение. Это позволяло, однажды установив алгоритм шифрования, быстро расшифровывать сообщения.
[43] Точное время возникновения этих способов обмена тайной информацией теряется в глубине веков, и установить его невозможно. Историки полагают, что первые протокриптографические приемы появились в Древнем Египте около 4 тыс. лет назад. Писцы, составлявшие жизнеописания правителей, стремились придать стандартным иероглифам необычный вид на монументах и гробницах, чтобы сообщить надписям менее обыденный и более почтительный стиль. Жрецы пользовались этим же приемом при переписывании религиозных текстов, чтобы те выглядели для мирян загадочнее и внушительнее. Такие «переводы» становились все менее понятными простому люду, который в результате оказывался во все большей зависимости от жрецов.
По мере развития египетской цивилизации ширилось использование иероглифов. С увеличением количества надписей, высекавшихся на стенах храмов, люди теряли к ним интерес. Египтологи считают, что писцы тогда стали еще больше видоизменять некоторые знаки в стремлении пробудить любопытство и привлечь внимание населения. Эти модификации никоим образом не были кодами или шифрами, но они заключали в себе два основных принципа криптологии, а именно: изменение письма и сокрытие его смысла. Бесспорных доказательств, указывающих на широкое использование модификаций иероглифов для сокрытия дипломатических, торговых или военных планов в Древнем Египте, нет.
Рис.2.1. Розеттский камень1
Более явные криптологические примеры дошли до нас от цивилизаций Месопотамии — от вавилонян, ассирийцев, халдеев, использовавших особую систему письма — клинопись. В 1500 г. до н. э. на глиняной табличке был записан тщательно охраняемый рецепт глазури для гончарных изделий. Знаки, определяющие необходимые ингредиенты, были намеренно перемешаны. Таким образом, мы имеем право утверждать, что эта табличка является самой ранней известной секретной записью.
Примерно с 500 г. до н. э. в Индии также широко применялись секретные записи, в частности в донесениях шпионов и текстах, предположительно использовавшихся Буддой. Методы засекречивания включали в себя фонетическую замену, когда согласные и гласные менялись местами, использование перевернутых букв и запись текста под случайными углами. Различные индийские трактаты, ярким примером которых является «Артхашастра» (около 321—300 гг. до н. э.), показывают, что индийцы были хорошо знакомы со способами сокрытия информации. Согласно «Камасутре», классическому произведению об эротике и других видах наслаждений, написанному Ватсьяяной около IV в. до н.э., владение приемами составления секретного письма (наряду с музыкой, кулинарией и шахматами) является одним из 64 искусств, которыми должны владеть женщины.
Рис.2.2. Фрагмент «Камасутры»
Одним из первых, документально зафиксированных примеров является шифр Цезаря, состоящий в замене каждой буквы исходного текста на другую, отстоящую от нее в алфавите на определенное число позиций. Другой шифр, полибианский квадрат, авторство которого приписывается греческому писателю Полибию, является шифром простой однозначной замены. В квадрат выписывались буквы алфавита (для греческого алфавита размер составлял 5×5). Каждая буква исходного текста заменялась на пару цифр – номер строки и столбца на пересечении которых стояла шифруемая буква.
С VIII века н. э. развитие криптографии происходит в основном в арабских странах. Считается, что арабский филолог Халиль аль-Фарахиди первым обратил внимание на возможность использования стандартных фраз открытого текста для дешифрования. Он предположил, что первыми словами в письме на греческом языке византийскому императору будут «Во имя Аллаха», что позволило ему прочитать оставшуюся часть сообщения. Позже он написал книгу с описанием данного метода — «Китаб аль-Муамма» («Книга тайного языка») [17]. В 855 г. выходит «Книга о большом стремлении человека разгадать загадки древней письменности» арабского учёного Абу Бакр Ахмед ибн Али Ибн Вахшия ан-Набати, одна из первых книг о криптографии с описаниями нескольких шифров, в том числе с применением нескольких алфавитов. Также к IX веку относится первое известное упоминание о частотном криптоанализе — в книге Аль-Кинди «Манускрипт о дешифровке криптографических сообщений». В 1412 г. выходит 14-томная энциклопедия Шихаба ал-Калкашанди «Субх ал-Ааша», один из разделов которой «Относительно сокрытия в буквах тайных сообщений» содержал описание семи шифров замены и перестановки, частотного криптоанализа, а также таблицы частоты появления букв в арабском языке на основе текста Корана. В словарь криптологии арабы внесли такие понятия как алгоритм и шифр.
Рис.2.3. Фрагмент первой страницы «Манускрипта о дешифровке криптографических сообщений» Аль-Кинди
В древние времена широкое применение нашли различные простейшие криптографические устройства.
Греческим поэтом Архилохом, жившим в VII веке до н.э., упоминается устройство под названием сцитала (греч. σκυτάλη — жезл). Достоверно известно, что сцитала использовалась в войне Спарты против Афин в конце V века до н. э. Оно представляет собой цилиндр (иногда жезл командующего) и узкую полоску пергамента, обматывавшуюся вокруг него по спирали, на которой в свою очередь писалось сообщение [17].
Рис.2.4. Сцитала
Шифруемый текст писался на пергаментной ленте по длине палочки, после того как длина палочки оказывалась исчерпанной, она поворачивалась и текст писался далее, пока либо не заканчивался текст, либо не исписывалась вся пергаментная лента. В последнем случае использовался очередной кусок пергаментной ленты. Для расшифровки адресат использовал палочку такого же диаметра, на которую он наматывал пергамент, чтобы прочитать сообщение. Античные греки и спартанцы в частности, использовали этот шифр для связи во время военных кампаний. Однако такой шифр может быть легко взломан. Например, метод взлома сциталы был предложен ещё Аристотелем. Он состоит в том, что не зная точного диаметра палочки, можно использовать конус, имеющий переменный диаметр и перемещать пергамент с сообщением по его длине до тех пор, пока текст не начнёт читаться — таким образом дешифруется диаметр сциталы.
Другим широко известным криптографическим устройством защиты информации был «диск Энея» — инструмент для защиты информации, придуманный Энеем Тактиком в IV веке до н.э. Устройство представляло собой диск диаметром 13-15 см и толщиной 1-2 см с проделанными в нём отверстиями, количество которых равнялось числу букв в алфавите. Каждому отверстию ставилась в соответствие конкретная буква. В центре диска находилась катушка с намотанной на неё ниткой [17].
Рис.2.5. Диск Энея
Механизм шифрования был очень прост. Для того, чтобы зашифровать послание, необходимо было поочерёдно протягивать свободный конец нити через отверстия обозначающие буквы исходного не зашифрованного сообщения. В итоге, сам диск, с продетой в его отверстия ниткой, и являлся зашифрованным посланием. Получатель сообщения последовательно вытягивал нить из каждого отверстия, тем самым получал последовательность букв. Но эта последовательность являлась обратной по отношению к исходному сообщению, то есть он читал сообщение наоборот. Зашифрованное сообщение было доступно к прочтению любому, кто смог завладеть диском. Так как сообщение предавали обычные гонцы, а не воины, Эней предусмотрел возможность быстрого уничтожения передаваемой информации. Для этого было достаточно вытянуть всю нить за один из её концов, либо сломать диск, просто наступив на него. На самом деле «диск Энея» нельзя назвать настоящим криптографическим инструментом, поскольку прочитать сообщение мог любой желающий. Но это устройство стало прародителем первого по истине криптографического инструмента, изобретение которого также принадлежит Энею.
Прибор получил название «Линейка Энея». Она представляла собой устройство, имеющее отверстия, количество которых равнялось количеству букв алфавита. Каждое отверстие обозначалось своей буквой; буквы по отверстиям располагались в произвольном порядке. К линейке была прикреплена катушка с намотанной на неё ниткой. Рядом с катушкой имелась прорезь. При шифровании нить протягивалась через прорезь, а затем через отверстие, соответствующее первой букве шифруемого текста, при этом на нити завязывался узелок в месте прохождения её через отверстие; затем нить возвращалась в прорезь и аналогично зашифровывалась вторая буква текста и т. д. После окончания шифрования нить извлекалась и передавалась получателю сообщения. Получатель, имея идентичную линейку, протягивал нить через прорезь до отверстий, определяемых узлами, и восстанавливал исходный текст по буквам отверстий. Такой шифр является одним из примеров шифра замены: когда буквы заменяются на расстояния между узелками с учетом прохождения через прорезь. Ключом шифра являлся порядок расположения букв по отверстиям в линейке. Посторонний, получивший нить (даже имея линейку, но без нанесенных на ней букв), не сможет прочитать передаваемое сообщение.
1Розеттский камень — плита из гранодиорита, найденная в 1799 г. в Египте возле небольшого города Розетта (теперь Рашид), недалеко от Александрии, с выбитыми на ней тремя идентичными по смыслу текстами, в том числе двумя на древнеегипетском языке и одним на древнегреческом языке. Древнегреческий был хорошо известен лингвистам, и сопоставление трёх текстов послужило отправной точкой для расшифровки египетских иероглифов.
2.3. Формальная криптография
Этап формальной криптографии (конец XV – начало XX вв.) связан с появлением формализованных и относительно стойких к ручному криптоанализу шифров. В европейских странах это произошло в эпоху Возрождения, когда развитие науки и торговли вызвало спрос на надежные способы защиты информации.
К концу XIV в. между итальянскими городами-государствами в переписке уже применялись «номенклаторы»2 (лат. nomen — «имя» и calator — «раб», «слуга»). Они состояли из кодовых обозначений для слогов, слов и имен, а также алфавитов шифрозамен. Вплоть до XIX в. номенклаторы оставались самой широко используемой системой сокрытия содержания сообщений [43].
Симеоне де Крема (Simeone de Crema) был первым (1401 г.), кто использовал таблицы омофонов для сокрытия частоты появления гласных в тексте при помощи более чем одной шифрозамены (шифры многозначной замены).
Отцом западной криптографии называют учёного эпохи Возрождения Леона Баттисту Альберти. Изучив методы вскрытия использовавшихся в Европе моноалфавитных шифров (шифров однозначной замены), он попытался создать шифр, который был бы устойчив к частотному криптоанализу. Его «Трактат о шифрах» был представлен в папскую канцелярию в 1466 г. и считается первой научной работой по криптографии. Он предложил вместо единственного секретного алфавита, как в моноалфавитных шифрах, использовать два или более, переключаясь между ними по какому-либо правилу (полиалфавитные шифры).
Рис.2.6. Фрагмент первой страницы «Трактата о шифрах» Леона Баттисто Альберти
Однако флорентийский учёный так и не смог оформить своё открытие в полную работающую систему, что было сделано уже его последователями (Блез Вижинер).
Другой работой, в которой обобщены и сформулированы известные на тот момент алгоритмы шифрования, является труд «Полиграфия» (1518 г.) немецкого аббата Иоганна Трисемуса (Тритемия). Он же первым заметил, что шифровать можно и по две буквы за раз — биграммами (хотя первый биграммный шифр Playfair был предложен лишь в XIX веке).
Рис.2.7. Первый печатный труд по криптографии — «Полиграфия» Иоганна Трисемуса [Национальный музей криптографии, США]
В 1550 г. итальянский математик Джероламо Кардано, состоящий на службе у папы римского, предложил новую технику шифрования — решётку Кардано. Этот способ сочетал в себе как стеганографию (искусство скрытого письма), так и криптографию. Затруднение составляло даже понять, что сообщение содержит зашифрованный текст, а расшифровать его, не имея ключа (решётки) в то время было практически невозможно. Решётку Кардано считают первым транспозиционным шифром, или, как ещё называют, геометрическим шифром, основанным на положении букв в шифротексте.
Значительный толчок криптографии дало изобретение телеграфа. Сама передача данных перестала быть секретной, и сообщение, в теории, мог перехватить кто угодно. Интерес к криптографии возрос, в том числе, и среди простого населения, в результате чего многие попытались создать индивидуальные системы шифрования. Преимущество телеграфа было явным и на поле боя, где командующий должен был отдавать немедленные приказы на поле сражения, а также получать информацию с мест событий. Это послужило толчком к развитию полевых шифров.
В 1863 г. Фридрих Касиски (англ. Friedrich Kasiski) опубликовал метод, впоследствии названный его именем, позволявшим быстро и эффективно вскрывать практически любые шифры того времени, в т.ч. полиалфавитные. Метод состоял из двух частей — определение периода шифра и дешифровка текста с использованием частотного криптоанализа.
Рис.2.8. Титульный лист «Тайнописи и искусства дешифрования» Фридриха Касиски
В 1883 г. голландец Огюст Керкгоффс3 опубликовал труд под названием «Военная криптография» (фр. «La Cryptographie Militaire»). В нём он описал шесть требований, которым должна удовлетворять защищённая система. Хотя к некоторым из них стоит относиться с подозрением, стоит отметить труд за саму попытку:
1. шифр должен быть физически, если не математически, невскрываемым;
2. система не должна требовать секретности, на случай, если она попадёт в руки врага;
3. ключ должен быть простым, храниться в памяти без записи на бумаге, а также легко изменяемым по желанию корреспондентов;
4. зашифрованный текст должен (без проблем) передаваться по телеграфу;
5. аппарат для шифрования должен быть легко переносимым, работа с ним не должна требовать помощи нескольких лиц;
6. аппарат для шифрования должен быть относительно прост в использовании, не требовать значительных умственных усилий или соблюдения большого количества правил.
Им же был сформулирован известный «принцип Керкгоффса» — правило разработки криптографических систем, согласно которому в засекреченном виде держится только определённый набор параметров алгоритма, называемый ключом, а сам алгоритм шифрования должен быть открытым. Другими словами, при оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.
Рис.2.9. Титульный лист брошюры «Военная криптография» Огюста Керкгоффса
В 1920 г. вышла монография американского криптографа российского происхождения Уильяма Ф. Фридмана «Индекс совпадения и его применение в криптографии» (англ. «Index of Coincidence and Its Applications in Cryptography»). Работа вышла в открытой печати, несмотря на то, что была выполнена в рамках военного заказа. Двумя годами позже Фридман ввёл в научный обиход термины криптология и криптоанализ [13].
Рис.2.10. «Индекс совпадения и его применение в криптографии» Уильяма Фридмана
Криптография оказала влияние и на литературу. Упоминания о криптографии встречаются ещё во времена Гомера и Геродота, хотя они описывали искусство шифрования в контексте различных исторических событий. Первым вымышленным упоминанием о криптографии можно считать роман «Гаргантюа и Пантагрюэль» французского писателя XVI века Франсуа Рабле, в одной из глав которого описываются попытки чтения зашифрованных сообщений. Упоминание встречается и в «Генрихе V» Шекспира. Впервые как центральный элемент художественного произведения криптография используется в рассказе «Золотой жук» Эдгара Аллана По 1843 г. В нём писатель не только показывает способ раскрытия шифра, но и результат, к которому может привести подобная деятельность — нахождение спрятанного сокровища. Одним из лучших описаний применения криптографии является рассказ 1903 г. Артура Конан Дойля «Пляшущие человечки». В рассказе великий сыщик Шерлок Холмс сталкивается с разновидностью шифра, который не только прячет смысл написанного, но, используя символы, похожие на детские картинки, скрывает сам факт передачи секретного сообщения. В рассказе герой успешно применяет частотный анализ, а также предположения о структуре и содержании открытых сообщений для разгадывания шифра.
Перед началом Второй мировой войны ведущие мировые державы имели электромеханические шифрующие устройства, результат работы которых считался невскрываемым. Эти устройства делились на два типа — роторные машины и машины на цевочных дисках. К первому типу относят «Энигму», использовавшуюся войсками Германии и её союзников, второго типа — американская M-209. В СССР производились оба типа машин.
Энигма 1 (Германия) | М-209 (США) | Коралл (СССР) |
Рис.2.11. Шифровальные устройства [en.wikipedia.org, www.cryptomuseum.com]
Успешные криптоатаки на подобного рода криптосистемы стали возможны только с появлением ЭВМ.
2Первоначально номенклатором назывался раб, который обязан был знать и называть своему господину имена граждан города и всех рабов в доме, а также провозглашать названия подаваемых кушаний.
3Огюст Керкгоффс (Auguste Kerckhoffs, 1835 — 1903 гг.) — голландский лингвист и криптограф, профессор Парижской высшей школы коммерции во второй половине XIX века. В русских источниках встречаются разные переводы фамилии — Керкхофф, Кирхгоф, Керкгоффс, Керхофс, Керкхоффс. Полное имя, полученное при крещении, — Жан Вильгельм Губерт Виктор Франсуа Александр Огюст Керкгоффс фон Ниувенгоф [17, 43].
2.4. Математическая криптография
После Первой мировой войны правительства стран засекретили все работы в области криптографии. К началу 1930-х годов окончательно сформировались разделы математики, являющиеся основой для будущей науки: общая алгебра, теория чисел, теория вероятностей и математическая статистика. К концу 1940-х годов построены первые программируемые счётные машины, заложены основы теории алгоритмов, кибернетики. Тем не менее, в период после Первой мировой войны и до конца 1940-х годов в открытой печати было опубликовано совсем немного работ и монографий, но и те отражали далеко не самое актуальное состояние дел. Наибольший прогресс в криптографии достигается в военных ведомствах.
Ключевой вехой в развитии криптографии является фундаментальный труд Клода Шеннона «Теория связи в секретных системах» (англ. Communication Theory of Secrecy Systems) — секретный доклад, представленный автором в 1945 г., и опубликованный им в «Bell System Technical Journal» в 1949 г. В этой работе, по мнению многих современных криптографов, был впервые показан подход к криптографии в целом как к математической науке.
Рис.2.12. Сборник со статьей «Теория связи в секретных системах» Клода Шеннона
В 1960-х годах начали появляться различные блочные шифры, которые обладали большей криптостойкостью по сравнению с результатом работы роторных машин. Однако они предполагали обязательное использование цифровых электронных устройств — ручные или полумеханические способы шифрования уже не использовались.
В 1967 г. выходит книга Дэвида Кана «Взломщики кодов». Хотя книга не содержала сколько-нибудь новых открытий, она подробно описывала имеющиеся на тот момент результаты в области криптографии, большой исторический материал, включая успешные случаи использования криптоанализа, а также некоторые сведения, которые правительство США полагало всё ещё секретными. Но главное — книга имела заметный коммерческий успех и познакомила с криптографией десятки тысяч людей. С этого момента начали понемногу появляться работы и в открытой печати.
Рис.2.13. Обложка первого издания «Взломщиков кодов» Дэвида Кана
Примерно в это же время Хорст Фейстель переходит из Военно-воздушных сил США на работу в лабораторию корпорации IBM. Там он занимается разработкой новых методов в криптографии и разрабатывает ячейку Фейстеля, являющуюся основой многих современных шифров, в том числе шифра Lucifer, ставшего прообразом шифра DES – бывшего стандарта шифрования США, первого в мире открытого государственного стандарта на шифрование данных. На основе ячейки Фейстеля были созданы и другие блочные шифры, в том числе TEA (1994 г.), Twofish (1998 г.), IDEA (2000 г.), а также бывший (ГОСТ 28147-89) и действующий (ГОСТ 34.12-2015) российские стандарты шифрования.
В 1976 г. публикуется работа Уитфилда Диффи и Мартина Хеллмана «Новые направления в криптографии» (англ. «New Directions in Cryptography»). Данная работа открыла новую область в криптографии, теперь известную как криптография с открытым ключом. Также в работе содержалось описание алгоритма Диффи — Хеллмана — Меркла, позволявшего сторонам сгенерировать общий секретный ключ, используя открытый канал связи.
Рис.2.14. Начало статьи «Новые направления в криптографии» Уитфилда Диффи и Мартина Хеллмана
Хотя работа Диффи-Хеллмана создала большой теоретический задел для открытой криптографии, первой реальной криптосистемой с открытым ключом считают алгоритм RSA (названный по имени авторов — Рон Ривест (R. Rivest), Ади Шамир (A. Shamir) и Леонард Адлеман (L. Adleman)). Опубликованная в августе 1977 г., работа позволила сторонам обмениваться секретной информацией, не имея заранее выбранного секретного ключа. Стоит отметить, что и алгоритм Диффи — Хеллмана — Меркла, и RSA были впервые открыты в английских спецслужбах, но не были ни опубликованы, ни запатентованы из-за секретности.
В России для шифрования с открытым ключом стандарт отсутствует, однако для электронной цифровой подписи (органически связанной с шифрованием с открытым ключом) принят ГОСТ Р 34.10-2001 (ГОСТ Р 34.10-2012), использующий криптографию на эллиптических кривых.
Создание асимметричных криптосистем подтолкнуло математиков и криптоаналитиков к изучению способов факторизации, дискретного логарифмирования, операций над эллиптическими кривыми в конечном поле и т.д.
Относительно новым методом является вероятностное шифрование. Вероятностное шифрование предложили Шафи Гольдвассер (Goldwasser) и Сильвио Микэли (Micali). Шифрование было названо «вероятностным» в связи с тем, что один и тот же исходный текст при шифровании с использованием одного и того же ключа может преобразовываться в совершенно различные шифротексты. При использовании криптосистем с открытым ключом существует возможность подбора открытого текста сопоставлением перехваченного шифротекста с результатом шифрования. Вероятностное шифрование позволяет на порядки увеличить сложность такого вида атаки.
Чарльз Беннет (Charles Bennet) и Жиль Брассард (Gilles Brassard), опираясь на работу Стивена Уиснера (Stephen Wiesner), разработали теорию квантовой криптографии, которая базируется скорее на квантовой физике, нежели на математике. Процесс отправки и приёма информации выполняется посредством объектов квантовой механики (например, при помощи электронов в электрическом токе, или фотонов в линиях волоконно-оптической связи). Основанная на принципах квантовой механики, эта система, в отличие от обычной криптографии, теоретически позволяет гарантированно защитить информацию от злоумышленника, даже если тот обладает самой современной технологией и неограниченными вычислительными мощностями. На данный момент, разрабатываются только прототипы квантовых криптосистем.
В то же время эффекты квантовой физики, возможно, смогут использоваться и для криптоанализа. Если будут построены квантовые компьютеры, то это поставит под вопрос существование современной криптографии.
Применение криптографии в решении вопросов аутентификации, целостности данных, передачи конфиденциальной информации по каналам связи и т.п. стало неотъемлемым атрибутом информационных систем. В современном мире криптография находит множество различных применений — она используется в сотовой связи, платном цифровом телевидении, при подключении к Wi-Fi, для защиты билетов от подделок на транспорте, в банковских операциях, в системах электронных платежей и т.д.
Вопросы для самопроверки
1. Назовите основные этапы развития криптографии.
Что такое криптография?
Криптография — комплексная наука о защите
информации. Криптография необходима для того, чтобы безопасно
передавать информацию по открытым каналам связи (например,
Интернету) таким образом, что она не будет доступна никому, кроме
того лица, для кого она предназначена. Важной в стратегическом
плане информацией являются конфиденциальные документы (договора,
соглашения, номера банковского счета и др. ), деловая и личная
переписка. Безопасность передаваемых данных обеспечивается за счет
шифрования данных и их электронной цифровой подписи при помощи
ключевой пары.
Ключевая пара — открытый и
закрытый ключи, которые используются для шифрования и ЭЦП
данных.
В современной криптографии криптографические
системы подразделяются на два класса, в зависимости от количества
используемых ключей:
- симметричные криптосистемы (одноключевые)
- асимметричные криптосистемы (двухключевые)
Ключи, используемые в одноключевых и
двухключевых криптосистемах, называются, соответственно,
симметричными и асимметричными.
Симметричные криптосистемы
Пользователь использует один и тот же закрытый
ключ как для зашифрования, так и для расшифрования данных.
Особенности — быстрая скорость передачи данных и, одновременно,
сложность в безопасной и надежной передаче закрытого ключа на
сторону получателя зашифрованной информации.
Асимметричные криптосистемы
У каждого пользователя есть два ключа — открытый
и закрытый (секретный), один из которых используется для
шифрования, а другой — для расшифрования информации. Шифрование
осуществляется с помощью открытого ключа, расшифрование должно
осуществляться с помощью парного ему закрытого.
Закрытый и открытый ключи определенным образом
связаны между собой и генерируются одновременно. Закрытый ключ
доступен только самому владельцу и хранится в тайне, а открытый
ключ может распространяться свободно и известен всем лицам, с кем
владелец поддерживает обмен защищенной информацией.
Информационная безопасность асимметричных
криптосистем основывается на том, что знание открытого ключа не
позволяет по нему определить парный закрытый ключ.
Основное применение асимметричных криптосистем —
создание/проверка электронной цифровой подписи и асимметричное
шифрование.
Что такое криптография? | Типы и преимущества криптографии
Что такое криптография?
Термин «криптография» относится к упражнению и подробному изучению стратегий, чтобы защитить важные данные, а также общение против проявления противников.
Согласно компьютерной науке, криптография — это все о защите данных и коммуникационных стратегий, которые получены из сети вычислений на основе правил и математических теорий, известных как «Алгоритмы». Этот процесс приводит к преобразованию сообщений различными способами, которые нелегко декодировать. Эти детерминированные алгоритмы играют жизненно важную роль в генерации криптографического ключа, цифровой подписи и верификации. Это в конечном итоге защищает данные, просматривая в Интернете. Это также помогает в защите конфиденциальных сообщений, таких как транзакции с помощью кредитных карт, электронной почты и т. Д.
Определение
Концепция предотвращения передачи данных и сообщений путем использования кодов с целью создания платформы, информация которой предназначена, должна иметь доступ для чтения и обработки, называется криптографией. Здесь термин «Склеп» относится к «скрытому / хранилищу», а термин «граф» означает «письмо».
понимание
Криптография — это приложение для обеспечения безопасности и защиты информации и коммуникационных процессов от многочисленных подозрительных, а также злонамеренных третьих лиц — противников. Здесь шифрование и ключ выбираются для преобразования открытого входного текста в выходной зашифрованный текст, который зашифрован. Конкретный алгоритм всегда генерирует один и тот же зашифрованный текст путем эффективного преобразования одного и того же открытого текста столько раз, сколько используется один и тот же ключ.
Какова цель и преимущества криптографии?
Традиционная криптография не была способна удовлетворить потребности организаций, когда дело доходит до защиты их данных и других конфиденциальных вопросов. Но криптография нового века обладает способностью стоять на высоком уровне и эффективно выполнять следующие четыре задачи:
1. Конфиденциальность в лучшем виде
Данные могут быть подтверждены любым другим лицом, для которого они были и являются непреднамеренными. Защита конфиденциальных данных, в которые входит даже личная информация людей, является одним из важных моментов использования криптографии. Это твердо держит бразды правления конфиденциальностью и другими проблемами, связанными с анонимностью, тем самым уменьшая возможности, предоставляемые преступникам и поддельным объектам надзора, для декодирования конфиденциальной информации.
2. Поддержание целостности
Без обнаружения какой-либо подозрительной активности данные не могут быть изменены в хранилище или транзите в отношении отправителя, а также предполагаемого получателя. Выявляя конфиденциальную информацию, хакер может не только злоупотребить ею, но и заставить ее совершить серьезное мошенничество. Криптография позволяет профессионалам с наборами навыков изменять зашифрованную информацию. Это лекарство может быть распознано получателями с момента его изменения. Это помогает поддерживать целостность предприятия и дает ему возможность быстро реагировать на это киберпреступление.
3. Выдающийся отказ от участия
С помощью криптографии источник информации никогда не может отрицать свои намерения относительно создания / передачи данных на более позднем этапе.
4. Защита аутентификации и данных на разных устройствах
Криптография предлагает отправителю и получателю возможность идентифицировать и подтвердить личность, а также источник / место назначения данных. В современном современном мире мобильные устройства прошли долгий путь, став неотъемлемой частью человека, предоставляя им функции передачи и хранения информации. Криптография помогает защищать и хранить информацию на всех типах мобильных устройств при их передаче. Помимо всего этого, он также включает процедуры безопасности, такие как расширенная аутентификация, которая помогает удерживать неавторизованных клиентов.
Типы криптографии
Поскольку криптография развивается из дисциплин информатики, математики, электротехники и многого другого, она применяется в различных секторах, таких как электронная коммерция, цифровые валюты, платежные карты на основе чипов и многое другое! Основываясь на функциональности, существуют различные виды алгоритмов и ключей криптографии, которые обсуждаются ниже:
1. Криптография с секретным ключом: в основном используется для обеспечения конфиденциальности и безопасности, для шифрования и дешифрования используется один ключ. Это также широко известно как криптография с симметричным ключом. В этом процессе, используя ключ, отправитель может зашифровать открытый текст, который идет как зашифрованный текст. На конце получателя, используя тот же ключ, сообщение расшифровывается в открытый текст.
2. Криптография с открытым ключом: в основном используется для аутентификации, открытый ключ или асимметричное шифрование выполняется с использованием одного ключа для шифрования и другого ключа для дешифрования. В этом сценарии открытый ключ используется для шифрования сообщений, а получатель имеет закрытый ключ для расшифровки сообщения.
3. Хэш-функции: в основном реализованные с целью обеспечения целостности сообщения, вместо ключей, эта функция использует математический алгоритм для шифрования сообщения. Наиболее распространенными примерами алгоритмов хеширования в современной среде являются SHA-1 и MD5.
пример
Давайте создадим сценарий, чтобы понять концепцию криптографии. Предполагая, что человек A отправил текстовое сообщение своему другу B, который живет в другой стране через публичную платформу. Тем не менее, человек по имени C взламывает безопасность коммуникационного курса и изменяет сообщение с A и перенаправляет его на человека B. Именно здесь в картину вступает понятие криптографии.
Теперь А использует ключ для шифрования того же сообщения и отправляет по той же общедоступной платформе, однако на этот раз никто не сможет декодировать сообщение как зашифрованное. Получатель B будет использовать свой ключ дешифрования, чтобы снова преобразовать сообщение в читаемый формат. И даже если C взломает канал связи на полпути, и он изменит сообщение, B получит информацию об ошибке, когда попытается расшифровать то же сообщение.
Как используется криптография?
Основная цель криптографии — обеспечить подлинность и целостность сообщения. Концепция наличия электронных ключей в сети связи заключается в том, чтобы передаваемые данные достигали получателя без каких-либо помех. С помощью защищенных компьютерных систем отправитель теперь может расшифровать информацию с помощью криптографических ключей и алгоритмов.
Зачем нам нужна криптография?
Всякий раз, когда происходит обмен данными по электронной сети, обязательные требования безопасности выполняются криптографией. Основными элементами, которые создают платформу для криптографии, являются:
- Конфиденциальность
- Неотрекаемость
- Аутентификация
- целостность
Различные криптографические ключи и алгоритмы доступны для удовлетворения потребностей различных действий. Криптография играет важную роль в финансовых операциях, информации, связанной с безопасностью, администрировании, законодательстве и т. Д., Где бы ни происходило электронное общение.
Как эта технология поможет вам в развитии вашей карьеры?
Концепция криптографии процветала за последние 4-5 лет. Крупные компании, такие как Uber, eBay, GEICO и многие другие, ищут специалистов, имеющих опыт в этой технологии. Начиная с менеджеров, разработчиков, специалистов по обработке данных и других, эта технология имеет широкий спектр возможностей для трудоустройства молодых специалистов.
Вывод
Наш мир продвигается быстрее, чем когда-либо прежде, и легко упустить из виду основополагающие элементы технологии, которые позволяют нам жить так, как мы. Криптография превратилась из техники, используемой для общения с военными, в один из краеугольных камней современного мира. Благодаря инновациям и достижениям криптография может вывести мир на новый уровень.
Рекомендуемая статья
Это было руководство к тому, что такое криптография. Здесь мы обсудили понятия, определения, использование и типы с преимуществом криптографии. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше:
- Что такое кибербезопасность?
- Что такое безопасность сети?
- Что такое технология блокчейн?
- Что такое многопоточность в Java?
- Типы шифров
Криптографическая защита информации | КАРМА
Предназначена для реализации в прикладном программном обеспечении функций криптографической защиты информации – применения электронной подписи документов и шифрования.
Главная функция продукта «КАРМА» – обеспечение применения ЭП и шифрования, в том числе в юридически значимом электронном документообороте.
Может применяться практически в любых программных продуктах, где необходимо использование средств криптозащиты. Это системы:
«КАРМА» может применяться непосредственно пользователем MS Windows для подписания и шифрования файлов в проводнике MS Windows.
Зачем она нужна, что умеет?
Этот продукт предназначен для удобства всех, кто хочет подписывать файлы ЭП непосредственно из проводника Windows, а также встроить работу с ЭП в новые или модифицировать уже эксплуатируемые программы. Таким образом, решение удобно как пользователям, так и программистам.
Главное достоинство системы — то, что она берет на себя сложные, требующие определенных знаний, функции общения со средствами криптозащиты информации (СКЗИ) и хранилищами сертификатов.
Для обычного пользователя она предоставляет визуальный интерфейс с набором команд, а для программиста – COM интерфейс с набором высокоуровневых операций работы с электронной подписью и сертификатами. Обычному пользователю или программисту достаточно иметь общие представления о применении ЭП, не зная особенностей криптографии. Чтобы использовать функционал цифровой подписи документов и шифрования программного продукта «КАРМА», достаточно изучить представленный на данном сайте материал.
Это простая в управлении многофункциональная система. Она может работать с ЭП, сертификатами, шифровать, а также расшифровывать данные, добавлять в состав подписи графические изображения. Она позволяет использовать весь функционал электронной подписи, существенно расширяя возможности ее применения.
Её важная особенность — возможность добавления в состав ЭП факсимиле (изображения собственноручной подписи). Эти факсимиле можно проставлять в цифровом варианте документа на тех же местах, где он подписывается на бумаге. Факсимильная подпись будет надежно защищена от подделок, а выглядеть будет так же, как на привычном бумажном экземпляре. Такой документ будет скреплен не только малопонятной, «невидимой» человеку цифровой, но и «живой» подписью, введенной при помощи сенсорного экрана планшетного устройства, то есть будет выглядеть так же, как в бумажном виде.
Система также дает возможность ввода изображения печатей, штампов. Вы можете использовать в цифровой копии документа изображения привычных штампов и печатей на тех же местах, где их принято ставить на бумаге. Визуально на экране компьютера такие электронные копии становятся практически неотличимыми от бумажных. Возможно проставлять факсимиле на фоне печати.
«КАРМА» позволяет также создать рукописный «стикер» – подобно наклейке, прикрепляемой к бумажному экземпляру. «Стикер» может содержать краткие комментарии, замечания или поручения. Таким образом, технология работы с электронным документом может быть максимально приближена к привычной работе с бумажным носителем.
позволяет также создать рукописный «стикер» – подобно наклейке, прикрепляемой к бумажному экземпляру. «Стикер» может содержать краткие комментарии, замечания или поручения. Таким образом, технология работы с электронным документом может быть максимально приближена к привычной работе с бумажным носителем.Система криптографической защиты «КАРМА» не требует специфических знаний по криптографии не только ни от обычного пользователя, ни от программиста или системного администратора. Все сложности в работе с криптографическими механизмами она берет на себя. Это становится возможным, так как используется высокоуровневый интерфейс и для обычного пользователя, и для программиста. Решение позволяет быстро и надежно дополнить любую прикладную разработку средствами криптозащиты.
Еще одно достоинство системы криптографической защиты «КАРМА» – то, что это тиражируемый продукт российского разработчика. Это означает учет особенностей российских криптопровайдеров, а также низкую цену.
«КАРМА» для пользователей
Для обычного пользователя «КАРМА» — персональная «шифровальная машина», не требующая никаких специальных знаний, использующая интуитивно-понятный интерфейс, встроенный в Проводник Windows.
Для ее использования желательно ознакомиться с азами организации применения ЭП и шифрования. Об этом можно прочитать в разделе «Что надо знать для применения ЭП и шифрования». .
После установки системы на компьютер пользователя он сразу же сможет применять все ее возможности для подписания и шифрования файлов прямо из меню проводника Windows.
«КАРМА» для разработчиков
Для разработчиков–программистов система криптографической защиты «КАРМА» – это инструментальное средство, обеспечивающие возможность встраивания и использования средств криптозащиты информации на уровне COM – интерфейса практически в любое прикладное программное обеспечение. Основные сведения приведены в разделе «Карма» для разработчика.
После установки системы на компьютер разработчика он сразу же сможет использовать все ее возможности для программирования работы с электронной подписью документов и шифрованием в среде Windows.
Аппаратные модули безопасности
Применение в информационных системах
- Криптография и повышенная безопасность
- Стратегия применения Аппаратных Модулей Безопасности
- Семейство АМБ компании nCipher
- Выделенные АМБ и АМБ коллективного доступа
- Применение различных схем и развитие систем
- Платформа Security World
- Обеспечение безопасности приложений в информационных системах
- Семейство Модулей Безопасности nCipher
Под воздействием Интернета, сделавшего информацию доступной как никогда прежде, бизнес перестраивается. Организации создают открытые системы, объединяя в едином информационном пространстве своих служащих, потребителей, поставщиков и партнеров. То, что раньше занимало дни и стоило десятки долларов, теперь делается за секунды и центы. В то же время, требование бизнеса сделать информацию доступной в любое время из любого места ведет к необходимости пересмотра представлений о методах защиты периметра.
Современные тенденции заключаются в усилении аутентификации пользователей и объектов, защите интеллектуальной собственности и конфиденциальной информации о клиентах вне зависимости от того, как она создана, где хранится и как передается.
Криптография и повышенная безопасность
Самый надежный способ, к которому все чаще прибегают разработчики программного обеспечения и архитекторы систем — это применение криптографии для идентификации объектов, защиты и обеспечения целостности данных. Опыт показывает, что правильно построенная система криптографической защиты практически неуязвима. В то же время криптография основана на использовании ключей, и компрометация ключей или системы управления ими приведет к разрушению всей системы безопасности. Было бы неправильно расчитывать на то, что ключи, размещенные на серверах общего назначения достаточно защищены. Там, где для защиты конфиденциальных данных используется криптография, наилучшим решением будет применение усиленных мер защиты ключей. Наиболее безопасным является хранение ключей в Аппаратных Модулях Безопасности (АМБ)- Hardware Security Module (HSM).
В Аппаратных Модулях производства nCipher применяется технология хранения ключей в специально выделенной защищенной области. Все АМБ nCipher соответствуют уровню FIPS 140-2 — принятому в отрасли стандарту безопасности для подобных устройств.
Стратегия применения Аппаратных Модулей Безопасности
Применение АМБ позволяет создать почти совершенную систему криптографической защиты. Вместе с тем, их функция значительно шире чем просто защита ключевого материала от посягательств.
При правильном внедрении, Модули Безопасности создадут масштабируемый и одновременно прочный фундамент криптографической защиты, который может быстро и адекватно адаптироваться к постоянно изменяющемуся информационному окружению.
Каждая организация использует свой собственный набор приложений с соответствующими требованиями к производительности и безопасности. Со временем эти приложения приходится приспосабливать к новым требованиям и новым технологиям, а также защищать от новых угроз. Для решения этих задач nCipher создал семейство Аппаратных Модулей Безопасности.
Семейство АМБ компании nCipher
В основе технологии АМБ лежит общая платформа управления ключами, получившая название nCipher’s Security World. Ее суть заключается в том, что все АМБ должны быть полностью совместимы между собой и, при необходимости, формировать систему, полностью отвечающую требованиям обеспечения безопасности и управляемости и соответствовать финансовым возможностям организации.
Гибкость в конфигурировании гарантирует защиту вложений в существующую инфраструктуру, а возможность оперативно перегруппировывать и перенастраивать Модули по мере развития инфраструктуры — ее постоянную и адекватную защиту.
nCipher постоянно работает над обеспечением совместимости Модулей Безопасности с Веб-серверами, серверами приложений , решениями PKI и другим программным обеспечением ведущих производителей. Кроме того, nCipher полностью поддерживает стандартные API — такие как PKCS#11 и MS CAPI.
Все АМБ снабжены специальными процессорами для криптографических преобразований, что прозволяет освободить ресурсы информационной системы для основных приложений.
Выделенные АМБ и АМБ коллективного доступа
Модули безопасности существуют в двух вариантах: выделенные — непосредственно подключаемые к индивидуальному серверу, и сетевые — коллективного доступа, способные обслуживать несколько серверов.
Выделенные АМБ, а это nShield, nForce и payShield, выполняют криптографические операции и используются в качестве криптографических ускорителей для одного сервера. Они предназначены в основном для серверов критических приложений, таких, как корневые Удостоверяющие Центры (здесь их основная функция — защита частного ключа УЦ), или для серверов, обрабатывающих большие объемы зашифрованных данных — как, например, SSL — веб-серверы с большим объемом трафика.
Сетевой АМБ — netHSM — представляет собой высоко защищенное сетевое устройство, способное обслуживать несколько серверов одновременно.
Доступ приложений к хранящимся на netHSM ключам осуществляется по защищенному соединению. Применение netHSM позволяет построить экономически эффективные (в том числе и с точки зрения администрирования) схемы обеспечения безопасности для сложных гетерогенных и/или территориально распределенных систем.
Применение различных схем и развитие систем
Как правило, в составе информационной системы организации присутствует несколько различных подсистем, требующих применение криптографии. Применение АМБ может начинаться с пилота, когда для каждой из подсистем используется выделенный Модуль. По мере объединения пилотов и перевода их в промышленную эксплуатацию, подсистемы могут подключаться к сетевым Модулям, что обеспечит централизованное управление и позволит охватить географически распределенные структуры. С ростом системы, высвобождающиеся Модули могут использоваться для резервирования и повышения ее устойчивости.
Платформа Security World
Концепция Security World предусматривает такую систему управления ключами, которая могла бы обеспечить масштабируемость, гибкость и надежность при эксплуатации. Этот подход дает возможность управлять неограниченным количеством ключей в течение всего жизненного цикла — начиная с их создания, резервирования, восстановления, и заканчивая уничтожением.
Наличие единой платформы обеспечивает выполнение всего спектра требований к функциональности Модулей nCipher а также их совместимости между собой:
- Безопасность
- Масштабируемость
- Разделение функций
- Гибкость
- Обеспечение безопасности приложений в информационных системах
Продукты семейства АМБ nCipher предназначены для защиты критического ключевого материала используемого в информационных системах организации. Они представляют собой наилучшие промышленные решения класса FIPS 140-2, закрывая доступ к конфиденциальной информации на любой стадии ее создания, обработки, передачи и хранения:
- Web — инфраструктура
Защита SSL-ключей от компрометации — жизненно важный элемент функционированния веб-серверов и сетевых устройств. Аппаратные модули безопасности nCipher сочетают в себе функцию мощных устройств для производства криптографических операций с наилучшим в отрасли решением по управлению безопасностью, перенося хранение и обработку частных SSL-ключей из уязвимой для атак программной в аппаратно защищенную область.
- Приложения
- Платежные системы
- Базы данных
Конструкция всех Модулей Безопасности гарантирует отсутствие уязвимостей на всех стадиях обработки ключевой информации. Все криптографические операции производятся в защищенной области АМБ и соответствуют требованиям предъявляемым к устройствам уровня 3 FIPS 140-2. Для дополнительной аутентификации, разделения ролей и разграничения ответственности администраторов регламент может предусматривать применение специального комплекта смарт карт. На практике это означает, что для авторизации определенных криптографических или административных операций, администраторы должны предъявить ‘k’ из общего числа ‘n’ карт. Такой подход обеспечивает выполнение требований политики безопасности и гарантирует организацию от недобросовестных действий одного “суперпользователя”.
Один из способов хранения ключей приложений — хранение их в виде зашифрованных “блобов” вне АМБ. Таким образом снимается ограничение на количество ключей в системе. Кроме того, это упрощает загрузку ключей в новые АМБ и облегчает доступ к ним серверов приложений. В случае же netHSM, доступ к которому имеют сразу несколько приложений, возможность снять ограничение на количество ключей является критичной.
Права доступа к каждому ключу хранящемуся в АМБ определяются отдельным списком контроля доступа — Access Control List (ACL). Регламентами может быть предусмотрена дополнительная аутентификация доступа с помощью набора операторских смарт карт. Это позволяет обеспечить выполнение требований безопасности, соответствующих важности данного ключа. Совокупность этих мер гарантирует индивидуальный контроль за выполнением установленных политик использования как отдельных ключей, так и их групп. Более того, определенный ключ может использоваться только для определенного сервера и только после проведения процедуры строгой аутентификации этого сервера.
Платформа Security World гарантирует отсутствие уязвимостей при любой конфигурации системы. Для обеспечения отказоустойчивости определенные Модули могут быть продублированы либо сетевыми, либо выделенными устройствами. В случае повреждения или кражи Модуля, ключи можно восстановить, установив на его место новый. Кроме того платформа управления Security World предусматривает применение набора средств для резервного копирования и восстановления.
Кроме защиты ключей, АМБ nShield и netHSM могут применяться и для защиты приложений. Использование незащищенного программного обеспечения для обработки закрытой информации порождает значительные риски. По мере того, как все большее количество приложений становится доступно удаленно, их защита от злоумышленников становится так же важна, как и защита ключевого материала. Комплект разработчика CodeSafe™ позволяет обеспечить такую защиту, предоставляя набор инструментов для защиты исполняемого кода, аутентификации и авторизации доступа, ведения журналов, простановки меток времени и цифровой подписи.
Серверы приложений, обрабатывающие конфиденциальную информацию и формирующие системы информационной безопасности, такие как например, PKI, являются основой информационной системы предприятия. Здесь Аппаратные модули безопасности применяются для защиты данных, ключей подписи и контроля целостности программного кода.
Применение АМБ является обязательным в таких системах как Visa и MasterCard. Спецификации 3-D Secure и SecureCode определяют Модули Безопасности как необходимые элементы для защиты криптографических операций связанных с аутентификацией владельцев пластиковых карт.
Вместе со специальным программным обеспечением Модули безопасности позволяют обеспечить выполнение требований законодательства к сохранению конфиденциальности информации баз данных.
Семейство Модулей Безопасности nCipher
netHSM™
Скачать описание (pdf, 1Мб).
Сетевой АМБ коллективного пользования — netHSM соответствует уровню 3 по FIPS 140-2. С помощью netHSM, по защищенным каналам, приложения могут осуществлять весь набор криптографических операций (подпись, шифрование) в IP-сетях. netHSM поддерживает широкий спектр приложений, включая веб-серверы и программное обеспечение реализующее технологию PKI. Технология Secure Execution Engine (SEE) позволяет запускать пользовательские приложения в защищенной зоне Модуля.
nShield™
Скачать описание (pdf, 400кб).
Выделенный АМБ, предназначенный прежде всего для обеспечения безопасности всех видов приложений — начиная с выпуска сертификатов в системах PKI и шифрования баз данных, и заканчивая системами, использующими цифровые сертификаты и протокол SSL. nShield производит криптографические операции и хранит ключи в защищенной от несанкционированного доступа области и соответствует уровню 3 по FIPS 140-2. nShield выпускается в виде внутреннего (PCI) или внешнего SCSI устройства.
nForce™
Выделенный АМБ для обеспечения SSL-соединений с веб-серверами и серверами приложений. nForce сочетает в себе функции устройства для безопасного хранения и управления ключами по FIPS 140-2 Level 2 и криптографического ускорителя с производительностью до 1600 TPS. nForce выпускается в виде внутреннего (PCI) или внешнего SCSI устройства.
payShield™
Это устройство уровня 3 по FIPS 140-2 удовлетворяет жестким требованиям предъявляемым к безопасности он-лайновых платежных систем — ePayments, EFTPOS и операций с банкоматами. payShield сочетает в себе функции устройства с наивысшим уровнем защиты ключевого материала со способностью выполнять большие объемы криптографических операций, связанных с аутентификацией и авторизацией владельцев пластиковых карт. payShield выпускается в виде сетевого устройства поддерживающего протокол Ethernet, сетевого устройства payShield net, либо в виде SCSI- устройства.
Средства разработки
Предназначены для создания собственных криптографически защищенных приложений. Средства разработки SafeBuilder™ позволяют создавать системы безопасности для приложений которые стандартно не поддерживают криптографию. Они включают SEE и позволяют организациям разработать собственный код который может быть загружен и выполнен в безопасной области АМБ.
Криптография — всё по этой теме для программистов
Основы криптографии: от математики до физики
Рассмотрим основы криптографии, поговорим о самых популярных шифрах и о том, как новое поколение криптографии связано с физикой.
Пошагово объясняем, как работает алгоритм хеширования SHA-2 (SHA-256)
Пошагово разбираемся в алгоритме хеширования SHA-2 (SHA-256) и показываем, как он работает, на реальном примере.
Какие рабочие данные нужно шифровать и как правильно это делать — подробное руководство
Данные на рабочих местах часто необходимо защищать. Однако нельзя взять и просто всё зашифровать. Разбираемся, как применить шифрование с толком.
Почувствуйте себя детективом: сможете разгадать эти 10 шифров и кодов?
Перед вами 10 задачек, связанных с шифрами, кодами и хешами. Попробуйте пройти все от простого шифра Цезаря до взлома хеш-функции!
В чём разница между шифрованием, кодированием и хешированием?
Шифрование, хеширование и кодирование очень похожи, но на самом деле каждое из них используется с определённой целью. Разбираемся, в чём разница.
Как и зачем переходить с SHA-1 на SHA-2 и почему это важно
Индустрия инфраструктуры открытых ключей (ИОК, англ. PKI — Public Key Infrastructure) рекомендует, чтобы любой объект инфраструктуры, использующий SHA-1, был переведён на более безопасный SHA-2. В этой статье описано, почему и…
ICANN собралась обновлять криптографические ключи: это сломает Интернет?
Такое происходит впервые с 2010 года, но паниковать не стоит — объясняем, почему.
До 13 мая проходит конкурс по криптографии, можно выиграть 5000 $
Стартап «Absolute», победитель Microsoft Imagine Cup Central Asia, проводит конкурс по криптографии. Первые 10 участников получат по 5 000 $ за расшифровку любого из пяти предложенных файлов.
Курс «Введение в информационную безопасность»
Русскоязычный курс, рассматривающий основные понятия, определения и задачи информационной безопасности, методы её обеспечения, вопросы криптографической защиты, программные уязвимости и их эксплуатацию, формальные модели безопасности и их приложение в ОС Linux.
Как сделать интернет вещей безопасным — объясняем простыми словами сложные криптографические схемы
Публикуем вторую статью Константина Жиданова с кафедры технологий защиты информации ГУАП, с которыми Tproger будет совместно участвовать в VK Fest 15–16 июля. На нашей площадке будет оборудована «квартира будущего» с активным применением…
Криптография для самых маленьких: шифрование с примерами на Python
Каждый человек, который пользуется компьютером или смартфоном, ежедневно сталкивается с криптографией: начиная от работы в интернете по протоколу HTTPS и заканчивая печально известными вирусами-шифровальщиками. Однако далеко не все понимают, как…
Простая и ужасающая история про шифрование — об Open Source, доверии и ответственности
Рассказывает Kacper Walanus, Senior-разработчик Ruby on Rails и тимлид в EL Passion Задача Я хотел написать простое приложение для шифрования и дешифрования сообщений. Алгоритм AES показался хорошим выбором, так что я начал с…
Шифрование в MD5 больше не безопасно: интерактивный тест на реальный взлом вашего пароля
«Все пароли нужно хранить, предварительно захэшировав их в MD5» — классика любой статьи по информационной безопасности. Но, к сожалению, в 2016 она давно потеряла свою актуальность, и всё уже не…
Материалы по криптографии
Многие программисты сталкиваются с такой дисциплиной, как криптография. А для так называемых «безопасников» она становится буквально знанием. Мы предлагаем вам несколько материалов, которые познакомят вас с основами и интересными аспектами этой…
10 популярных кодов и шифров
Коды и шифры — не одно и то же. Объяснили разницу и разобрали 10 популярных методов шифрования, которые повлияли на сферу безопасности.
Основы криптографии: от математики до физики
Основы криптографии включают шифры, специальную терминологию и отдельные компоненты криптосистемы. Сегодня эта наука тесно связана с информационной безопасностью.
Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.
- Популярные шифры
- Полиморфизм
- Распространённые алгоритмы
- Виды алгоритмов
- Квантовая криптография
Задачи, которые решает криптография:
- Конфиденциальность — когда нужно передать данные так, чтобы человек, перехвативший зашифрованное сообщение, не смог узнать его содержание.
- Аутентификация — получатель сообщения хочет быть уверен, что оно пришло от определённой стороны, а не от кого-либо ещё.
- Целостность — получатель сообщения хочет доказательства того, что оно не было изменено третьей стороной.
- Отказ от ответственности — предотвратить отказ автора за создание или отправку сообщения.
Популярные шифры
Чтобы понять основы шифрования, необходимо обратиться к популярным примерам.
Квадрат Полибия
Квадрат Полибия — шифр простой замены. В данном примере будет использоваться двумерная матрица 6х6, содержащая заглавные буквы алфавита и цифры от 0 до 9:
С матрицей 6х6 (36 буквенно-цифровых знаков) мы можем начать замену. Например, буква «А» имеет адрес 1х1 или x=1, y=1. Эту запись можно упростить до 11. Другой пример: адрес буквы «N» будет 2х3 или x=2, y=3 или 23.
- Сообщение: ENCRYPT ME 2 DAY
- Шифротекст: 51–23–31–63–15–43–24 13–51 55 41–11–15
Шифр может сделать достаточно длинным и сложным, используя прописные буквы и специальные символы. Также повторение символов и написание алфавита вразброс может дать непредсказуемый результат, устойчивый для метода полного перебора.
Шифр Цезаря
Шифр Цезаря считается самым первым. Цезарь использовал его для кодирования сообщений своим генералам, чтобы враги из Римской Империи не смогли прочитать приказы при перехвате. Шифр Цезаря имеет элементарную форму шифрования, и сегодня его легко взломать: алфавит просто сдвигается вправо или влево. Разные значения сдвига приводят к разным результатам шифровки. Число сдвига — это число букв, на которое происходит смещение в одну из сторон, для создания шифротекста.
Пример использования шифра со сдвигом влево на 3:
- Сообщение: ENCRYPT ME
- Шифротекст: HQFUBSW PH
Шифротекст выше может быть легко взломан методом полного перебора, который заключается в сдвиге в одну из сторон на одну позицию, пока не получится какое-то смысловое сообщение.
Прим. пер. Существует более простой способ взлома шифра Цезаря — частотный анализ. Он заключается в подсчёте частоты встреч каждого символа в любом обычном тексте и в шифротексте. Потом символы с похожими частотами заменяются. Например, если в шифротексте чаще всего встречается буква «T», то она заменяется на букву «Е» для английского алфавита. Этот способ действует только для текстов свыше 300 символов.
Квадрат Виженера
Это усовершенствованный шифр Цезаря с разными значениями сдвига. Например, к первой букве сообщения применяется преобразование ROT5, ко второй — ROT16, etc.
Также у нас есть статья, из которой вы узнаете о самых популярных кодах и шифрах.
Полиморфизм
Основы шифрования и криптографии включают в себя полиморфизм. Это более продвинутая практика в криптографии и часто используется в техниках компьютерного шифрования. Такая техника, которая самостоятельно модифицирует криптоалгоритм после каждого выполнения, и на каждой итерации получаются разные результаты. Если понадобится зашифровать одну и ту же информацию два раза, то алгоритм выдаст разные шифротексты.
Распространённые алгоритмы
Сегодня шифры используют алгоритмы либо с секретным, либо с публичным ключом. В шифрах с закрытым ключом используется единственный ключ, которым обмениваются стороны. Такой ключ или шифр также называют симметричным.
В 1949 году Клод Шеннон из Bell Laboratories опубликовал фундаментальную теорию, положившую начало симметричному шифрованию, а десятилетия эволюции принесли примеры высокого качества. Однако только в 1975 году мощный алгоритм с закрытым ключом DES стал доступен для общего пользования.
Шифрование с помощью открытого ключа или асимметричное шифрование также возникло в середине 1970-х. Асимметричные шифры используют пару ключей — открытый, им делятся с другими людьми, и соответствующий ему закрытый, пользователь должен хранить его в секрете от других.
Стойкость шифровального алгоритма зависит от трёх важных факторов:
- Инфраструктура — если криптография встроена в ПО, то самым слабым звеном будет среда выполнения этого ПО.
- Длина ключа — практичный шифр должен использовать такую длину ключа, при которой полный перебор будет нецелесообразным.
- Качество алгоритма — ошибки шифрования могут ускорить процесс взлома для злоумышленников.
Виды алгоритмов
DES выдержал испытание временем и вошёл в основы криптографии. После четверти века исследований учёным удалось найти несколько спекулятивных атак, которые в конечном итоге не были столь эффективными, как метод полного перебора. Единственная реальная слабость DES-шифра — маленькая длина ключа в 56 бит.
Triple DES (3DES) — модификация DES, позволяющая увеличить длину ключа до 112 или 168 бит.
AES (Advanced Encryption Standard или Rijndael) поддерживает три длины ключа: 128, 192 и 256 бит. Использует 128-битный размер блоков. Считается стойким и используется по всему миру.
Алгоритм шифрования Rijndael (AES)
Так как DES был специально разработан для аппаратного обеспечения, то не было предусмотрено, чтобы он эффективно работал в ПО. NIST протестировал работу алгоритма AES в программной среде и разработал требования к хранению криптоматериала, чтобы гарантировать, что AES будет эффективно работать на C и Java, которые используются на рабочих станциях, а также в более ограниченных средах встроенных процессоров ARM и смарт-карт.
Архитектура AES основана на принципе, известном как замена и перестановка, и быстро работает как в программном, так и на аппаратном уровнях. В отличие от своего предшественника — DES, AES не использует сеть Фейстеля.
Длина ключа, используемого для шифрования AES, указывает на количество повторений раундов преобразования, которые преобразуют входной сигнал, называемый исходным текстом, а конечный вывод — шифротекстом. Число циклов повторения выглядит следующим образом:
- 10 циклов повторения для 128-битных ключей;
- 12 циклов повторения для 192-битных ключей;
- 14 циклов повторения для 256-битных ключей.
Каждый раунд состоит из нескольких этапов обработки. Набор обратных повторений применяется для преобразования шифротекста в исходный текст с использованием того же самого ключа шифрования.
Квантовая криптография
Это уже не совсем основы криптографии, а более продвинутый уровень.
На приведённой диаграмме квантовое распределение ключей (протокол BB84), являющееся безопасным способом связи, который реализует криптографический протокол с участием компонентов квантовой механики. Он позволяет двум сторонам создавать общий закрытый ключ, известный только им.
Новое поколение криптографии будет основываться не на математике, а на физике. Учёные в области физики атомов и частиц уже вошли в мир основ криптографии и хотят использовать законы квантовой механики для отправки сообщений, которые невозможно взломать. Они основоположники новой науки — квантовой криптографии.
Адаптированный перевод «Understanding Cryptography From Math to Physics»
Варвара Николаева
Что такое криптография? Как алгоритмы обеспечивают секретность и безопасность информации
Определение криптографии
Криптография — это наука о хранении информации в безопасности путем преобразования ее в форму, которую не могут понять непреднамеренные получатели. В криптографии исходное удобочитаемое сообщение, называемое открытым текстом , заменяется с помощью алгоритма , или ряда математических операций на нечто, что для неосведомленного наблюдателя могло бы показаться тарабарщиной; эта тарабарщина называется зашифрованный текст .
Криптографические системы требуют некоторого метода, чтобы предполагаемый получатель мог использовать зашифрованное сообщение — обычно, хотя и не всегда, путем преобразования зашифрованного текста обратно в открытый текст.
Криптография и шифрование
Шифрование — это то, что мы называем процессом преобразования открытого текста в зашифрованный. (C rypt может напомнить вам о гробницах, но оно происходит от греческого слова, означающего «скрытый» или «секретный».) Шифрование — важная часть криптографии, но не охватывает всю науку.Его противоположность — расшифровка .
Одним из важных аспектов процесса шифрования является то, что он почти всегда включает в себя как алгоритм, так и ключ . Ключ — это просто еще одна часть информации, почти всегда число, которая указывает, как алгоритм применяется к открытому тексту для его шифрования. Даже если вы знаете метод, с помощью которого зашифровано какое-либо сообщение, его сложно или невозможно расшифровать без этого ключа.
История криптографии
Все это очень абстрактно, и хороший способ понять специфику того, о чем мы говорим, — это взглянуть на одну из самых ранних известных форм криптографии.Он известен как шифр Цезаря , , потому что Юлий Цезарь использовал его для своей конфиденциальной переписки; как описал это его биограф Светоний, «если у него было что сказать конфиденциально, он написал это шифром, то есть изменив таким образом порядок букв алфавита … Если кто-то захочет расшифровать их и найти их это означает, что он должен заменить четвертую букву алфавита, а именно D, на A, и так с другими ».
Описание Светония можно разбить на два обсуждаемых нами криптографических элемента: алгоритм и ключ.Алгоритм здесь прост: каждая буква заменяется другой буквой из более позднего алфавита. Ключевым моментом является то, сколько и букв позже в алфавите вам нужно пройти, чтобы создать свой зашифрованный текст. В версии шифра, описываемого Светонием, это три, но, очевидно, возможны и другие варианты — например, с ключом четыре A станет E.
Из этого примера должно быть ясно несколько вещей. Такое шифрование предлагает довольно простой способ тайной отправки любого сообщения, которое вам нравится.Сравните это с системой кодовых фраз, где, скажем, «Давай закажем пиццу» означает «Я собираюсь вторгнуться в Галлию». Для перевода такого рода кода людям на обоих концах коммуникационной цепочки потребуется книга кодовых фраз, и у вас не будет возможности закодировать новые фразы, о которых вы не думали заранее. С помощью шифра Цезаря вы можете зашифровать любое сообщение, которое только можете придумать. Сложность заключается в том, что каждый, кто общается, должен знать алгоритм и ключ заранее, хотя намного проще безопасно передать и сохранить эту информацию, чем это было бы со сложной кодовой книгой.
Шифр Цезаря известен как шифр подстановки , , потому что каждая буква заменяется другой; другие варианты этого варианта заменят блоки букв или целые слова. На протяжении большей части истории криптография состояла из различных подстановочных шифров, используемых для обеспечения безопасности правительственных и военных коммуникаций. Средневековые арабские математики продвинули науку вперед, особенно искусство дешифрования — как только исследователи поняли, что одни буквы в данном языке встречаются чаще, чем другие, становится, например, легче распознавать закономерности.Но самое старое шифрование невероятно просто по современным стандартам по той очевидной причине, что до появления компьютеров было трудно выполнять математические преобразования достаточно быстро, чтобы сделать шифрование или дешифрование целесообразным.
Фактически, развитие компьютеров и достижения в области криптографии шли рука об руку. Чарльз Бэббидж, чья идея разностной машины предвосхитил современные компьютеры, также интересовался криптографией. Во время Второй мировой войны немцы использовали электромеханическую машину Enigma для шифрования сообщений — и, как известно, Алан Тьюринг возглавил команду в Великобритании, которая разработала аналогичную машину для взлома кода, заложив при этом некоторые из основ для первых современных компьютеров. .С появлением компьютеров криптография радикально усложнилась, но еще несколько десятилетий оставалась прерогативой шпионов и генералов. Однако это начало меняться в 1960-х годах.
Криптография в сетевой безопасности
Образование первых компьютерных сетей заставило граждан задуматься о важности криптографии. Компьютеры общались друг с другом по открытой сети, а не только через прямые соединения друг с другом; такой вид сетей был во многом преобразующим, но также упрощал отслеживание данных, перемещающихся по сети.А поскольку финансовые услуги стали одним из первых вариантов использования компьютерной связи, необходимо было найти способ сохранить информацию в секрете.
IBM лидирует в конце 1960-х годов с методом шифрования, известным как «Люцифер», который в конечном итоге был кодифицирован Национальным бюро стандартов США как первый стандарт шифрования данных (DES). По мере того как важность Интернета становилась все более важной, требовалось все больше и больше лучшего шифрования, и сегодня значительная часть данных, передаваемых по всему миру, зашифрована с использованием различных методов, которые мы обсудим более подробно чуть позже.
Для чего используется криптография?
Мы уже обсудили некоторые из конкретных приложений криптографии, от сохранения военных секретов до безопасной передачи финансовых данных через Интернет. В более широком плане, как объясняет консультант по кибербезопасности Гэри Кесслер, есть несколько широких целей в области кибербезопасности, для достижения которых мы используем криптографию. Используя криптографические методы, специалисты по безопасности могут:
- Сохранять конфиденциальность содержимого данных
- Аутентифицировать личность отправителя и получателя сообщения
- Обеспечить целостность данных, показывая, что они не были изменены
- Продемонстрировать, что предполагаемый отправитель действительно отправил это сообщение, принцип, известный как неотказуемости
Вы можете узнать некоторые из этих принципов из вариантов триады ЦРУ.Первый из этих вариантов использования очевиден — вы можете сохранить данные в секрете, зашифровав их. Остальные потребуют небольших пояснений, которые мы рассмотрим при описании различных типов криптографии.
Типы криптографии
Существует множество используемых криптографических алгоритмов, но в целом их можно разбить на три категории: криптография с секретным ключом , криптография с открытым ключом, хеш-функции и . Каждый из них играет свою роль в криптографическом ландшафте.
Криптография с секретным ключом. Шифр Цезаря, который мы обсуждали выше, является отличным примером криптографии с секретным ключом. В примере, который мы использовали, если бы Цезарь и один из его центурионов обменивались зашифрованными сообщениями, обе стороны должны были бы знать ключ — в этом случае, на сколько букв вперед или назад в алфавите вам нужно переместить, чтобы преобразовать открытый текст в зашифрованный текст или наоборот. Но ключ должен оставаться в секрете между ними двумя. Например, вы не могли отправить ключ вместе с сообщением, потому что, если бы оба они попали в руки врага, им было бы легко расшифровать сообщение, что в первую очередь лишило бы цели его шифрования. Цезарю и его центуриону, вероятно, придется обсудить ключ, когда они увидят друг друга лично, хотя, очевидно, это далеко не идеально, когда войны ведутся на больших расстояниях.
Криптография с секретным ключом, иногда также называемая симметричным ключом , широко используется для сохранения конфиденциальности данных. Это может быть очень полезно, например, для сохранения приватности локального жесткого диска; поскольку один и тот же пользователь обычно шифрует и дешифрует защищенные данные, совместное использование секретного ключа не является проблемой.Криптография с секретным ключом также может использоваться для сохранения конфиденциальности сообщений, передаваемых через Интернет; однако, чтобы это произошло, вам необходимо развернуть нашу следующую форму криптографии в тандеме с ней.
Криптография с открытым ключом. Цезарь мог лично посовещаться со своими центурионами, но вы не хотите заходить в свой банк и разговаривать с кассиром только для того, чтобы узнать, что такое закрытый ключ для шифрования вашей электронной связи с банком — это приведет к поражению цель онлайн-банкинга. В общем, для безопасного функционирования Интернету необходим способ, позволяющий взаимодействующим сторонам установить безопасный канал связи, при этом общаясь друг с другом только через изначально небезопасную сеть. Это работает с помощью криптографии с открытым ключом .
В криптографии с открытым ключом, иногда также называемой асимметричным ключом , каждый участник имеет два ключа. Один является общедоступным и отправляется всем, с кем партия хочет общаться. Это ключ, используемый для шифрования сообщений.Но другой ключ является частным, никому не передается, и его необходимо расшифровать. Используя метафору: представьте открытый ключ как отверстие в почтовом ящике, достаточно широкое, чтобы в него можно было поместить письмо. Вы даете эти размеры любому, кто, по вашему мнению, может отправить вам письмо. Секретный ключ — это то, что вы используете для открытия почтового ящика, чтобы вы могли получать письма.
Математика того, как вы можете использовать один ключ для шифрования сообщения, а другой — для его расшифровки, гораздо менее интуитивно понятна, чем способ работы ключа к шифру Цезаря. Если вам интересно, то в Институте Infosec есть все необходимое. Основной принцип, который заставляет процесс работать, состоит в том, что два ключа фактически связаны друг с другом математически, так что вывести открытый ключ из закрытого ключа легко, но не наоборот. Например, закрытый ключ может представлять собой два очень больших простых числа, которые вы умножаете вместе, чтобы получить открытый ключ.
Вычисления, необходимые для криптографии с открытым ключом, намного сложнее и ресурсоемче, чем вычисления, связанные с инфраструктурой секретных ключей.К счастью, вам не нужно использовать его для защиты каждого сообщения, отправляемого через Интернет. Вместо этого обычно происходит то, что одна сторона будет использовать криптографию с открытым ключом для шифрования сообщения, содержащего еще один криптографический ключ. Этот ключ, который был безопасно передан через небезопасный Интернет, затем станет закрытым ключом, который кодирует гораздо более длительный сеанс связи, зашифрованный с помощью шифрования с секретным ключом.
Таким образом, криптография с открытым ключом способствует обеспечению конфиденциальности.Но эти открытые ключи также являются частью более крупного набора функций, известного как инфраструктура открытых ключей , , , или PKI. PKI позволяет быть уверенным, что любой открытый ключ связан с конкретным человеком или учреждением. Таким образом, сообщение, зашифрованное открытым ключом, подтверждает личность отправителя, устанавливая аутентификацию и предотвращение отказа от авторства.
Хеш-функции. Криптографические алгоритмы с открытым и закрытым ключом включают преобразование открытого текста в зашифрованный текст, а затем обратно в открытый текст.Напротив, хеш-функция — это односторонний алгоритм шифрования: после того, как вы зашифруете свой открытый текст, вы никогда не сможете восстановить его из полученного зашифрованного текста (называемого хеш-кодом ).
Это может сделать хэш-функции бессмысленным занятием. Но ключ к их полезности заключается в том, что для любой данной хэш-функции никакие два открытых текста не будут давать одинаковый хеш. (Математически это не совсем правильно, но для любой реально используемой хеш-функции шансы на то, что это произойдет, как правило, исчезающе малы, и ее можно безопасно игнорировать.)
Это делает алгоритмы хеширования отличным инструментом для обеспечения целостности данных. Например, сообщение может быть отправлено вместе с собственным хешем. Получив сообщение, вы можете запустить тот же алгоритм хеширования для текста сообщения; если созданный вами хеш отличается от хеша, сопровождающего сообщение, вы знаете, что сообщение было изменено при передаче.
Хеширование также используется для обеспечения конфиденциальности паролей. Хранение паролей в виде открытого текста — это серьезная проблема безопасности, потому что это делает пользователей склонными к краже учетных записей и личных данных в результате утечки данных (что, к сожалению, не мешает крупным игрокам это делать).Если вместо этого вы сохраните хешированную версию пароля пользователя, хакеры не смогут расшифровать его и использовать в другом месте, даже если им удастся взломать вашу защиту. Когда законный пользователь входит в систему со своим паролем, вы можете просто хешировать его и проверять по хешу, который у вас есть в файле.
Примеры и методы криптографии
Существует множество методов и алгоритмов, которые реализуют каждый из трех типов шифрования, описанных выше. Как правило, они довольно сложные и выходят за рамки данной статьи; мы включили сюда ссылки, по которым вы можете узнать больше о некоторых из наиболее часто используемых примеров.
Шифрование с секретным ключом:
Шифрование с открытым ключом:
Хеш-функции:
Существует широкий спектр хеш-функций различного назначения. Список в Википедии — хорошее место для начала.
Copyright © 2020 IDG Communications, Inc.
Что такое криптография и как мы используем ее в современных вычислениях?
История криптографии
Хотя мы используем ее в современных вычислениях, криптография существует с самого начала существования человечества как средство секретности письменной информации, которую могли понять только посвященные. Примером могут служить египетские иероглифы, которые могли читать и писать только те, кто связан с божественным, например, члены королевской семьи и священники. Слово «иероглифы» происходит от греческого языка и переводится как «священное письмо».
Однако настоящий пример зашифрованного языка восходит к временам Юлия Цезаря, который изобрел свою собственную систему шифров для связи с Цицероном в Риме, когда он покорял Европу. Это была простая система, которая просто сдвигала каждую букву в сообщении на 3 шага вправо по алфавиту; конечно, если бы он прошел мимо последнего символа алфавита, он просто вернулся бы к первому.Следующее — зашифрованное сообщение, которое я хочу отправить Цицерону в Рим.
Галлия — это целое, разделенное на три части
Это записано в нашем традиционном алфавите:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Чтобы легко перевести это, мы можем использовать шифр Цезаря (3 шага), чтобы преобразовать алфавит в перевод лист:
DEFGHIJKLMNOPQRSTUVWXYZABC
С его помощью мы можем перевести наше сообщение следующим образом, прежде чем отправлять его в столицу нашей огромной империи.
Jdxo lv d zkroh glylghg lqwr wkuhh sduwv
Какой бы простой ни была эта система, никто не был знаком с такой маскировкой своих сообщений. Любой, кто мог перехватить эти сообщения (вероятно, поймав курьера), подумал бы, что это мусор или другой язык.
Это был порыв эпохи скрытых коммуникаций, когда умные математики помогали своим государям или парламентариям достигать секретного общения. Это очень часто наблюдалось в мировых войнах, самым известным примером является немецкая Enigma, которую тайно взломал Алан Тьюринг, отец информатики.
Основы криптографии
Рассмотрев краткую историю криптографии, мы можем перейти к тому, как работает криптография.
Что такое криптография? Он нужен для того, чтобы два партнера могли достичь по-настоящему секретного общения, исходя из четырех основных целей. Первые три можно запомнить аббревиатурой CIA (Конфиденциальность, целостность и аутентификация). Четвертый — это неотказ: «Обеспечить получателя гарантией того, что полученное сообщение действительно является тем, которое было отправлено отправителем, а не сообщением, замаскированным злоумышленником».
Конфиденциальность
Когда данные являются конфиденциальными, мы не хотим, чтобы они были общедоступными без доказательства того, что получатель имеет право на доступ к ним. Первый шаг — замаскировать данные в нечитаемом формате, который может прочитать только аутентифицированный. Этого можно добиться с помощью шифрования.
Шифрование возможно с помощью набора инструкций (алгоритма), которые могут применяться к данным для их шифрования и дешифрования (при выполнении правил в обратном порядке). Чтобы сделать результат шифрования уникальным, требуется ключ, и этот ключ должен быть известен только тем, кому разрешено «блокировать» и «разблокировать» данные.
Целостность
Целостность означает, что данные не были изменены во время передачи из-за злого умысла или общего вмешательства, поэтому для обеспечения того, чтобы данные были такими, какими они были, нам необходимо применить цифровую подпись к данным, которые могут быть проверены получателем чтобы убедиться, что человек, который его послал, является тем, кем они себя называют.
Это достигается за счет запуска хэш-алгоритма (одностороннего шифрования) полезной нагрузки (данных) и ее шифрования с помощью ключа, который известен только получателю и отправителю. Затем получатель проверяет данные, расшифровывая подпись и используя тот же алгоритм хеширования для данных — этот результат сравнивается с расшифрованной подписью, и, если он совпадает, данные являются целыми.
Аутентификация
При установлении соединения необходимо уточнить, что оба клиента, подключающиеся друг к другу, являются теми, кем они себя называют, а не каким-то злоумышленником посередине! Как правило, перед подключением обе машины будут иметь информацию о своем узле (например, сертификат), которая будет использоваться для проверки подключения.
Безотказность
Аналогично аутентификации, но это проверка всех данных в пути, которыми обмениваются два одноранговых узла.Это может быть достигнуто с помощью асимметричных криптосистем, использующих пару открытый + закрытый ключ, что мы объясним более подробно позже. Кроме того, пронумеровав каждый пакет в порядке номеров, получатель может быть уверен, что все данные не будут скопированы или повторно отправлены злоумышленниками.
Современная криптография
Итак, что такое криптография в ее современной форме? В настоящее время мы используем очень сложные алгоритмы, сформулированные блестящими математиками, которые пытаются обеспечить высокий уровень секретности.Примерами этих алгоритмов являются формулы двустороннего шифрования, такие как AES-256 или Triple-Des. Это общедоступные системы, и с помощью быстрого поиска вы сможете узнать, как они работают. Некоторые считают это уязвимостью, поскольку настоящая секретность достигается, когда алгоритм, включая ключи, скрывается от общественности. Другие считают, что публикация системы помогает укрепить алгоритмы. Этот аргумент породил принцип Керчова.
Принцип Керчоффа
Этот принцип гласит, что более высокий уровень безопасности достигается, когда алгоритм, защищающий данные, является публично известным, поскольку это означает, что криптоаналитики могут находить уязвимости, требующие исправления, что в конечном итоге делает систему сильнее. Годы публичного разоблачения привели к созданию величайших алгоритмов, которые сегодня все еще невозможно взломать. Если бы вам пришлось скрыть алгоритм от публики, сначала у вас была бы полная секретность, поскольку никто не знает, как начать взламывать код, но все, что нужно, — это хакеру, чтобы овладеть этим алгоритмом и изучить, как он работает. найти огромную уязвимость, которая легко взламывает код. Это достигается за счет того, что скрытый алгоритм не был публично протестирован и написан с нуля. По сути, когда алгоритм публикуется, более вероятно, что «хороший парень» заметит уязвимость и исправит ее.
Симметричное шифрование
Криптография с симметричным ключом (также известная как криптография с секретным / секретным ключом) использует один ключ, который можно использовать для шифрования и дешифрования данных. Для дополнительной защиты данных используются более крупные ключи. Это хороший метод шифрования для больших объемов данных (например, жестких дисков или данных в состоянии покоя), однако у него есть некоторые недостатки:
- Обмен ключами между сторонами создает проблему, потому что, если он не будет отправлен безопасно, злоумышленник может попытаться открытый текстовый ключ с помощью атаки «человек посередине», а затем используемое шифрование становится неактуальным. Ключи необходимо обменять безопасным способом, а если это невозможно, их необходимо передать в автономном / физическом режиме.
- Поскольку обе стороны могут шифровать / дешифровать оба ключа, невозможно реализовать отказ от отказа, поскольку ни один из участников не может быть уверен, откуда был создан зашифрованный текст.
- Регенерация ключа происходит часто, когда большая группа использует симметричное шифрование для связи, потому что, если один из участников уходит, ключ должен быть повторно сгенерирован, чтобы они не могли повторно присоединиться к беседе.
Примером симметричного шифрования является AES-256, Triple-DES или Blowfish, где каждый алгоритм выполняет свои собственные сложные математические задачи на основе предоставленного ключа для шифрования и дешифрования сообщения.
Асимметричное шифрование
Асимметричное шифрование, также известное как алгоритм с открытым ключом, устраняет указанные выше недостатки симметричного шифрования. В этой системе используются два ключа: открытый ключ и закрытый ключ. Как следует из названия, закрытый ключ известен только одному человеку, который никому его не передает. Однако открытый ключ можно бесплатно отправить любому, кого автор сочтет нужным. Замечательный способ работы этих ключей заключается в том, что один ключ используется для шифрования данных, а другой — для дешифрования данных.Обратите внимание, что если данные зашифрованы одним ключом, они не могут быть расшифрованы с помощью того же ключа, вместо этого другой ключ в паре может их расшифровать. Ниже приведены преимущества использования асимметричной криптографии.
- Пользователи могут быть легко удалены с помощью механизма отзыва, встроенного в асимметричные криптосистемы, который в основном удаляет их из связи.
- Восстановление ключа происходит только в том случае, если закрытый ключ скомпрометирован, поскольку открытый ключ может быть известен всем.
- Обеспечивает конфиденциальность, целостность, аутентификацию и невозможность отказа. Это происходит в том случае, если пользователь не раскрывает свой закрытый ключ, так как сообщение, подписанное этим пользователем, может быть точным и не может быть отклонено позже.
- Ключи легко распространять, поскольку открытый ключ может быть отправлен без безопасного соединения, и это единственное, что требуется для защищенного обмена данными.
Очевидно, что это не идеальный протокол, поскольку он имеет один недостаток: тот факт, что это медленный метод связи. По этой причине асимметричное шифрование используется для установления безопасных соединений, но не для передачи защищенной информации, которая остается для более быстро обрабатываемого симметричного шифрования.
Одним из примеров является метод Диффи-Хеллмана (DH), который обычно используется для установления связи между клиентами VPN, после чего симметричный алгоритм шифрует передаваемые данные. Другой пример — RSA, который используется для генерации закрытых или открытых ключей.
Хеширование
Хеширование играет иную роль в криптографии. Вместо того, чтобы использоваться как способ шифрования и дешифрования (двусторонняя криптография), он используется как цифровая подпись и использует одностороннее шифрование, поэтому теоретически чрезвычайно сложно — если не невозможно — отменить сообщение.
Хэш-алгоритм, такой как MD5, может быть запущен для передаваемых данных и прикреплен к концу данных. Клиент на другом конце запускает тот же хеш для данных, и если подпись в конце совпадает с их хешем, то он знает, что данные не были подделаны.
Это сбивает с толку по уважительной причине
Это может показаться запутанным, и это действительно так! Криптография не из легких предметов по уважительной причине; если бы все знали, как это работает, это, вероятно, означало бы, что это недостаточно безопасно! В конце концов, мы хотим сохранить наши данные в безопасности, и этого можно достичь с помощью криптографии.
Использование криптографии | Глава № 4 | Fasttrack To Cryptography
ИСПОЛЬЗОВАНИЕ КРИПТОГРАФИИ
Давайте теперь обсудим расширенную роль и полезность криптографии в наше время
Суть того, что вы узнали до сих пор, заключается в том, что криптография — это искусство запись или хранение информации таким образом, чтобы она открывалась только тем, кому она нужна, и скрывала от всех остальных.
Задолго до информационной эры криптография использовалась только для обеспечения секретности информации.Шифрование использовалось для обеспечения конфиденциальности сообщений шпионов, военачальников и дипломатов. Египетские иероглифы, шифр скитальной транспозиции, используемый спартанцами Греции, восковые печати и различные физические устройства для помощи с шифрованием, использовались на протяжении всей истории вплоть до наших дней. Эти устройства претерпели дальнейшие изменения, когда на свет появились компьютеры и электроника, которые очень помогли в криптоанализе. Криптография теперь стала более математической, а также находит применение в повседневной безопасности.Это поможет вам безопасно переводить или снимать деньги в электронном виде, и вам будет сложно встретить человека без кредитной или дебетовой карты. Система шифрования с открытым ключом представила концепцию цифровых подписей и электронных учетных данных. Сегодня криптография имеет решающее значение в нашей жизни, и вся система рухнет в ее отсутствие. Давайте теперь обсудим различные применения криптографии в наше время и ее пересечение с информатикой.
Секретность передачи
Основная цель криптографии — предотвратить чтение данных третьей стороной.Большинство систем передачи используют криптосистему с закрытым ключом. Эта система использует секретный ключ для шифрования и дешифрования данных, которые совместно используются отправителем и получателем. Закрытые ключи периодически распространяются и уничтожаются. Необходимо защитить ключ от несанкционированного доступа, потому что любая сторона, у которой есть ключ, может расшифровать зашифрованную информацию.
Как может быть перехвачена зашифрованная передача
В качестве альтернативы ключ для генерации ключей, называемый главным ключом, может использоваться для электронного генерирования одноразового сеансового ключа для каждой транзакции.Секретность мастер-ключа должна поддерживаться всеми сторонами, имеющими доступ к информации. Недостатком этого метода является то, что слишком много надежд возлагается на мастер-ключ, который в случае взлома разрушает всю систему.
Лучшим методом является использование криптосистемы с открытым ключом. В этой системе данные могут быть зашифрованы кем угодно, у кого есть открытый ключ, но они могут быть расшифрованы только с помощью закрытого ключа, а данные, подписанные закрытым ключом, могут быть проверены только с помощью открытого ключа.С развитием систем с открытым ключом секретность может поддерживаться без необходимости отслеживать большое количество ключей или совместного использования общего мастер-ключа. Если, скажем, Алекс хочет общаться с Нилом, она сначала генерирует свою пару открытого / закрытого ключей и отправляет открытый ключ Нилу по незащищенному каналу. Нил зашифрует информацию и отправит ее Алексу. Только у Алекс есть закрытый ключ, с помощью которого она может расшифровать информацию. Любой, кто перехватывает открытый ключ или зашифрованные данные, не может расшифровать сообщение из-за протоколов, используемых при передаче информации.
Секретность в хранилище
Шифрование хранилища относится к применению криптографических методов к данным как во время передачи, так и на носителе. Шифрование хранилища набирает популярность среди предприятий, использующих сети хранения данных (SAN). Секретность хранения обеспечивается за счет хранения данных в зашифрованном виде. Пользователь должен предоставить ключ компьютеру только в начале сеанса для доступа к данным, а затем он позаботится о шифровании и дешифровании в ходе обычного использования.Аппаратные устройства также могут использоваться на ПК для автоматического шифрования всей информации, хранящейся на диске. Когда компьютер включен, пользователь должен предоставить ключ для оборудования шифрования. Информация без ключа является простой тарабарщиной, что предотвращает неправильное использование в случае кражи диска.
Для отдельных файлов и папок можно использовать несколько шифров. Шифры и ключи следует часто менять, чтобы гарантировать безопасность данных. Однако, если пользователь забывает ключ, вся информация, зашифрованная с его помощью, теряет смысл и становится бесполезной.Вот почему резервные копии зашифрованной информации рекомендуется хранить в виде открытого текста. Данные шифруются только во время хранения, но не во время использования. Это оставляет лазейку для злоумышленников. Система уязвима для нарушения безопасности, если шифрование и дешифрование выполняются программно или если ключ хранится где-то в системе.
Целостность при передаче
Мы можем использовать криптографию, чтобы обеспечить средства, гарантирующие, что данные не будут изменены во время передачи, т.е.е. его целостность сохраняется. При электронном переводе средств очень важно поддерживать целостность. Банк может потерять миллионы, если транзакция будет незаконно перехвачена. Криптографические методы используются для предотвращения случайного или преднамеренного изменения данных во время передачи, ведущего к ошибочным действиям. Один из способов обеспечения целостности — это вычисление контрольной суммы передаваемой информации, а также передача контрольной суммы в зашифрованном виде.
Информация получена на другом конце и снова проверена.Переданная контрольная сумма расшифровывается и сравнивается с предыдущей контрольной суммой. Если контрольные суммы совпадают, информация, скорее всего, не изменилась. Проблема с этой схемой заключается в том, что контрольная сумма исходного сообщения может быть известна, и другое сообщение с такой же контрольной суммой может быть сгенерировано и отправлено вместо исходного. Эту проблему можно решить с помощью криптосистемы с открытым ключом. После генерации пары открытый ключ / закрытый ключ, если мы выбросим закрытый ключ и будем использовать только открытый ключ для шифрования контрольной суммы, контрольную сумму невозможно будет расшифровать.Чтобы проверить контрольную сумму, мы генерируем новую контрольную сумму для полученной информации, шифруем ее с помощью открытого ключа и сопоставляем с зашифрованной контрольной суммой. Это также известно как односторонняя функция, поскольку ее трудно инвертировать.
Целостность в хранилище
Целостность в хранилище обеспечивалась системами контроля доступа с замками и ключами и другими средствами защиты для предотвращения несанкционированного доступа к хранимым данным. Существование компьютерных вирусов изменило сценарий, и необходимость защиты от преднамеренных атак стала проблемой эпических масштабов.Здесь могут помочь криптографические контрольные суммы для проверки достоверности сохраненных данных. Как и в случае передачи, создается криптографическая контрольная сумма и сравнивается с ожидаемым значением. Однако носители данных более уязвимы для атак, чем каналы передачи, из-за более длительного воздействия и больших объемов информации.
Аутентификация личности
Аутентификация — это процесс проверки наличия у пользователя достаточных полномочий для доступа к данным. Простые пароли используются для идентификации кого-то. Вы также, должно быть, видели в классических гангстерских фильмах обмен ключевыми словами для подтверждения личности. Криптография аналогична практике предоставления паролей для аутентификации личности. Современные системы используют криптографические преобразования в сочетании с другими характеристиками людей, чтобы обеспечить более надежную и эффективную аутентификацию личности. Многие системы позволяют хранить пароли в зашифрованном виде с доступом на чтение для всех программ, которые могут их использовать. Поскольку пароли не хранятся в виде открытого текста, случайное введение данных не ставит под угрозу безопасность системы.Пароли аналогичны ключу в криптосистеме, которая позволяет шифрование и дешифрование всего, к чему у пароля есть доступ. Основным элементом этой системы является процесс выбора пароля. И это совершенно другая тема, которую мы не можем здесь затронуть. Но в двух словах, чем длиннее пароль, тем более случайным он будет и тем сложнее его угадать. Так что, если вы думаете, что вам легко запомнить, знайте, что взломать его будет тем легче.
Системы аттестации
Удостоверение — это доказательство квалификации или компетентности, которое прикрепляется к человеку, чтобы указать его пригодность для чего-либо.Предположим, вы идете в банк за ссудой, они проверяют ваши учетные данные, прежде чем одобрить ссуду. Ваши учетные данные проверяются не только на основании документов, но также на основании ваших прошлых записей и рекомендаций. Ваши водительские права и паспорт являются удостоверениями личности. Прогресс в области внедрения электронных учетных данных был довольно медленным. Электронные учетные данные позволяют в электронном виде проверить достоверность претензии. Это не отдельная система, но она используется вместе с другими устройствами, такими как смарт-карты, которые выполняют криптографические функции и хранят секретную информацию.CIBIL (Credit Information Bureau (India) Limited) — первое бюро кредитной информации в Индии. Он предоставляет кредитную информацию банкам, финансовым учреждениям и компаниям, выпускающим кредитные карты, и создает отчеты о кредитной информации.
Цифровые подписи
Цифровая подпись — это механизм, с помощью которого сообщение аутентифицируется, то есть доказывает, что сообщение пришло от данного отправителя, что очень похоже на подпись на бумажном документе. Чтобы цифровая подпись была такой же эффективной, как подпись на бумаге, цифровую подпись должно быть сложно подделать и принять в суде как обязательную для всех сторон сделки.Потребность в цифровых подписях возникает, когда стороны, участвующие в транзакции, физически не близки друг к другу, а объем бумажной работы велик, другими словами, в крупных деловых операциях. Цифровые подписи могут быть созданы с использованием криптосистемы с открытым ключом и процесса хеширования.
Хеширование в действии
Хеширование создает дайджест сообщения, который представляет собой небольшое и уникальное представление исходного сообщения. Хеширование — это односторонний алгоритм, то есть сообщение не может быть получено из дайджеста. Допустим, Алекс отправляет сообщение Нилу. Алекс сначала хеширует сообщение для создания дайджеста, а затем шифрует дайджест своим закрытым ключом, чтобы создать свою личную подпись; к нему добавляются открытый ключ и алгоритм хеширования. Затем все сообщение, включая дайджест, шифруется с помощью одноразового симметричного ключа, известного только Алексу и Нилу. Нил расшифровывает сообщение с помощью симметричного ключа. Затем он расшифровывает дайджест сообщения с помощью открытого ключа. Затем он будет хэшировать исходное сообщение, используя тот же алгоритм хеширования (имя которого было добавлено в сообщение), с помощью которого оно хешировалось ранее.Если оцененный дайджест и расшифрованный дайджест совпадают, то подпись была проверена, и получатель будет уверен, что целостность сообщения сохранена.
Еще одним аспектом этой системы является неизменность цифровых подписей. Поскольку закрытый ключ известен только отправителю, он не может отказать в подписании сообщения. Кроме того, цифровая подпись может быть проверена любым лицом, использующим открытый ключ отправителя, который обычно включается в формат цифровой подписи.
Электронные деньги
Электронная информация уже давно заменила наличные в финансовых транзакциях между физическими лицами.Такая система использует криптографию для хранения активов физических лиц в электронной форме. Электронный перевод средств (EFT), цифровая золотая валюта, виртуальная валюта и прямой депозит — все это примеры электронных денег. Электронный перевод денежных средств (EFT) — это электронный обмен денег между двумя счетами через компьютерные системы. Сюда входят онлайн-платежи, платежи по дебетовым картам, снятие средств в банкоматах, прямые депозиты, банковские переводы и тому подобное. Еще одно применение электронных денег — электронная коммерция, и такие компании, как PayPal, осуществляют перевод.Ясно, что любая атака на такую систему позволит в мгновение ока уничтожить национальные экономики. Значение целостности в такой системе ошеломляет.
Ключевым свойством наличных денег является анонимность: когда вы берете деньги из банка, банк выдает их, не зная, что вы делаете с этими деньгами. Продавец не знает, кто вы, и не запрашивает ваши учетные данные, когда вы платите наличными. С другой стороны, когда вы покупаете что-то с помощью кредитной карты, вы должны сообщить продавцу, кто вы, и вы должны сообщить компании-эмитенту кредитной карты, у кого вы покупаете.Анонимность не поддерживается, что не защищает вашу конфиденциальность. Опасения по поводу того, что анонимность в электронных деньгах может способствовать уклонению от уплаты налогов и отмыванию денег, привели к тому, что различные учреждения начали требовать отслеживания цифровых денег. Это потребовало разработки сложных методов шифрования, чтобы информация не попала в чужие руки.
За всем этим стоит доктор Дэвид Чаум. Он сформулировал слепую подпись, особую форму криптографической подписи, которая позволяла подписывать виртуальную монету без того, чтобы подписывающая сторона видела настоящую монету, и разрешала форму цифровых денег, которая обеспечивала анонимность и отсутствие отслеживания. Эта форма валюты известна как Digital Cash.
Пороговая криптосистема
Пороговые системы предназначены для использования только в том случае, если минимальное количество сторон, превышающее пороговое значение, соглашается на указанное использование. Технически это означает, что для расшифровки зашифрованного текста требуется минимальное количество сторон, которые должны сотрудничать в процессе. Меньше этого не даст достаточной информации. Например, если в банке хотя бы 5 человек из 10 авторизуют транзакцию, только тогда она произойдет.Такие системы исключают возможность действий одного человека в одиночку, в то же время позволяя многим сторонам отсутствовать без остановки транзакции. Большинство пороговых криптосистем имеют ключи, которые распределены по частям. Наиболее распространенный метод разделения ключа — это формирование ключа как решения уравнений от N переменных. Только если известны все N уравнений, ключ может быть определен путем их решения. Если известно менее N уравнений, ключ не может быть определен, поскольку в каждом уравнении есть по крайней мере одна независимая переменная.Для N может быть выбрано минимальное требуемое пороговое число, и уравнения могут выполняться отдельными лицами. Та же общая концепция может быть использована для формирования произвольных комбинаций требований к ключу путем формирования логических операций ИЛИ и И для шифрования с использованием различных наборов ключей для различных комбинаций держателей ключей. Основные трудности с такой системой заключаются в проблеме распределения ключей и большом количестве ключей, необходимых для получения произвольных комбинаций держателей ключей.
Такие системы в основном используются в организациях с очень ценными секретами, таких как вооруженные силы и правительства.Одно из приложений — хранить секретную информацию в нескольких местах, чтобы предотвратить доступ к самому зашифрованному тексту и, таким образом, предотвратить его криптоанализ.
Безопасные многосторонние вычисления
Безопасные многосторонние вычисления включают в себя набор сторон с частными входами, которые хотят совместно вычислить функцию своих входных данных, чтобы сохранить определенные свойства безопасности (такие как конфиденциальность и правильность). Он предоставляет решения различных реальных проблем, таких как частные аукционы, распределенное голосование, совместное использование подписи или функции дешифрования, а также ситуации, требующие извлечения частной информации.Одним из популярных приложений безопасного MPC (многосторонних вычислений) является решение проблемы миллионера Яо, то есть два миллионера хотят знать, кто из них богаче, но не раскрывает свой собственный капитал другому. Проблема миллионеров — проблема безопасных двухсторонних вычислений.
Обобщен для многосторонних вычислений. В безопасном MPC, если ни одна из сторон не может узнать больше из публичной функции и ее результата, то что она может узнать из собственного ввода. Чтобы лучше понять концепцию, посетите: http: // dgit.in / Qe37wP
Эта концепция имеет большое значение в области криптографии. Было доказано, что проблема многосторонних вычислений может быть решена, если существуют безусловно безопасные аутентифицированные каналы между парами участников. Рассмотрим четырех человек, Алису, Боба, Кэрол и Дейва, которые хотят вычислить свою среднюю зарплату, не раскрывая свою зарплату другим.
Один из способов расчета зарплаты следующий:
1 Алиса добавляет секретное случайное число к своей зарплате, шифрует результат открытым ключом Боба и отправляет его Бобу.
2 Боб расшифровывает результат Алисы своим закрытым ключом. Он добавляет свою зарплату к сообщению Алисы, зашифровывает результат открытым ключом Кэрол и отправляет его Кэрол.
3 Кэрол расшифровывает результат Боба своим закрытым ключом. Она добавляет свою зарплату к сообщению Боба, шифрует результат открытым ключом Дейва и отправляет его Дейву.
4 Дэйв расшифровывает результат Кэрол своим закрытым ключом. Он добавляет свою зарплату к сообщению Кэрол, шифрует результат открытым ключом Алисы и отправляет его Алисе.
5 Алиса расшифровывает результат Дэйва своим закрытым ключом. Она вычитает случайное число из шага 1, чтобы получить сумму всех зарплат.
6 Алиса делит результат на количество людей (в данном случае четыре) и объявляет результат.
Таким образом, никто не знал чью-либо зарплату, и функция расчета средней заработной платы была успешно вычислена. Больше таких примеров можно увидеть на http://dgit.in/V06ZU8.
Вышеупомянутые приложения криптографии помогают нам понять, что их использование выходит за рамки почти всех аспектов человеческих отношений.Криптография обеспечивает безопасность и целостность информации и предотвращает неправомерное использование данных неуполномоченными лицами. Это также делает нашу жизнь удобной, предоставляя такие инструменты, как электронные деньги и цифровые подписи. Он использовался древними людьми для передачи секретных сообщений друг другу и постоянно развивался, чтобы служить нашим постоянно растущим требованиям.
Криптология | Britannica
Поскольку большая часть терминологии криптологии восходит к тому времени, когда только письменные сообщения были защищенными, исходная информация, даже если это явно непонятный двоичный поток единиц и нулей, как в компьютерном выводе, упоминается как как открытый текст.Как отмечалось выше, секретная информация, известная только законным пользователям, является ключом, а преобразование открытого текста под контролем ключа в шифр (также называемое зашифрованным текстом) называется шифрованием. Обратная операция, с помощью которой законный получатель восстанавливает скрытую информацию из шифра с помощью ключа, называется дешифрованием.
Основы кодов, шифров и аутентификации
Наиболее часто путаемые и неправильно используемые термины в лексиконе криптологии — это код и шифр . Даже эксперты иногда используют эти термины, как если бы они были синонимами.
Код — это просто неизменяющееся правило для замены части информации (например, буквы, слова или фразы) другим объектом, но не обязательно того же типа; Знакомый пример — азбука Морзе, в которой буквенно-цифровые символы заменяются узорами из точек и тире. Вероятно, наиболее широко известный код, используемый сегодня, — это Американский стандартный код для обмена информацией (ASCII). Используемый во всех персональных компьютерах и терминалах, он представляет 128 символов (и такие операции, как возврат и возврат каретки) в форме семибитных двоичных чисел — i.е., в виде строки из семи единиц и нулей. В ASCII строчные , всегда равны 1100001, прописные , всегда 1000001 и т. Д. Акронимы также широко известны и используются в кодах, как, например, Y2K (для «2000 года») и COD (что означает «наложенный платеж»). Иногда такое кодовое слово приобретает независимое существование (и значение), в то время как исходная эквивалентная фраза забывается или, по крайней мере, больше не имеет точного значения, приписываемого кодовому слову, например, модем (первоначально обозначавшее «модулятор-демодулятор»).
Шифры, как и в случае с кодами, также заменяют часть информации (элемент открытого текста, который может состоять из буквы, слова или строки символов) другим объектом. Разница в том, что замена выполняется в соответствии с правилом, определяемым секретным ключом, известным только передатчику и законному получателю, в ожидании того, что посторонний, не знающий ключа, не сможет инвертировать замену, чтобы расшифровать шифр. В прошлом стирание различий между кодами и шифрами было относительно несущественным.Однако в современных средствах связи информация часто кодируется и зашифрована, поэтому важно понимать разницу. Например, спутниковая линия связи может кодировать информацию в символах ASCII, если она является текстовой, или модулировать и оцифровывать ее в двоично-десятичной форме (BCD), если это аналоговый сигнал, такой как речь. Полученные в результате кодированные данные затем шифруются в шифры с использованием стандарта шифрования данных или расширенного стандарта шифрования (DES или AES; описано в разделе История криптологии). Наконец, сам результирующий поток шифрования снова кодируется с использованием кодов исправления ошибок для передачи с наземной станции на орбитальный спутник и оттуда обратно на другую наземную станцию. Затем эти операции отменяются в обратном порядке предполагаемым получателем для восстановления исходной информации.
В простейшем возможном примере настоящего шифра A хочет отправить одно из двух одинаково вероятных сообщений на B , скажем, для покупки или продажи определенной акции.Связь должна осуществляться по беспроводному телефону, который могут прослушивать перехватчики. Для интересов A и B жизненно важно, чтобы другие не были причастны к содержанию их общения. Чтобы помешать любым перехватчикам, A и B заранее договариваются о том, действительно ли A будет говорить то, что он хочет, чтобы B делал, или наоборот. Поскольку это решение с их стороны должно быть непредсказуемым, они решают, подбрасывая монетку. Если выпадет орел, A скажет Buy , когда он хочет B, для покупки и Sell , когда он хочет B для продажи. Однако, если выпадет решка, он скажет Buy , когда он хочет продать B , и так далее. (Сообщения передают только один бит информации и поэтому могут быть 1 и 0, но пример более ясен с использованием Buy и Sell .)
При использовании этого протокола шифрования / дешифрования перехватчик не получает сведений о фактической (скрытой) инструкции A , отправленной на B в результате прослушивания их телефонной связи.Такая криптосистема определяется как «идеальная». Ключом в этом простом примере является знание (разделяемое A и B ) того, говорит ли A то, что он хочет, чтобы B делал, или наоборот. Шифрование — это действие A , когда он либо говорит, что он хочет, либо нет, как определено ключом, в то время как дешифрование — это интерпретация B того, что на самом деле означало A , не обязательно того, что он сказал.
Этот пример может быть расширен, чтобы проиллюстрировать вторую базовую функцию криптографии, предоставляя средство B , чтобы убедиться, что инструкция действительно пришла из A и что она не изменена — i.е., средство аутентификации сообщения. В этом примере, если перехватчик перехватил сообщение A на B , он мог — даже не зная заранее заданного ключа — заставить B действовать вопреки намерениям A , передавая на B противоположное тому, что отправил A . Точно так же он мог просто выдать себя за A и приказать B купить или продать, не дожидаясь, пока A отправит сообщение, хотя он не знал заранее, какое действие B предпримет в результате.В любом случае перехватчик будет уверен в том, что обманом заставит B сделать то, чего не запрашивал A .
Для защиты от подобного обмана со стороны посторонних, A и B могут использовать следующий протокол шифрования / дешифрования.
Они тайно подбрасывают монету дважды, чтобы выбрать один из четырех ключей с одинаковой вероятностью, обозначенных HH, HT, TH и TT, причем оба знают, какой ключ был выбран. Результат первого подбрасывания монеты определяет правило шифрования, как и в предыдущем примере.Два подбрасывания монеты вместе определяют бит аутентификации, 0 или 1, который должен быть добавлен к шифрам для формирования четырех возможных сообщений: Buy-1, Buy-0, Sell-1 и Sell-0. B будет принимать сообщение как подлинное, только если оно встречается в строке, соответствующей секретному ключу. Пара сообщений не в этой строке будет отклонена B как неаутентичная. B может легко интерпретировать шифр в аутентичном сообщении, чтобы восстановить инструкции A , используя результат первого подбрасывания монеты в качестве ключа.Если третье лицо C олицетворяет A и отправляет сообщение, не дожидаясь, пока A сделает это, он с вероятностью 1 / 2 выберет сообщение, которого нет в строке, соответствующей используется ключ A и B . Следовательно, попытка обмана будет обнаружена B с вероятностью 1 / 2 . Если C ожидает и перехватывает сообщение от A , независимо от того, какое это сообщение, он столкнется с выбором между двумя одинаково вероятными ключами, которые могли бы использовать A и B .Как и в предыдущем примере, два сообщения, которые он должен выбрать, передают разные инструкции на B , но теперь один из шифров имеет 1, а другой 0 добавлены в качестве бита аутентификации, и только одно из них будет принято Б . Следовательно, шансы C обмануть B и заставить действовать вопреки инструкциям A по-прежнему равны 1 / 2 ; а именно, подслушивание разговоров A и B не улучшило шансы C обмануть B .
Очевидно, что в обоих примерах секретности или секретности с аутентификацией один и тот же ключ не может быть использован повторно. Если C узнал сообщение путем подслушивания и наблюдал за ответом B , он мог бы вывести ключ и впоследствии с уверенностью выдать себя за A . Однако, если A и B выберут столько случайных ключей, сколько у них было сообщений для обмена, безопасность информации останется неизменной для всех обменов. При таком использовании эти примеры иллюстрируют жизненно важную концепцию одноразового ключа, который является основой для единственных криптосистем, криптобезопасность которых может быть математически доказана.Это может показаться «игрушечным» примером, но он иллюстрирует основные особенности криптографии. Стоит отметить, что первый пример показывает, как даже ребенок может создавать шифры ценой подбрасывания справедливой монеты столько, сколько ему нужно скрыть битов информации, которые не могут быть «взломаны» даже национальными криптологическими службами. произвольная вычислительная мощность — опровергая распространенное представление о том, что недостигнутая цель криптографии — разработать шифр, который невозможно взломать.
Реальные приложения КРИПТОГРАФИИ | автор: Prashanth_Reddy
Криптография — это исследование методов безопасного обмена данными, которые позволяют только отправителю и предполагаемому получателю сообщения просматривать его содержимое.Термин происходит от греческого слова kryptos, , что означает скрытый. Он тесно связан с шифрованием, которое представляет собой процесс преобразования обычного текста в так называемый зашифрованный текст, а затем обратно по прибытии. Кроме того, криптография также охватывает обфускацию информации в изображениях с использованием таких методов, как микроточки или слияние.
При передаче электронных данных наиболее распространенным использованием криптографии является шифрование и дешифрование электронной почты и других текстовых сообщений.Самый простой метод использует симметричную систему или систему «секретного ключа». Здесь данные зашифровываются с использованием секретного ключа, а затем закодированное сообщение и секретный ключ отправляются получателю для дешифрования. Проблема? Если сообщение перехвачено, у третьей стороны есть все необходимое для его расшифровки и чтения. Чтобы решить эту проблему, криптологи разработали систему асимметричного или «открытого ключа». В этом случае у каждого пользователя есть два ключа: один открытый и один закрытый. Отправители запрашивают открытый ключ предполагаемого получателя, шифруют сообщение и отправляют его.Когда сообщение прибывает, только закрытый ключ получателя расшифровывает его, а это означает, что кража бесполезна без соответствующего закрытого ключа.
Аутентификация / цифровые подписи:
Аутентификация — это любой процесс, посредством которого подтверждается и проверяется определенная информация. Иногда может потребоваться проверить происхождение документа, личность отправителя, время и дату отправки и / или подписи документа, личность компьютера или пользователя и так далее. Цифровая подпись — это криптографическое средство, с помощью которого можно проверить многие из них. Цифровая подпись документа — это часть информации, основанная как на документе, так и на закрытом ключе подписывающего лица. Обычно он создается с помощью хеш-функции и частной функции подписи (алгоритмы, которые создают зашифрованные символы, содержащие конкретную информацию о документе и его закрытых ключах).
Отметка времени:
Отметка времени — это метод, который может подтвердить, что определенный электронный документ или сообщение существовали или были доставлены в определенное время.Отметка времени использует модель шифрования, называемую схемой слепой подписи. Схемы слепой подписи позволяют отправителю получать сообщение, полученное другой стороной, без раскрытия какой-либо информации о сообщении другой стороне.
Отметка времени очень похожа на отправку заказного письма по почте США, но обеспечивает дополнительный уровень доказательства. Это может доказать, что получатель получил конкретный документ. Возможные заявки включают заявки на патенты, архивы авторских прав и контракты. Отметка времени — это важное приложение, которое поможет сделать возможным переход на электронные юридические документы.
Электронные деньги:
Определение электронных денег (также называемых электронными деньгами или цифровыми деньгами) — это термин, который все еще развивается. Сюда входят транзакции, осуществляемые в электронном виде с чистым переводом средств от одной стороны к другой, который может быть дебетовым или кредитным и может быть анонимным или идентифицированным. Есть как аппаратные, так и программные реализации.
Анонимные приложения не раскрывают личность клиента и основаны на схемах слепой подписи. Выявленные схемы расходов раскрывают личность клиента и основаны на более общих формах схем подписи. Анонимные схемы являются электронным аналогом наличных денег, а идентифицированные схемы — электронным аналогом дебетовой или кредитной карты. Существуют также несколько гибридных подходов, при которых платежи могут быть анонимными в отношении продавца, но не банка, или анонимными для всех, но отслеживаемыми (последовательность покупок может быть связана, но не связана напрямую с личностью покупателя).
Шифрование используется в схемах электронных денег для защиты обычных данных транзакций, таких как номера счетов и суммы транзакций, цифровые подписи могут заменить рукописные подписи или авторизации кредитной карты, а шифрование с открытым ключом может обеспечить конфиденциальность. Существует несколько систем, которые охватывают этот диапазон приложений, от транзакций, имитирующих обычные бумажные транзакции на сумму от нескольких долларов и выше, до различных схем микроплатежей, которые объединяют чрезвычайно недорогие транзакции в суммы, которые будут нести накладные расходы на шифрование и очистку банка.
Шифрование / дешифрование в электронной почте:
Шифрование электронной почты — это метод защиты содержимого электронных писем от любого лица, не участвующего в электронной переписке, который хочет получить информацию об участнике. В зашифрованном виде электронное письмо больше не читается человеком. Только с вашим личным электронным ключом ваши электронные письма могут быть разблокированы и расшифрованы обратно в исходное сообщение.
Шифрование электронной почты работает с использованием так называемой криптографии с открытым ключом. У каждого человека с адресом электронной почты есть пара ключей, связанных с этим адресом электронной почты, и эти ключи необходимы для шифрования или дешифрования электронной почты.Один из ключей известен как «открытый ключ» и хранится на сервере ключей, где он привязан к вашему имени и адресу электронной почты и может быть доступен любому. Другой ключ — это ваш закрытый ключ, который никому не передается публично.
Когда электронное письмо отправлено, оно шифруется компьютером с использованием открытого ключа, а его содержимое превращается в сложную неразборчивую шифровку, которую очень трудно взломать. Этот открытый ключ нельзя использовать для расшифровки отправленного сообщения, только для его шифрования.Только человек с соответствующим соответствующим закрытым ключом может расшифровать электронное письмо и прочитать его содержимое.
Существуют различные типы шифрования электронной почты, но некоторые из наиболее распространенных протоколов шифрования:
- OpenPGP — тип шифрования PGP, который использует децентрализованную, распределенную модель доверия и хорошо интегрируется с современными веб-почтовыми клиентами
- S / MIME — тип шифрования, который встроен в большинство устройств Apple и использует централизованный орган для выбора алгоритма шифрования и размера ключа.
Службы шифрования электронной почты могут использоваться для обеспечения шифрования в нескольких отдельных, но связанных областях:
- Соединение между поставщиками электронной почты может быть зашифровано, чтобы внешние злоумышленники не могли найти способ перехватить любые входящие или исходящие электронные письма, когда они перемещаются между серверами.
- Содержимое электронной почты может быть зашифровано, гарантируя, что даже если электронная почта будет перехвачена злоумышленником содержимое электронного письма будет по-прежнему нечитаемым
- Старые или заархивированные электронные письма, которые уже хранятся в вашем почтовом клиенте, также должны быть зашифрованы, чтобы злоумышленники не могли потенциально получить доступ к электронным письмам, которые в настоящее время не передаются между серверами.
Шифрование в WhatsApp:
WhatsApp использует «сигнальный» протокол для шифрования, который использует комбинацию криптографических алгоритмов с асимметричным и симметричным ключами. Алгоритмы с симметричным ключом обеспечивают конфиденциальность и целостность, тогда как криптографические алгоритмы с асимметричным ключом помогают в достижении других целей безопасности, а именно аутентификации и предотвращения отказа от авторства. В криптографии с симметричным ключом один ключ используется как для шифрования данных, так и для дешифрования. В криптографии с асимметричным ключом будет два отдельных ключа. Данные, зашифрованные с использованием открытого ключа пользователя, могут быть дешифрованы только с использованием личного ключа этого пользователя и наоборот.
Whatsapp использует алгоритм на основе Curve25519. Стоит отметить историю Curve25519, поскольку она была представлена после опасений по поводу утверждений о том, что некоторые параметры ранее распространенных стандартов P-256 NIST были изменены АНБ для облегчения отслеживания. Алгоритм Диффи-Хеллмана с эллиптической кривой — это математический алгоритм, который помогает двум взаимодействующим объектам согласовать общий секрет, не отправляя фактические ключи друг другу.
Шифрование в Instagram:
Ваше взаимодействие с Instagram, вероятно, является зашифрованным.Когда ваш телефон запрашивает данные с помощью Instagram, он будет использовать SSL / TLS через порт 443 для шифрования запросов с серверов Instagram и будет отправлять вам данные через тот же зашифрованный поток данных.
Это предотвращает перехват злоумышленниками беседы между вами и Instagram.
Аутентификация SIM-карты:
Аутентификация Чтобы решить, может ли SIM-карта получить доступ к сети, SIM-карта должна быть аутентифицирована. Оператор генерирует случайное число и отправляет его на мобильное устройство.Вместе с секретным ключом Ki это случайное число проходит алгоритм A3 (именно этот Ki недавно был скомпрометирован). Результат этого расчета отправляется обратно оператору, где результат сравнивается с расчетом, который оператор выполнил сам (оператор владеет секретными ключами для всех SIM-карт, которые он распространил).
Шифрование Эта часть была взломана. Короче говоря, оператор генерирует случайное число (снова) и отправляет его на мобильный телефон.Вместе с секретным ключом Ki это случайное число проходит алгоритм A8 и генерирует сеансовый ключ KC. Этот KC используется в сочетании с алгоритмом A5 для шифрования / дешифрования данных.
Как криптография используется в приложениях?
Введение
Криптография используется в программном обеспечении для защиты данных от злоумышленников. Ключевыми принципами криптографии являются обеспечение конфиденциальности, целостности и аутентичности данных. В следующих нескольких статьях мы обсудим, как криптография может выйти из строя при использовании в наших приложениях и как можно использовать такие ошибки.Для начала в этой статье излагаются некоторые фундаментальные концепции криптографии, а затем рассказывается о том, как криптография используется в приложениях.
Что такое криптография?
Криптография связана с процессом преобразования простого текста в зашифрованный текст, который становится неразборчивым, и наоборот. Он обеспечивает безопасную связь в присутствии злоумышленников. Шифрование — это процесс преобразования текстовых данных в зашифрованный текст с использованием алгоритма и ключа.Расшифровка — это процесс преобразования зашифрованных данных в текстовые данные с использованием алгоритма и ключа.
Хорошо защищенное приложение или система должны обеспечивать такие гарантии, как конфиденциальность, целостность и доступность данных, а также их подлинность и неотказуемость. Конфиденциальность означает защиту информации от доступа неавторизованных сторон. Целостность означает защиту информации от подделки, а подлинность означает идентификацию владельца информации.Доступность — это гарантия того, что система доступна в любой момент, как и предполагалось. Неотказуемость относится к способности гарантировать, что сторона не может отрицать, что она была отправителем сообщения.
Кодирование, шифрование и хеширование
Кодирование — это процесс преобразования данных из одной формы в другую. Кодирование и шифрование часто понимают неправильно, и следует помнить, что кодирование не гарантирует конфиденциальности, целостности и подлинности.Кодирование HTML, кодирование URL, кодирование Base64, кодирование Base64url — вот некоторые примеры кодирования.
Шифрование — это процесс преобразования обычного текста в зашифрованный с использованием алгоритма и ключа. Шифрование гарантирует конфиденциальность. Шифрованный текст может быть преобразован в простой текст только в том случае, если тот же алгоритм и ключ используются для шифрования. RC4, DES, AES, RSA — некоторые примеры алгоритмов шифрования.
Хеширование — это процесс, который принимает ввод и производит вывод фиксированной длины.Это необратимый процесс, и поэтому невозможно определить исходные данные, просто имея выходные данные. Одним из ключевых свойств хеширования является то, что никакие два разных входа не могут иметь одинаковый хэш, и, следовательно, этот процесс также может использоваться для проверки данных, таких как пароли пользователей. MD5, SHA1, SHA256, SHA512, Bcrypt — некоторые примеры алгоритмов хеширования.
Симметричное и асимметричное шифрование ключей
Шифрование снова подразделяется на симметричное и асимметричное.Симметричное шифрование использует один общий ключ как для шифрования, так и для дешифрования. Асимметричное шифрование использует два ключа — открытый ключ и закрытый ключ. Обычно данные шифруются с использованием открытого ключа, а зашифрованный текст дешифруется с помощью закрытого ключа. DES и AES являются некоторыми примерами алгоритмов шифрования с симметричным ключом, а RSA — примером шифрования с асимметричным ключом.
Как криптография используется в приложениях?
Теперь, когда мы установили некоторые фундаментальные знания о концепциях, связанных с криптографией, давайте разберемся, как криптография используется в приложениях.
Безопасность транспортного уровня
Обычно мы видим схему https: // в URL-адресах, которые мы просматриваем в Интернете. Эта схема означает, что информация, передаваемая по сети, защищена с помощью SSL / TLS. Безопасность транспортного уровня (TLS) — это способ гарантировать, что обмен данными между браузером и сервером защищен и не может быть замечен неавторизованными сторонами. В этом процессе используется шифрование как с симметричным, так и с асимметричным ключом. Во время первоначального рукопожатия между клиентом и сервером используется шифрование с асимметричным ключом для совместного использования симметричного ключа, который затем будет использоваться для фактического шифрования и дешифрования сообщений.
Хранение конфиденциальных данных в покое
Когда приложения хранят конфиденциальные данные в покое, обычной практикой является использование хеширования и / или шифрования в зависимости от типа данных, с которыми работает приложение. Когда приложение имеет дело с данными, которые должны быть доступны в виде открытого текста, используется шифрование. Номера кредитных карт и личные данные пользователей являются примерами таких данных. Если приложение имеет дело с такими данными, как пароли, используется хеширование, поскольку пароли пользователей не предназначены для чтения кем-либо, кроме самого пользователя.Кроме того, хеширование может использоваться для проверки пароля, не зная исходного пароля пользователя.
Сквозное шифрование
Многие современные приложения используют сквозное шифрование поверх безопасности транспортного уровня, используемого для передачи данных. Это довольно часто наблюдается в мобильных приложениях, основанных на банковских услугах, где шифрование с асимметричным ключом сначала используется для передачи общего ключа, а затем шифрование с симметричным ключом используется для фактического шифрования и дешифрования данных.
Каркасы
Многие платформы, которые предоставляют функции, связанные с безопасностью, используют криптографию. Давайте рассмотрим структуру, с помощью которой мы можем реализовать JSON Web Tokens (JWT) в нашем приложении. Веб-токены JSON реализуются с использованием алгоритмов HS256 и RS256, и, таким образом, использование криптографии является неотъемлемой частью таких структур.
Пользовательские функции приложения
Также возможно, что разработчикам поручают разработать некоторые функции в своих приложениях, используя некоторые концепции, связанные с криптографией.Примеры включают шифрование файла перед сохранением на диске. Эта функция явно требует, чтобы ключ хранился вместе с зашифрованным содержимым, чтобы иметь возможность расшифровать файлы в более поздний момент времени.
Заключение
В этой статье мы обсудили, как криптография используется в приложениях. Ясно, что мы взаимодействуем с приложениями, использующими криптографию в нашей повседневной жизни, и современные приложения, безусловно, так или иначе имеют дело с криптографией.Использование SSL стало обычной практикой почти во всех приложениях, работающих в Интернете. В следующих нескольких статьях мы обсудим, как криптография может выйти из строя при неправильном использовании в приложениях.
Источники
- https://csrc.nist.gov/csrc/media/publications/sp/800-175b/archive/2016-03-11/documents/sp800-175b-draft.pdf
- https://auth0.com/blog/how-secure-are-encryption-hashing-encoding-and-obfuscation/
- https: // www.synopsys.com/glossary/what-is-cryptography.html
- https://owasp.org/www-project-mobile-top-10/2016-risks/m5-insufficient-cryptography
Знания и навыки, связанные с прикладной криптографией и криптоанализом
Введение в прикладную криптографию
Криптография широко используется в современных технологиях, особенно в программном обеспечении. Основная цель криптографии — обеспечить конфиденциальность данных, но она также используется для аутентификации и проверки целостности данных.Однако криптография хрупка, и единственная ошибка в дизайне или реализации может сделать ее совершенно бесполезной.
Криптография остается загадочной и сложной, потому что у большинства людей нет времени или желания стать экспертом по криптографии. Но понимание прикладной криптографии и криптоанализа на высоком уровне важно как для разработчиков, так и для хакеров. Понимание того, когда, почему и как следует использовать криптографию в разных контекстах, важно для гарантии того, что программное обеспечение действительно получает желаемый уровень защиты.А способность распознавать неправильное использование криптографии может быть полезна хакеру, пытающемуся определить, можно ли взломать зашифрованные данные с легкостью или выходит за рамки их возможностей.
Основы криптографии
Прежде чем углубляться в подробности того, как используется криптография и как ее можно взломать, важно понять основные принципы криптографии, типы криптографических алгоритмов и способы их использования.
Симметричные и асимметричные алгоритмы шифрования выполняют схожие действия, но у них есть свои преимущества и недостатки.С другой стороны, хеш-функции могут выглядеть одинаково (и представляют собой криптографические алгоритмы), но они работают по-разному и используются для разных целей. Большинство криптографических алгоритмов имеют библиотеки, которые делают их легко настраиваемыми; однако от этого мало пользы, если вы не знаете, какой из них подходит для работы.
Современные приложения криптографии
Криптография используется каждый день в основе множества технологий и некоторых из крупнейших приложений в современном мире, в том числе:
Инфраструктура открытых ключей (PKI) является основой многих современных применений шифрования.Электронная почта с цифровой подписью и веб-сайты, URL-адреса которых начинаются с HTTPS, поставляются с цифровыми сертификатами, которые используются для проверки веб-сайта или идентификации отправителя электронной почты. Сертификаты сложно подделать, потому что PKI создает цепочку доверия, которая делает возможной проверку сертификата.
SSL и TLS — это протоколы, которые шифруют большую часть данных, передаваемых по сети. Ранние интернет-протоколы не имели защиты для аутентификации или конфиденциальности. Благодаря сочетанию асимметричной и симметричной криптографии SSL и TLS проверяют идентичность сервера клиенту и защищают обмен данными от перехватчиков.
Виртуальные частные сети (VPN) помогают защитить обмен данными между клиентом и сервером при передаче по общедоступной сети. Это достигается за счет создания зашифрованного «туннеля», который защищает трафик от перехватчиков. Однако не все протоколы VPN одинаковы, и VPN не всегда обещают полную конфиденциальность.
Безопасное управление учетными данными важно для защиты информации аутентификации, которую веб-сайты и приложения используют для проверки личности пользователя.Хотя для этого существуют передовые методы, недавнее исследование безопасности учетных данных в системах управления контентом (CMS) и недавний скандал с паролями в Facebook демонстрируют, насколько легко это испортить.
Шифрование всего диска предназначено для защиты данных на утерянных, украденных или выброшенных электронных устройствах. Эти системы эффективно используют симметричную криптографию для достижения этой цели, но в некоторых случаях их защиту можно обойти.
Технология блокчейн часто перепродается, но эта технология многообещающая.Блокчейн предназначен для использования криптографических алгоритмов, чтобы заменить доверие в централизованных организациях. В результате он интенсивно использует асимметричную криптографию и хэш-функции для достижения этих целей.
Это одни из самых больших приложений криптографии, но их гораздо больше. Понимание того, как можно использовать криптографию, помогает понять, как ее следует использовать и как что-то может пойти не так.
Основы прикладного криптоанализа
Большинство современных криптоаналитических методов требуют сложной математики и обычно бесполезны, если разработчик хорошо выполнил свою работу.Если криптографический алгоритм сломан в результате атаки, он официально считается устаревшим, поэтому не стоит пытаться взломать любое использование «сильной» криптографии.
Однако люди не всегда используют «сильную» криптографию. В вредоносном ПО нередко можно увидеть такие алгоритмы кодирования, как Base64 или кодирование URL, вместо алгоритма шифрования. Хотя эти алгоритмы похожи на алгоритмы шифрования в том, что они запутывают данные, их легко взломать.
Также не все алгоритмы шифрования одинаковы.Некоторые «современные» алгоритмы, такие как MD5 и SHA-1, считаются «сломанными» и не должны использоваться. Другие, такие как слабое шифрование XOR и ROT-13, никогда не были безопасными и их легко взломать с помощью частотного анализа.
Базовый прикладной криптоанализ требует способности идентифицировать обфусцированные данные и определять, можно ли их легко декодировать. Во многих случаях используемый алгоритм можно легко идентифицировать. В зависимости от результата аналитик может быстро расшифровать данные или перейти к более мягким целям.
Заключение
Большинству разработчиков и хакеров не обязательно быть экспертами в криптографии, чтобы быть эффективными.