Криптография — это то, как компьютер считывает и кодирует информацию

Обновлено: 21.11.2024

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

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

Разница между шифрованием и дешифрованием

< td>Расшифровка происходит на стороне получателя. < /tr>
Шифрование Расшифровка
Шифрование — это процесс, в котором текстовое сообщение преобразуется в зашифрованную форму. Расшифровка — это процесс, в котором зашифрованное сообщение преобразуется в форму открытого текста.
Шифрование происходит на стороне отправителя.
Он преобразует открытый текст в зашифрованный текст. Он преобразует зашифрованный текст в открытый текст.
При шифровании отправитель шифрует данные, а затем отправляет их получателю. При дешифровании получатель получает данные (зашифрованный текст), а затем преобразует их в открытый текст.< /td>

Алгоритмы шифрования

Существует множество алгоритмов шифрования и дешифрования. Одни алгоритмы симметричны, другие — асимметричны.

Некоторые широко используемые алгоритмы шифрования:

  1. Тройной DES
  2. Алгоритм шифрования Twofish
  3. Алгоритм шифрования Blowfish
  4. Расширенный стандарт шифрования (AES)
  5. RC4
  6. ДПО
  7. Диффи-Хеллман
  8. Безопасность RSA (Ривест-Шамир-Адлеман)

Криптоаналитик

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

Кодирование

Кодирование было реализовано в 1973 году ученым Стюартом Холлом. Кодирование — это процесс преобразования данных открытого текста из одной формы в другую. При кодировании мы используем последовательности символов, таких как буквы, цифры и другие специальные символы, в специальном формате для упрощения передачи.

Основными целями разработки кодирования являются передача данных, хранение данных и сжатие/распаковка данных. Кодировка ASCII является наиболее широко используемым форматом кодирования.

Было замечено, что для отправки данных используется алгоритм кодирования Base64. Base64 очень легко взломать, что упрощает злоумышленнику получение конфиденциальных данных из закодированных данных. Рекомендуется не отправлять конфиденциальные данные с использованием кодирования.

Расшифровка

Декодирование — это процесс извлечения информации из закодированных данных. Как следует из названия, декодирование — это процесс, обратный кодированию. Кодирование и декодирование широко используются при передаче и хранении данных.

Кодирование/декодирование — это совсем другой процесс, и его не следует путать с шифрованием/дешифрованием. Основные различия указаны в разделе ниже.

Различия между кодированием и шифрованием

Кодирование Шифрование
Это процесс преобразования данных открытого текста из одной формы в другую. Это процесс преобразования обычного текста в зашифрованный (шифрованный) текст.
По сравнению с шифрованием кодирование является более простым процессом. По сравнению с кодированием, шифрование является более сложным процессом.
Кодирование реализовать проще. Шифрование реализовать сложнее.< /td>
Кодирование быстрее, чем шифрование. Шифрование медленнее, чем кодирование.
Для декодирования закодированного данные, ключ не требуется. Для расшифровки зашифрованных данных требуется секретный ключ.
Любой может расшифровать закодированные данные. Только авторизованные пользователи (у которых есть секретные ключи) могут расшифровать зашифрованные данные.
Кодирование используется для обеспечения удобства использования данных. Шифрование используется для обеспечения конфиденциальности данных.

Заключение

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

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

При передаче электронных данных криптография чаще всего используется для шифрования и расшифровки электронной почты и других текстовых сообщений. Самый простой метод использует симметричную систему или систему «секретного ключа». Здесь данные шифруются с помощью секретного ключа, а затем и закодированное сообщение, и секретный ключ отправляются получателю для расшифровки. Эта проблема? Если сообщение перехвачено, третья сторона имеет все необходимое для расшифровки и чтения сообщения. Чтобы решить эту проблему, криптологи разработали асимметричную систему или систему «открытого ключа». В этом случае у каждого пользователя есть два ключа: открытый и закрытый. Отправители запрашивают открытый ключ предполагаемого получателя, шифруют сообщение и отправляют его. Когда сообщение прибудет, его расшифрует только закрытый ключ получателя, а это означает, что кража бесполезна без соответствующего закрытого ключа.

Рекомендации

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

Другая полезная литература и ссылки, связанные с криптографией

Определение криптографии

Криптография – это наука о методах защищенной связи, которые позволяют только отправителю и предполагаемому получателю сообщения просматривать его содержимое. Термин происходит от греческого слова kryptos, что означает скрытый.

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

Изучите три основные проблемы безопасности при работе с несколькими арендаторами и способы их устранения, в том числе недостаточную видимость и превышение привилегий.

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

Новейшее аппаратное обеспечение Cisco и привязка Intersight к общедоступному облаку Kubernetes расширяют возможности гибридных облачных продуктов для клиентов. Но .

Чтобы преодолеть разрыв между командами NetOps и SecOps, сетевые специалисты должны знать основы безопасности, включая различные типы .

Какова реальность новых сетевых технологий? Здесь эксперты определяют риски — реальные или предполагаемые — и преимущества, которые они несут .

Закон CHIPS не только направляет миллиарды долларов на производство полупроводниковых микросхем в США, но и отражает серьезные изменения в том, как США .

Подробнее об основных функциях, отличительных чертах, сильных и слабых сторонах платформ блокчейна, которые получают максимальную отдачу .

Эксперты высоко оценивают недавно предложенное Комиссией по ценным бумагам и биржам США правило раскрытия информации о климатических рисках, которое требует от компаний выявлять климатические риски .

ИТ-администраторам, рассматривающим возможность перехода на Windows 11, следует узнать, как функции версии Enterprise могут помочь их .

Последняя сборка для разработчиков Windows 11 позволяет открывать несколько папок в приложении для управления файлами. Предполагается, что эта функция .

Администраторам настольных компьютеров следует обратить внимание на собственные функции безопасности и архитектуру Windows 10, чтобы установить базовый уровень настольных компьютеров.

Nvidia запустила облачную версию своей платформы Omniverse для 3D-моделирования. Компания также представила Omniverse .

Преодолейте сбои AWS, научившись создавать многорегиональную архитектуру, обеспечивающую отказоустойчивость в случае аварии.

Чтобы добиться высокой доступности и отказоустойчивости в AWS, ИТ-администраторы должны сначала понять различия между двумя моделями.

Члены Чартерного института ИТ, профессионального объединения технических специалистов в Великобритании, предостерегают от ограничений.

В течение многих лет он интегрировался с Solarwinds и был перепроданным продуктом, но теперь планирует нацелить корпоративных клиентов на резервную копию.

Исследование показывает, как планы развертывания центров обработки данных гигантов публичного облака влияют на расходы на оборудование и программное обеспечение

Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

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

Термин криптология происходит от греческих слов kryptós («скрытый») и lógos («слово»). Безопасность достигается за счет того, что законные пользователи могут преобразовывать информацию с помощью секретного ключа или ключей, т. е. информацию, известную только им. Полученный в результате шифр, хотя в целом непостижимый и не поддающийся подделке без секретного ключа, может быть расшифрован любым, кто знает ключ либо для восстановления скрытой информации, либо для аутентификации источника. Секретность, хотя и по-прежнему важная функция в криптологии, часто больше не является основной целью использования преобразования, и результирующее преобразование можно лишь приблизительно считать шифром.

Какой наиболее известный криптоалгоритм схемы с открытым ключом? Кто был изобретателем первого шифра перестановки? Проверьте свои знания. Пройдите тест.

Криптография (от греческого kryptós и gráphein, «писать») изначально была изучением принципов и методов, с помощью которых информация могла быть скрыта в шифрах, а позже раскрывается законными пользователями с использованием секретного ключа. Теперь он охватывает всю область управляемых ключом преобразований информации в формы, которые либо невозможно, либо вычислительно невыполнимо для неуполномоченных лиц дублировать или отменить.

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

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

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

Общие соображения

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

Основы кодов, шифров и аутентификации

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

Код — это просто неизменное правило замены части информации (например, буквы, слова или фразы) другим объектом, но не обязательно того же типа; Известным примером является азбука Морзе, в которой буквенно-цифровые символы заменяются узорами из точек и тире. Вероятно, наиболее широко используемым сегодня кодом является американский стандартный код для обмена информацией (ASCII). Используемый во всех персональных компьютерах и терминалах, он представляет 128 символов (и такие операции, как возврат на одну позицию и возврат каретки) в форме семибитных двоичных чисел, т. е. в виде строки из семи единиц и нулей. В ASCII a в нижнем регистре всегда равно 1100001, A в верхнем регистре всегда равно 1000001 и т. д. Акронимы также являются широко известными и используемыми кодами, как, например, Y2K (для «2000 года») и COD (что означает «наложенный платеж»). Иногда такое кодовое слово приобретает независимое существование (и значение), в то время как исходная эквивалентная фраза забывается или, по крайней мере, больше не имеет точного значения, приписываемого кодовому слову — например, модем (первоначально означавший «модулятор-демодулятор»). /p>

Шифры, как и в случае кодов, также заменяют часть информации (элемент открытого текста, который может состоять из буквы, слова или строки символов) другим объектом. Разница в том, что замена производится по правилу, определяемому секретным ключом, известным только отправителю и законному получателю, в расчете на то, что посторонний, не знающий ключа, не сможет инвертировать замену для расшифровки шифра. В прошлом стирание различий между кодами и шифрами было относительно незначительным. Однако в современных коммуникациях информация часто и закодирована, и зашифрована, поэтому важно понимать разницу. Канал спутниковой связи, например, может кодировать информацию в символах ASCII, если она является текстовой, или модулировать импульсно-кодом и оцифровывать ее в двоично-десятичной форме (BCD), если это аналоговый сигнал, такой как речь. Полученные закодированные данные затем шифруются в шифры с использованием стандарта шифрования данных или расширенного стандарта шифрования (DES или AES; описано в разделе «История криптологии»). Наконец, сам результирующий поток шифров снова кодируется с использованием кодов с исправлением ошибок для передачи от наземной станции к спутнику, находящемуся на орбите, а оттуда обратно к другой наземной станции. Эти операции затем отменяются в обратном порядке предполагаемым получателем для восстановления исходной информации.

В простейшем примере настоящего шифра A хочет отправить одно из двух равновероятных сообщений B, например, купить или продать определенную акцию. Связь должна осуществляться по беспроводному телефону, который могут прослушивать прослушивающие устройства. Для интересов A и B жизненно важно, чтобы посторонние не были причастны к содержимому. своего общения. Чтобы помешать любым подслушивателям, A и B заранее договариваются о том, действительно ли A скажет то, что он хочет B сделать или наоборот. Поскольку это решение с их стороны должно быть непредсказуемым, они принимают решение, подбрасывая монетку. Если выпадет орел, A скажет Купить, когда он хочет, чтобы B купил, и Продать, когда он хочет >B продать. Однако, если выпадет решка, он скажет Купить, когда он хочет, чтобы B продал, и так далее. (Сообщения передают только один бит информации и поэтому могут быть 1 и 0, но пример более нагляден с использованием Купить и Продать.)

При использовании этого протокола шифрования/дешифрования перехватчик не узнает о фактической (скрытой) инструкции, которую A отправил B в результате прослушивания их телефонная связь. Такая криптосистема определяется как «идеальная». Ключом в этом простом примере является знание (общее для A и B) о том, говорит ли A то, что он хочет B< /em> сделать или наоборот. Шифрование — это действие A, когда он либо говорит, что он хочет сделать, либо нет, как это определено ключом, в то время как дешифрование — это интерпретация B того, что A на самом деле имел в виду, не обязательно то, что он сказал.

Этот пример можно расширить, чтобы проиллюстрировать вторую основную функцию криптографии, предоставив B возможность удостовериться, что инструкция действительно поступила от A и что она остается неизменным, т. е. является средством аутентификации сообщения.В примере, если перехватчик перехватил сообщение 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 em> и B могли использовать. Как и в предыдущем примере, два сообщения, между которыми он должен выбирать, передают разные инструкции B, но теперь к одному из шифров добавляется 1, а к другому — 0 в качестве бита аутентификации, и только одно из они будут приняты B. Следовательно, шансы C заставить B действовать вопреки инструкциям A по-прежнему равны 1/2 ; а именно, подслушивание разговора A и B не повысило шансов C обмануть B.< /p>

Очевидно, что ни в одном примере, как в режиме секретности, так и в режиме секретности с проверкой подлинности, один и тот же ключ нельзя использовать повторно. Если C узнал сообщение, подслушивая и наблюдая за ответом B, он мог вывести ключ и после этого выдать себя за A с уверенностью в успехе. Однако если A и B выберут столько случайных ключей, сколько у них есть сообщений для обмена, безопасность информации останется одинаковой для всех обменов. При таком использовании эти примеры иллюстрируют жизненно важную концепцию одноразового ключа, который является основой для единственных криптосистем, криптозащищенность которых может быть доказана математически. Это может показаться «игрушечным» примером, но он иллюстрирует основные особенности криптографии. Стоит отметить, что первый пример показывает, как даже ребенок может создавать шифры ценой подбрасывания монеты столько раз, сколько у него есть битов информации, которые он может скрыть, которые не могут быть «взломаны» даже национальными криптологическими службами. произвольной вычислительной мощности — развенчание непрофессионального представления о том, что недостигнутая цель криптографии — разработать шифр, который невозможно взломать.

Криптография процесса записи (шифрования) и решения (дешифрования) кодов. Точно так же, как TCP обеспечивает надежную передачу по ненадежной сети, криптография обеспечивает проверяемую и безопасную передачу по небезопасной сети.

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

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

Задолго до появления компьютеров всадники на лошадях могли проглотить ключ к сообщению, если их поймали.Теперь сообщения и ключи отправляются через Интернет, поэтому симметричная криптография не работает.

Криптография с открытым ключом (асимметричная) была создана математиками в 1970-х годах. Он использует два разных ключа для шифрования и дешифрования, и знание ключа шифрования не позволяет определить ключ дешифрования.

Например, каждый банк имеет открытый ключ, и когда пользователи вводят свой пароль на веб-сайте банка, браузер пользователя шифрует пароль с помощью ключа банка перед его отправкой через Интернет. Тогда только банк сможет расшифровать это сообщение.

Когда вы устанавливаете безопасное соединение HTTP (URL-адрес начинается с «https://», а в адресной строке браузера появляется значок замка), браузер использует протокол Transport Layer Security (TLS) или более старую версию, называемую Secure Sockets Layer (SSL) на основе криптографии с открытым ключом. Сайт, к которому вы подключаетесь, отправляет свой открытый ключ, и ваш браузер использует его для шифрования любой отправляемой вами информации (например, вашего пароля для этого сайта).

Также можно использовать закрытый ключ для шифрования и открытый ключ для расшифровки. Это не годится для секретных сообщений (почему бы и нет?), но полезно для цифровых подписей. Я использую свой закрытый ключ для шифрования сообщения; вы используете мой открытый ключ, чтобы расшифровать его. Если в результате вы получите значимое сообщение, это доказывает, что сообщение было зашифровано с помощью моего закрытого ключа. (Если мне нужна и секретность, и цифровая подпись, я шифрую сообщение своим закрытым ключом, чтобы подписать его, а затем шифрую зашифрованный результат снова вашим открытым ключом, чтобы сохранить его в секрете. Вы расшифровываете его дважды, сначала с вашим закрытым ключом, а затем с моим открытым ключом.) Это хороший пример композиции функций: выходные данные первого шифрования являются входными данными для второго шифрования.

Следующий набор упражнений несколько смущает меня по двум причинам: (1) речь идет не конкретно об открытом ключе, чего я ожидаю на данном этапе повествования; (2) нет ничего о том, как расшифровать сообщение! (Кстати, технически это должно быть «шифрование»; «кодирование» — это то, что вы делаете, когда у вас есть большая кодовая книга, в которой закодированные представления присваиваются словам, а не буквам.) --bh< /p>

  1. Создайте сценарий шифрования encode () с (), который принимает текстовую строку (в первом входном слоте) и функцию (во втором входном слоте) и кодирует сообщение текстовой строки, используя предоставленную функцию. (Советы ниже.) Например:

    Используйте абстракции для упрощения процесса написания кода:
    1. Создайте блок преобразования сообщения () в список unicode, который преобразует текстовую строку (сообщение) в список Unicode, чтобы вы могли выполнять функцию над числами в списке. Использование map и split .
    2. Создайте блок convert unicodelist() to message, который преобразует список Unicode в текстовую строку, чтобы можно было преобразовать выходные данные функции обратно в закодированный текст. Используйте объединение и сопоставление
    3. Создайте блок encode () with (), который преобразует входное сообщение в список Unicode, выполняет введенную функцию для каждого числа Unicode в списке, переводит числа обратно в буквы и сообщает о закодированном сообщении. Используйте convert message() to unicodelist , map и convert unicodelist() to message .
    4. "Кодировка U4L6"

      О, вот оно, но только если у вас есть дополнительное время. Следующий набор упражнений вводит в заблуждение, поскольку предполагает, что всем инвертировать функцию должно быть сложно. Это было бы бесполезно для криптографии; мне должно быть легко инвертировать, используя мой закрытый ключ. Я не знаю, как это исправить, не приводя конкретный пример функции. --bh

      Обратная функция — это функция, которая отменяет вашу функцию. Например, если ваша функция f(x)=x^2+3 , то обратная функция будет f(x)=\sqrt .

      Вспомните, что в реальной криптографии функцию кодирования было бы очень сложно инвертировать. Для этого примера у вас, вероятно, есть функция кодирования, которую относительно легко инвертировать. Но вы поняли: если бы функцию было трудно инвертировать, сообщение было бы трудно декодировать.

      Математика криптографии

      Криптография использует математические идеи. Безопасность шифрования с открытым ключом зависит от выбора ключа шифрования, который сложно инвертировать (отменить). Эти односторонние функции обеспечивают безопасность, поскольку

      1. Если у Алисы есть функция (назовем ее f ), которую трудно инвертировать (отменить), она может опубликовать функцию f в Интернете, чтобы все могли ее увидеть. потому что только она знает обратное, f -1 , которое декодирует кодировку f.
      2. Если кто-то (например, Боб) хочет отправить Алисе защищенное сообщение M, он может запустить свое сообщение через одностороннюю функцию Алисы и опубликовать результат для всеобщего обозрения. В функциональном обозначении он публикует f (M).
      3. Только Алиса может декодировать f (M ), так как только у нее есть обратная функция f -1, которая отменяет f. Она вычисляет f -1 (f (M )). А поскольку f -1 является обратным (отменяет) f, результатом ее вычислений является M, сообщение, отправленное Бобом.

      Чтобы отправлять безопасные сообщения туда и обратно, Бобу и Алисе обоим нужно опубликовать свои открытые ключи и сохранить свои обратные функции (свои закрытые ключи) при себе.

      Открытые стандарты безопасности

      Для правильной работы криптографическая функция должна быть простой для владельца закрытого ключа, но сложной для всех остальных. Откуда мы знаем, что означает «тяжелый»? Например, современные криптографические методы основаны на сложности нахождения простых множителей очень больших чисел. Нет доказательств того, что кто-то не придумает быстрый способ сделать это, но люди вполне уверены в этом, потому что проблема хорошо изучена многими математиками. (С другой стороны, когда квантовые компьютеры станут практичными, факторизация будет простой, и потребуются новые криптографические методы.)

      Что позволяет математикам изучать сложность взлома интернет-криптографии, так это то, что используемый метод — криптографическая функция — открыто публикуется. Это может показаться странным; если вы хотите хранить секреты, не должны ли вы хранить в секрете и технику? Но секретные алгоритмы могут иметь слабые места, которые остаются незамеченными до тех пор, пока ими не воспользуется какой-нибудь злодей. Открытые стандарты позволяют изучить алгоритм перед его применением на практике.

      Центры сертификации

      Криптография с открытым ключом не решает всех проблем, потому что кто-то может опубликовать поддельный открытый ключ, выдавая себя за Алису. Затем кто-то может случайно зашифровать свое сообщение для Алисы с помощью ключа мошенника, и тогда мошенник сможет прочитать сообщение. На практике это частично устраняется путем использования доверенных третьих сторон, называемых центрами сертификации, для выдачи открытых ключей. Но создать центр сертификации может каждый! (В параметрах безопасности вашего браузера вы можете увидеть все центры сертификации, которым он доверяет. У моего чуть более 100 центров сертификации, включая правительства, компании, о которых я слышал (например, Microsoft), и компании, о которых я ничего не знаю (например, Thawte) . Я доверяю им, потому что Firefox сказал мне об этом, и я доверяю разработчикам Firefox.)

      Здесь N – произведение двух огромных простых чисел p и q . То есть N=pq. И e относительно просто (не имеет общих множителей) произведения (p-1)(q-1) .

      Открытый ключ — это пара (N,e), ​​а секретный ключ — это число d, так что ed \equiv (p-1)(q-1) \text < mod >N .

      Читайте также: