в чем особенность асимметричного шифрования

Объяснение асимметричного шифрования без математики

Чтобы лучше понять принцип работы.

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

В нашей метафоре шифрование — это когда вы вешаете замок на что-то, к чему хотите ограничить доступ для посторонних, а расшифровывание — это когда кто-то открывает этот замок.

Коротко об асимметричном шифровании

Если вам нужно погрузиться получше — почитайте нашу статью, там всё про ключи и числа. Короткая версия звучит так:

Мир с замками и заводами

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

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

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

Шифрование — запираем ящик на замок

Теперь представим такую ситуацию:

После этого вы всем объявляете, что если кто-то захочет передать вам что-то по секрету, то он должен сделать так:

Расшифровка — открываем ящик

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

Плюсы и минусы

Плюс — секретное сообщение может вам отправить кто угодно, у кого есть ваш замок. А ещё одними и теми же замками можно запирать много разных посылок, если нужно передать много сообщений.

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

Источник

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

Сложное, но очень полезное.

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

👉 Если совсем просто: в асимметричном шифровании данные шифруются одним ключом, а расшифровываются другим. Первый ключ можно держать у всех на виду, а вот второй нужно прятать.

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

Принцип работы

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

Для расшифровки берут второе число — закрытый ключ. Он должен быть секретным.

Это не могут быть два случайных ключа. Открытый и закрытый ключ всегда связаны между собой алгоритмом, который их выдаёт. Смысл в том, что внутри этого алгоритма есть третье, тоже секретное, число, которое связано с обоими ключами.

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

Пример: алгоритм RSA-2048

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

Разложение большого числа на множители, которое лежит в основе алгоритма RSA, — несложная задача, если таких множителей всего два. Например, если взять число 45, то оно легко раскладывается на множители так:

45 делится на 2? Нет.

45 делится на 3? Да, получается 15.

15 делится на 2? Нет.

15 делится на 3? Да, получается 5.

5 делится на 2, 3 или 4? Нет, остаётся только само число 5.

Получается 45 = 5 × 3 × 3.

Если мы возьмём число 474 689, то таких проверок и действий нам нужно будет выполнить ровно 479, потому что 474 689 = 479 × 991. Для человека это уже сложнее, но компьютер это сделает так же быстро, как и в случае с числом 45.

А вот для числа из 617 знаков — именно столько применяется в алгоритме RSA-2048 — потребуется сотни лет машинных вычислений, чтобы разложить его на два множителя.

Плюсы и минусы асимметричного шифрования

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

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

Применение

Асимметричное шифрование применяют в двух случаях:

Что дальше

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

Источник

Сравнение симметричного и асимметричного шифрований

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

Поэтому мы можем представить их следующим образом:

Асимметричное шифрование (или шифрование с открытым ключом)

Цифровые подписи (может как включать, так и не включать шифрование)

Эта статья будет сфокусирована на симметричных и асимметричных алгоритмах шифрования.

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

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

Взаимосвязанность ключей

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

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

Длина ключей

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

В симметричных системах ключи подбираются случайным образом, а их общепринятая длина варьируется между 128 и 256 бит в зависимости от требуемого уровня безопасности. В асимметричном шифровании между открытым и приватным ключами должна существовать математическая связь, то есть их связывает определенная математическая формула. По этой причине злоумышленники могут использовать этот шаблон для взлома шифра, в свою очередь асимметричные ключи должны быть намного длиннее, чтобы обеспечить эквивалентный уровень безопасности. Разница в длине ключа настолько существенная, что 128-битный симметричный ключ и 2048-битный асимметричный ключ обеспечивают примерно одинаковый уровень безопасности.

Преимущества и недостатки

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

Варианты применения

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

Благодаря своей скорости, симметричное шифрование широко используется для защиты информации во многих современных компьютерных системах. Например, Advanced Encryption Standard (AES) используется правительством США для шифрования секретной информации. AES заменил ранее принятый стандарт шифрования данных (DES), который был разработан в 1970-х годах в качестве стандарта симметричного шифрования.

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

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

Гибридные системы

Во многих приложениях, симметричное и асимметричное шифрование используются вместе. Хорошим примером таких гибридных систем являются криптографические протоколы Security Sockets Layer (SSL) и Transport Layer Security (TLS), которые были разработаны для обеспечения безопасной связи в интернете. Протоколы SSL на данный момент считаются небезопасными и ими не рекомендуют пользоваться. В свою очередь, протоколы TLS считаются безопасными и широко используются всеми современными веб-браузерами.

Использование шифрования криптовалютами

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

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

Заключение

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

Источник

Криптография простым языком: разбираем симметричное и асимметричное шифрование на примере сюжета Звездных войн (Updated)

Привет всем читателям Хабра! Не так давно решил разобраться с алгоритмами шифрования и принципами работы электронной подписи. Тема, я считаю, интересная и актуальная. В процессе изучения попробовал несколько библиотек, однако самой удобной с моей точки зрения является библиотека PyCrypto. У неё прекрасная документация, сопровождаемая примерами.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

После прочтения материала вы усвоите следующие моменты:

Целью данной статьи является познакомить читателя с основными алгоритмами шифрования. При написании статьи, я постарался как можно большее внимание уделить вопросу практического применения. Для программирования использовался язык Python 3.6. При написании кода старался делить его на отдельные части и комментировать все ключевые моменты.

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

Сюжет

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

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

Штаб утвердил два варианта этой операции:

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

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

При планировании операции рассматриваются несколько возможных негативных сценариев:

Шифрование информации

Давайте решим проблему шифрования информации:

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

Метод, при котором шифрование и дешифрация сообщения производится при помощи одного ключа называется симметричное шифрование.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

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

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

Механизм действия такой:

Давайте приступим в программированию! Для разработки необходимого ПО мы будем использовать библиотеку Python под названием pycrypto. У нее отличная документация и в ней представлены все распространенные алгоритмы шифрования.

Для начала разработаем функционал для симметричного шифрования по названием Advanced Encryption Standard (AES). Он является одним из самых распространённых алгоритмов симметричного шифрования.

Хеш документа — это просто строка из символов, которая уникальна для какого-либо набора данных. При любом изменении данных хеш очень сильно меняется. Другими словами, хеш — это своеобразный «отпечаток пальца» для какого-либо набора данных.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

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

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

Пользователь Akela_wolf справедливо заметил, сгенерировать и отправить открытый ключ может кто угодно. Я внес некоторые коррективы в план.

Будет правильно, если до отправки агентов штаб сгенерирует несколько пар ключей и назначит каждому агенту закрытый ключ. Лучше сгенерировать именно несколько пар, чтобы у каждого агента был индивидуальный ключ. Это необходимо, чтобы точно персонифицировать владельца ключа.
Тогда в случае компрометации ключей центр создаст новый СИММЕТРИЧНЫЙ ключ, закодирует его каждому агенту открытыми ключами и отправит по открытому каналу.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования
в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

——BEGIN RSA PRIVATE KEY——
MIIEpAIBAAKCAQEA4JDLu7Vtvg2yqbH6Y0eJPfoEsOlKzgmOodqhA1CqkEG4OpKi
sGW7ciGP4v37GE6edHBCEy4UNkVQtnpPBjzTHvKd1pO70B84vD5OSrS7uNw2EYkj
d/ZwhrJMrcQKRwPkkM4OiewaaAaK0vPWJIKwlW61DY9X7LfNz7aOKMTbKnm1vdR0
919AV98FUmNoQBgka6nXFGmNbi7D43MtLwxBZIXfFupEiANSvOs+57hgaCho7OWM
GUOjLkG6HBscPhJ2W1H5DU9GjwL24ynTvKifgo1/2ue61MV1Pzh5CVaicJKNaRtg
Pd99gFhBGINsXV2X6Jh/W5nNsCddU4EI0AlO8wIDAQABAoIBAARM4YnjrIlSK9Sy
EtBp40frjMFyhjsx1ahlzmWI2utORt/gRPtJx3AlEmNPZ8qMXt5t8+X4IOz1INmN
uAuviH90N++O/q66mlSIgOlPUrT0ipiFXseCUZ9StMMzGNtJSMw5FfAwNEU/stLd
VoF2ezkxWIg88XsX/fn3Tfub4XKLvu4raJGcJ+Fo2GI9hYEGKnHhSuHvDHekTLlQ
z46O+cIwtehbFGcKesyK3zDD1uP5YLPIWpiqt1TgKjJzRF0l4ZJLk+RT7kU2pGIQ
mosOnr+06WyMIg724yQyAIwtS9X0czKBGUESrtTTb1HCXLeTwnncOTxh6q2z42LF
tn34+DECgYEA6EEp4oTvjfTQfUQPMByuAjF1hpdFHQqRymygiFgoF+Mg3QmL0w8j
/84H/q7s8FSx+3th8MK87bFq4lrry+h/mYwmvF5zZbhxcnl2uaX+KUPgpT6TgvAo
WOv2wc4BSaoo9DrxrZId86vpO2qbopw6gkBsvw47HSoQ+FSqXtZ0p8kCgYEA94Zj
b1ulctUjybiszO93TAjkzx3lU3yL+B1eZiQXtJa3mgG+ka1R/uMfr0NlT+Jzo0My
wHV30YRJDxziCrDol9OgSSU0sXwEcUxUIBLBwXLCp1EmMsYG9PB/x4OTWve35a8F
O+rMxuvWaZeIOfVCfL8UEcWweYaVdWIonJN+ltsCgYEAjeSZ2UlMLZce9RjqioNL
EA31dlfeoqJ9dYUuAn6RaB6cSk51vWlnnfXazo9CNIYaAsFbkcL3t+QHn+jaXEZc
BowocjbmG4Q20zBAB6XRBJbynSIA7yMYE1N9+uOHx+CMisGkO12krOUfZex4zzzR
RhhkF8ly9htoKL9ZIv20YXkCgYBzH3UF6PkVZJ5lhtgP5Nx2Z7iLwBrV7ppnBrnO
BcFkw6iXH3KT7KmzQ82LxWvMcMVZzLpBGyFkOAOG3OchE9DKNKpa+sv8NHMYguip
li+5mneAPFTozoOTznuPvtl9OLO2RuXHTVh6uFub9tdsJW8L+A8MiQagLwE6fDHp
SQxaewKBgQDIyzL1THpW3+AMNrOZuI/d3Em5wpGJiZbDSBRosvsfGm/sHaz4Ik5E
nWnftgktmsAD60eORTTh9/ww/nm7f3q9kzT8Sv1MmqeRXq9VFIOeP/+8SSE/7LzD
izlb5xEtVD8LuY54jHyiOxiZC++TQswMnOKKi0Gx26MDoO7Tx9akVw==
——END RSA PRIVATE KEY——

——BEGIN PUBLIC KEY——
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4JDLu7Vtvg2yqbH6Y0eJ
PfoEsOlKzgmOodqhA1CqkEG4OpKisGW7ciGP4v37GE6edHBCEy4UNkVQtnpPBjzT
HvKd1pO70B84vD5OSrS7uNw2EYkjd/ZwhrJMrcQKRwPkkM4OiewaaAaK0vPWJIKw
lW61DY9X7LfNz7aOKMTbKnm1vdR0919AV98FUmNoQBgka6nXFGmNbi7D43MtLwxB
ZIXfFupEiANSvOs+57hgaCho7OWMGUOjLkG6HBscPhJ2W1H5DU9GjwL24ynTvKif
go1/2ue61MV1Pzh5CVaicJKNaRtgPd99gFhBGINsXV2X6Jh/W5nNsCddU4EI0AlO
8wIDAQAB
——END PUBLIC KEY——

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

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

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

Послесловие

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

Источник

Криптография простым языком: разбираем симметричное и асимметричное шифрование на примере сюжета Звездных войн (Updated)

Привет всем читателям Хабра! Не так давно решил разобраться с алгоритмами шифрования и принципами работы электронной подписи. Тема, я считаю, интересная и актуальная. В процессе изучения попробовал несколько библиотек, однако самой удобной с моей точки зрения является библиотека PyCrypto. У неё прекрасная документация, сопровождаемая примерами.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

После прочтения материала вы усвоите следующие моменты:

Целью данной статьи является познакомить читателя с основными алгоритмами шифрования. При написании статьи, я постарался как можно большее внимание уделить вопросу практического применения. Для программирования использовался язык Python 3.6. При написании кода старался делить его на отдельные части и комментировать все ключевые моменты.

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

Сюжет

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

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

Штаб утвердил два варианта этой операции:

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

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

При планировании операции рассматриваются несколько возможных негативных сценариев:

Шифрование информации

Давайте решим проблему шифрования информации:

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

Метод, при котором шифрование и дешифрация сообщения производится при помощи одного ключа называется симметричное шифрование.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

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

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

Механизм действия такой:

Давайте приступим в программированию! Для разработки необходимого ПО мы будем использовать библиотеку Python под названием pycrypto. У нее отличная документация и в ней представлены все распространенные алгоритмы шифрования.

Для начала разработаем функционал для симметричного шифрования по названием Advanced Encryption Standard (AES). Он является одним из самых распространённых алгоритмов симметричного шифрования.

Хеш документа — это просто строка из символов, которая уникальна для какого-либо набора данных. При любом изменении данных хеш очень сильно меняется. Другими словами, хеш — это своеобразный «отпечаток пальца» для какого-либо набора данных.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

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

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

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

Пользователь Akela_wolf справедливо заметил, сгенерировать и отправить открытый ключ может кто угодно. Я внес некоторые коррективы в план.

Будет правильно, если до отправки агентов штаб сгенерирует несколько пар ключей и назначит каждому агенту закрытый ключ. Лучше сгенерировать именно несколько пар, чтобы у каждого агента был индивидуальный ключ. Это необходимо, чтобы точно персонифицировать владельца ключа.
Тогда в случае компрометации ключей центр создаст новый СИММЕТРИЧНЫЙ ключ, закодирует его каждому агенту открытыми ключами и отправит по открытому каналу.

в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования
в чем особенность асимметричного шифрования. Смотреть фото в чем особенность асимметричного шифрования. Смотреть картинку в чем особенность асимметричного шифрования. Картинка про в чем особенность асимметричного шифрования. Фото в чем особенность асимметричного шифрования

——BEGIN RSA PRIVATE KEY——
MIIEpAIBAAKCAQEA4JDLu7Vtvg2yqbH6Y0eJPfoEsOlKzgmOodqhA1CqkEG4OpKi
sGW7ciGP4v37GE6edHBCEy4UNkVQtnpPBjzTHvKd1pO70B84vD5OSrS7uNw2EYkj
d/ZwhrJMrcQKRwPkkM4OiewaaAaK0vPWJIKwlW61DY9X7LfNz7aOKMTbKnm1vdR0
919AV98FUmNoQBgka6nXFGmNbi7D43MtLwxBZIXfFupEiANSvOs+57hgaCho7OWM
GUOjLkG6HBscPhJ2W1H5DU9GjwL24ynTvKifgo1/2ue61MV1Pzh5CVaicJKNaRtg
Pd99gFhBGINsXV2X6Jh/W5nNsCddU4EI0AlO8wIDAQABAoIBAARM4YnjrIlSK9Sy
EtBp40frjMFyhjsx1ahlzmWI2utORt/gRPtJx3AlEmNPZ8qMXt5t8+X4IOz1INmN
uAuviH90N++O/q66mlSIgOlPUrT0ipiFXseCUZ9StMMzGNtJSMw5FfAwNEU/stLd
VoF2ezkxWIg88XsX/fn3Tfub4XKLvu4raJGcJ+Fo2GI9hYEGKnHhSuHvDHekTLlQ
z46O+cIwtehbFGcKesyK3zDD1uP5YLPIWpiqt1TgKjJzRF0l4ZJLk+RT7kU2pGIQ
mosOnr+06WyMIg724yQyAIwtS9X0czKBGUESrtTTb1HCXLeTwnncOTxh6q2z42LF
tn34+DECgYEA6EEp4oTvjfTQfUQPMByuAjF1hpdFHQqRymygiFgoF+Mg3QmL0w8j
/84H/q7s8FSx+3th8MK87bFq4lrry+h/mYwmvF5zZbhxcnl2uaX+KUPgpT6TgvAo
WOv2wc4BSaoo9DrxrZId86vpO2qbopw6gkBsvw47HSoQ+FSqXtZ0p8kCgYEA94Zj
b1ulctUjybiszO93TAjkzx3lU3yL+B1eZiQXtJa3mgG+ka1R/uMfr0NlT+Jzo0My
wHV30YRJDxziCrDol9OgSSU0sXwEcUxUIBLBwXLCp1EmMsYG9PB/x4OTWve35a8F
O+rMxuvWaZeIOfVCfL8UEcWweYaVdWIonJN+ltsCgYEAjeSZ2UlMLZce9RjqioNL
EA31dlfeoqJ9dYUuAn6RaB6cSk51vWlnnfXazo9CNIYaAsFbkcL3t+QHn+jaXEZc
BowocjbmG4Q20zBAB6XRBJbynSIA7yMYE1N9+uOHx+CMisGkO12krOUfZex4zzzR
RhhkF8ly9htoKL9ZIv20YXkCgYBzH3UF6PkVZJ5lhtgP5Nx2Z7iLwBrV7ppnBrnO
BcFkw6iXH3KT7KmzQ82LxWvMcMVZzLpBGyFkOAOG3OchE9DKNKpa+sv8NHMYguip
li+5mneAPFTozoOTznuPvtl9OLO2RuXHTVh6uFub9tdsJW8L+A8MiQagLwE6fDHp
SQxaewKBgQDIyzL1THpW3+AMNrOZuI/d3Em5wpGJiZbDSBRosvsfGm/sHaz4Ik5E
nWnftgktmsAD60eORTTh9/ww/nm7f3q9kzT8Sv1MmqeRXq9VFIOeP/+8SSE/7LzD
izlb5xEtVD8LuY54jHyiOxiZC++TQswMnOKKi0Gx26MDoO7Tx9akVw==
——END RSA PRIVATE KEY——

——BEGIN PUBLIC KEY——
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4JDLu7Vtvg2yqbH6Y0eJ
PfoEsOlKzgmOodqhA1CqkEG4OpKisGW7ciGP4v37GE6edHBCEy4UNkVQtnpPBjzT
HvKd1pO70B84vD5OSrS7uNw2EYkjd/ZwhrJMrcQKRwPkkM4OiewaaAaK0vPWJIKw
lW61DY9X7LfNz7aOKMTbKnm1vdR0919AV98FUmNoQBgka6nXFGmNbi7D43MtLwxB
ZIXfFupEiANSvOs+57hgaCho7OWMGUOjLkG6HBscPhJ2W1H5DU9GjwL24ynTvKif
go1/2ue61MV1Pzh5CVaicJKNaRtgPd99gFhBGINsXV2X6Jh/W5nNsCddU4EI0AlO
8wIDAQAB
——END PUBLIC KEY——

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

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

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

Послесловие

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *