Что такое криптография на компьютере и как ее решить
Назначение криптографических методов защиты информации; основные задачи по защите информации, решаемые с использованием криптографических методов.
Целью применения криптографических методов является защита информационной системы от целенаправленных разрушающих воздействий (атак) со стороны противника.
Основные задачи криптографии:
- Обеспечение конфиденциальности данных (предотвращение несанкционированного доступа к данным). Это одна из основных задач криптографии, для ее решения применяется шифрование данных, т.е. такое их преобразование, при котором прочитать их могут только законные пользователи, обладающие соответствующим ключом
- Обеспечение целостности данных— гарантии того, что при передаче или хранении данные не были модифицированы пользователем, не имеющим на это права. Под модификацией понимается вставка, удаление или подмена информации, а также повторная пересылка перехваченного ранее текста. name='more'>
- Обеспечение аутентификации. Под аутентификацией понимается проверка подлинности субъектов (сторон при обмене данными, автора документов, и т.д.) или подлинности самой информации. Во многих случаях субъект X должен не просто доказать свои права, но сделать это так, чтобы проверяющий субъект (Y) не смог впоследствии сам использовать полученную информацию для того, чтобы выдать себя за X. Подобные доказательства называются «доказательствами с нулевым разглашением».
- Обеспечение невозможности отказа от авторства— предотвращение возможности отказа субъектов от совершенных ими действий (обычно — невозможности отказа от подписи под документом). Эта задача неотделима от двойственной — обеспечение невозможности приписывания авторства. Наиболее яркий пример ситуации, в которой стоит такая задача — подписание договора двумя или большим количеством лиц, не доверяющих друг другу. В такой ситуации все подписывающие стороны должны быть уверены в том, что в будущем, во-первых, ни один из подписавших не сможет отказаться от своей подписи и, во-вторых, никто не сможет модифицировать, подменить или создать новый документ (договор) и утверждать, что именно этот документ был подписан. Основным способом решения данной проблемы является использование цифровой подписи.
Помимо перечисленных основных задач можно назвать также электронное голосование, жеребьевку, разделение секрета (распределение секретной информации между несколькими субъектами таким образом, чтобы воспользоваться ей они могли только все вместе) и многое другое.
В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!
Мы ежедневно сталкиваемся с криптографией — когда хотим что-то оплатить в интернете, авторизоваться на сайте или подписать электронные документы. Криптографические методы помогают защитить персональные данные и обеспечивают безопасную передачу информации в сети.
Без криптографии современную жизнь нельзя было бы представить в том виде, который нам известен. Перестали бы выполняться банковские транзакции, остановилась бы передача интернет-трафика, а сотовые телефоны не смогли бы работать. Все конфиденциальные сведения оказались бы общедоступными и могли бы попасть к злоумышленникам.
Криптография предотвращает подобные угрозы и поддерживает безопасность. Разбираем, как устроены её методы и можно ли им доверять. Перечисляем сферы, где она применяется и как регулируется государством.
Что такое криптография
К основным принципам работы криптографической системы относят:
Для продолжения изучения криптографии важно разобраться с её основными терминами:
Символ — любой знак, который используется для кодирования информации.
Алфавит — множество символов.
Зашифрование — преобразование открытого текста в криптограмму.
Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!Как работает шифрование
Зачем нужна криптография
Цель криптографии — защита информационной системы от атак злоумышленников.
Криптография решает несколько задач:
Где используется криптография
Почти все важные аспекты нашей жизни зависят от информационных технологий и гаджетов, поэтому криптография используется повсеместно.
Вот сферы, где она применяется наиболее активно:
- банки — для обслуживания карт и счетов;
- веб-сайты с аутентификацией — для хранения и обработки паролей в сети;
- бухучёт — для сдачи бухгалтерских и иных отчётов через удалённые каналы связи;
- информационная безопасность — для защиты от несанкционированного доступа к данным;
- онлайн-продажи — для шифрования данных, номера карты или телефона, адреса, email при передаче по открытым каналам.
То есть, криптография есть везде, где фигурируют информационные технологии и присутствует цифровизация. Это довольно перспективное направление для обучения.
Примеры использования криптографии
Если вы рядовой пользователь , криптография помогает обеспечить приватность. Зная, как работает определённый шифр или протокол, в чем его плюсы и минусы, вы сможете осознанно выбирать инструменты для работы и общения в сети, избежать утечки данных.
Если вы программист или специалист по информационной безопасности , криптография помогает в создании крупных проектов. Неважно, что конкретно вы разрабатываете: контентный сервер, мессенджер или мобильное приложение, везде есть данные, которые нужно защищать от перехвата. Криптография защищает каждую операцию специальными протоколами и исключает попадание информации к злоумышленникам.
Также криптографические методы используют при проведении электронных голосований, жеребьёвках, разделении секретов, когда конфиденциальная информация делится между несколькими субъектами, чтобы они могли воспользоваться ею только вместе.
Виды криптографических методов
Есть разные способы классификации криптографических методов, но наиболее распространённый вариант деления — по количеству ключей.
Выделяют следующие виды:
- бесключевые методы , в которых не используются ключи;
- одноключевые или симметричные методы , в который используется дополнительный ключевой параметр — секретный ключ;
- двухключевые или асимметричные методы , в которых используется два ключа — секретный и открытый.
Классификация криптографических методов
Разберём наиболее часто используемые криптографические методы: симметричное шифрование, асимметричное шифрование и хэширование.
Симметричное шифрование
Симметричное шифрование подразумевает, что при передаче зашифрованной информации адресат должен заранее получить ключ для расшифровки информации.
- единственная схема шифровки, обладающая абсолютной теоретической стойкостью, — все попытки расшифровать её бесполезны.
- в случае утечки информации невозможно доказать, от кого она произошла;
- помимо секретного ключа нужен открытый канал для его передачи.
У асимметричного шифрования таких проблем нет, поскольку открытый ключ можно свободно передавать по сети. Обычно асимметричное и симметричное шифрование используют в паре, чтобы передать ключ симметричного шифрования, на котором шифруется основной объем данных.
Асимметричное шифрование
Основы асимметричного шифрования были выдвинуты американскими криптографами Уитфилдом Диффи и Мартином Хеллманом. Они предположили, что ключи можно использовать парами — ключ шифрования и ключ дешифрования. При этом один ключ нельзя получить из другого. Поэтому суть метода заключается в том, что зашифрованная при помощи секретного ключа информация может быть расшифрована только при помощи открытого и наоборот. Ключи создаются парами и соответствуют друг другу.
Основная особенность асимметричного шифрования — секретный ключ известен лишь одному человеку. При симметричном шифровании он должен быть известен двоим.
- не нужно создавать защищённый канал для передачи секретного ключа — все взаимодействия происходят в открытом канале;
- наличие единственной копии ключа уменьшает шансы его утраты и позволяет установить персональную ответственность за сохранение тайны;
- наличие двух ключей позволяет использовать шифрование в двух режимах — секретной связи и цифровой подписи.
- возможность подмены открытого ключа,
- медленная скорость шифрования.
Большинство безопасных алгоритмов с открытыми ключами построены на необратимых функциях. Простейший пример — алгоритм RSA. Он используется для защиты программного обеспечения и в схемах цифровой подписи.
Хэширование
Хэширование — преобразование данных произвольной длины в битовую строку фиксированной длины. Вы можете взять любой текст, скажем, повесть Пушкина «Капитанская дочка» и зашифровать её при помощи специального алгоритма.
Всякий раз алгоритм будет преобразовывать текст в один и тот же хэш. Например, такой.
Но если в исходном тексте потеряется хотя бы одна запятая, хэш полностью изменится.
Единственный доступный способ расшифровать хэш — перебор. Чтобы найти верный вариант, нужно перебрать тысячи комбинаций.
- для криптоустойчивой хэш-функции нельзя вычислить по хэшу исходные данные или подобрать другие данные с таким же хэшем;
- по значению ключа можно расшифровать данные за одну операцию;
- после вычисления хэш может передаваться и существовать отдельно от данных, его можно вычислить повторно.
- нельзя провести операцию, обратную хэшированию, и восстановить исходные данные;
- вас могут взломать с помощью перебора, если хэш-функция не криптоустойчива.
К хэшированию обращаются для хранения паролей. Когда пользователь регистрируется в системе, его данные хранятся не в чистом виде, а в виде хэша. И всякий раз, когда он вводит пароль, тот хэшируется снова и только потом сравнивается с имеющимся в базе. То есть, даже если база будет украдена, никто не сможет узнать реальные пароли. Благодаря этому свойству хэширование активно применяют в блокчейне
Как криптография используется в блокчейне
Криптография используется в блокчейне как средство защиты пользователей. Она помогает обеспечить безопасность транзакций сохранить личную информацию.
Блок — единица кода, которая выполняет функцию хранилища данных обо всех действиях.
Сформированный блок проверяется участниками сети и, если все согласны, то его присоединяют к цепочке, из-за чего изменить информацию в нем невозможно. Особенность каждого блока в том, что он не только захэширован, но и хранит информацию о предыдущем блоке.
Блокчейн — постоянно увеличивающаяся цепочка таких блоков.
Если мы внесём изменения во вторую запись, её хэш станет совсем другим и перестанет совпадать с тем, что был записан в третью. То есть блокчейн позволяет создавать записи, которые невозможно изменить незаметно.
Блокчейн активно используется в криптовалюте, например, BitCoin. Если кто-то захочет украсть её, ему придётся одновременно изменять блоки на всех компьютерах. Также блокчейн используют при хранении ставок, при проведении выборов, чтобы избежать фальсификации и при заверении документов
Важно понимать, что система не надёжна на 100%. В программном обеспечении могут возникать ошибки, позволяющие воровать данные до того, как они будут захэшированы.
Как криптография регулируется государством
Деятельность, связанная с криптографическим шифрованием, ограничена на территории России. Основной уполномоченный орган — Федеральная служба безопасности. ФСБ вправе осуществлять государственный контроль за организацией и функционированием криптографической безопасности. За органами ФСБ закреплена функция регулирования разработки, производства, реализации, эксплуатации, ввоза и вывоза шифровальных средств.
Также есть нормативные правовые акты, регулирующие криптографию в России:
- запрещает госорганам и предприятиям использовать несертифицированные средства шифрования
- запрещает банкам применять несертифицированные средства шифрования и обязует Банк России следить за соблюдением этого запрета
- запрещает разрабатывать и эксплуатировать шифровальные средства без лицензии
- определяет общую схему электронной цифровой подписи
- определяет разрешенные функции хэширования с длинами хэш-кода 256 и 512 бит
- регулирует отношения при разработке, производстве, реализации и эксплуатации шифровальных средств
- регулирует использование электронных подписей при оформлении сделок, оказании государственных и муниципальных услуг
- определяет, какие органы власти, отвечают за лицензирование
- утверждает порядок предоставления документов
- утверждает типовые формы лицензии
- контролирует лицензирование
- определяет разработку, производство, модернизацию, монтаж, установку, ремонт и сервисное обслуживание шифровальных средств
Заключение
Это только малая часть того, что можно узнать по теме криптографии. Если вы просто хотели понять, что это такое, надеемся, вы удовлетворили интерес. Если хотите изучить тему глубже, советуем пройти онлайн-курсы из нашей подборки. На них вы подробно разберёте тему кибербезопасности и сможете освоить востребованную профессию.
Мы живем в пост-сноуденовском мире. И для многих следствием из этого является то, что ни один из ваших цифровых активов не защищен от слежки. Однако есть способы пользоваться интернетом с применением безумных математических методов таким образом, чтобы никто больше не мог видеть, что вы отправляете кому бы то ни было. Я постараюсь подробно объяснить, как это все работает.
Не стесняйтесь пролистать теоретическую часть, если захотите просто поиграться с PGP-шифрованием в конце статьи.
Действительно ли все правоохранительные органы и американское правительство против шифрования?
Необязательно. Сотрудники правоохранительных органов и разведки часто говорят, что они ценят преимущества шифрования, когда речь идет о защите данных от таких угроз, как хакеры или иностранные правительства. Однако они хотят иметь возможность доступа к зашифрованным данным – особенно к коммуникациям между людьми – в интересах проводимых ими расследований.
Как шифрование защищает мои данные?
Алгоритмы шифрования используют математику для « скремблирования » данных, чтобы они не могли быть прочитаны посторонним лицом — например, хакером или правительственными службами.
Данные могут быть зашифрованы в двух местах: во-первых, они могут шифроваться при передаче – например, когда вы отправляете информацию из своего браузера на веб-сайт. Во-вторых, данные могут шифроваться, когда они находятся «в состоянии покоя» – например, когда они хранятся на компьютере или на сервере.
Данные, которые могут быть прочитаны и поняты без каких-либо специальных мер, называют «открытым (или простым) текстом». Методы маскирования открытого текста таким образом, чтобы скрыть его содержание, называются шифрованием. Результатом шифрования открытого текста является нечитаемая тарабарщина, называемая шифротекстом. Шифрование используется, чтобы гарантировать сокрытие информации от всех, для кого она не предназначена, включая даже тех, кто может видеть зашифрованные данные. Процесс возвращения шифротекста к первоначальному состоянию открытого текста называется расшифровкой.
Шифротекст
Если бы эта статья была зашифрована, любой перехвативший ее зашифрованную версию увидел бы очень длинную строку из несвязных цифр и букв, как, например: «SNaqi82xleab92lkafdtuijgjf0dgfdojtkr8vcp2dso».
Шифрование с симметричным ключом
Чтобы расшифровать скремблированные данные, вам понадобится «ключ» шифрования (что-то вроде пароля). Ключ – это очень большое число, которое алгоритм шифрования использует для изменения данных обратно в читаемую форму. Без ключа никто, кроме владельца зашифрованных данных, не может получить доступ к читаемой версии. Процесс возврата скремблированных данных к читаемому состоянию называется «расшифровкой». Это и называется шифрованием с симметричным ключом.
У такого шифрования есть свои преимущества. Оно очень быстрое. Оно очень удобно для данных, которые никуда не отправляются. Однако в качестве способа передачи защищенных данных одноключевое шифрование может быть довольно дорогостоящим из-за сложности безопасного распределения ключей.
Вспомните персонажа из какого-нибудь шпионского фильма: человека с запертым портфелем, прикованным наручниками к запястью. Что там у него в портфеле? Вероятно, не сам код запуска ракеты, формула биотоксина или план вторжения. Скорее там лежит ключ для расшифровки секретных данных.
Чтобы отправитель и получатель могли безопасно общаться с помощью симметричного шифрования, они должны договориться о ключе и хранить его в секрете. Если они физически находятся в разных местах, им приходится доверять курьеру, приватной телефонной линии или какому-то другому защищенному средству связи в том, чтобы секретный ключ не был раскрыт во время передачи. Любой, кто случайно получит или намеренно перехватит ключ шифрования при его передаче, сможет прочитать, изменить и подделать информацию, зашифрованную или аутентифицированную с помощью этого ключа. От DES до секретного кольца-декодера капитана Полночь , постоянная проблема с шифрованием с симметричным ключом заключается в распределении ключей: как передать ключ получателю, исключив возможность его перехвата?
Криптография с открытым ключом (асимметричное шифрование)
Проблемы распределения ключей решаются криптографией с открытым ключом. Криптография с открытым ключом – это асимметричная схема, в которой для шифрования используется пара ключей: открытый, который шифрует данные, и соответствующий ему секретный ключ для расшифровки. Открытый ключ вы публикуете в открытом доступе, а секретный сохраняете в тайне. С помощью вашего открытого ключа кто угодно – даже совершенно незнакомые вам люди – может зашифровать информацию, прочесть которую после этого сможете только вы.
Определить секретный ключ по открытому вычислительно невозможно. Обладая открытым ключом, кто угодно может зашифровать данные, но не может их расшифровать. Расшифровать их может только обладатель соответствующего секретного ключа.
Поскольку одноключевая криптография когда-то была единственным доступным средством передачи секретной информации, расходы на защищенные каналы и безопасное распределение ключей ограничивали ее использование кругом тех, кто мог себе это позволить, то есть до правительств и крупных банков (ну или детей с секретными кольцами-декодерами). Шифрование с открытым ключом – это технологическая революция, обеспечивающая доступ к надежной криптографии для самого широкого круга взрослых людей. Помните курьера с запертым портфелем, прикованным наручниками к запястью? Так вот шифрование с открытым ключом лишает его работы (возможно, к его же облегчению).
PGP (от англ. Pretty Good Privacy) сочетает в себе некоторые из лучших свойств как одноключевой криптографии, так и криптографии с открытым ключом. Это гибридная криптосистема. Когда пользователь шифрует открытый текст с помощью PGP, система сначала производит его сжатие. Сжатие данных сокращает время их передачи, экономит место на диске и, что еще более важно, повышает надежность криптографической защиты. Большинство методов криптоанализа используют для взлома шифра паттерны, найденные в открытом тексте. Сжатие данных сокращает количество паттернов в открытом тексте, тем самым значительно повышая устойчивость к криптоанализу. (Слишком короткие для сжатия или плохо сжимающиеся файлы не сжимаются.)
Затем PGP создает сеансовый ключ, являющийся одноразовым секретным ключом. Этот ключ представляет собой случайное число, сгенерированное на основе произведенных вами движений мыши и нажатий клавиатуры. Сеансовый ключ работает с очень безопасным и быстрым алгоритмом одноключевого шифрования для шифрования открытого текста. Результатом является шифротекст. После того как данные зашифрованы, сеансовый ключ шифруется в открытый ключ получателя. Этот зашифрованный в открытом ключе сеансовый ключ передается вместе с зашифрованным текстом получателю.
Расшифровка происходит в обратном порядке. Копия PGP на стороне получателя использует его секретный ключ для восстановления временного сессионного ключа, который PGP использует для расшифровки шифротекста, созданного посредством одноключевого шифрования.
Комбинация этих двух методов шифрования сочетает в себе удобство шифрования с открытым ключом и скорость симметричного шифрования, которое примерно в 1000 раз быстрее шифрования с открытым ключом. Шифрование с открытым ключом, в свою очередь, решает проблемы распределения ключей и передачи данных. При их совместном использовании производительность и распределение ключей улучшаются без какого-либо ущерба безопасности.
Ключи
Ключ – это значение, работающее с криптографическим алгоритмом для получения определенного шифротекста. Ключи в основном представляют собой очень, очень, очень большие числа. Размер ключа измеряется в битах; число, представляющее собой 1024-битный ключ, чертовски велико. В криптографии с открытым ключом, чем больше ключ, тем надежнее шифрование.
Хотя открытый и секретный ключи математически связаны, очень трудно получить секретный ключ только на основе открытого ключа; однако это всегда возможно при наличии достаточного времени и вычислительных мощностей. Поэтому очень важно выбирать ключи правильного размера – достаточно большие, чтобы быть безопасными, но достаточно маленькие, чтобы обеспечивать приемлемую скорость шифрования. Кроме того, необходимо учитывать, кто может попытаться прочесть ваши файлы, насколько они могут быть целеустремлены, каким количеством времени и какими ресурсами они располагают.
Большие ключи будут обеспечивать криптографическую защиту более длительное время. Если информация, которую вам нужно зашифровать, должна быть скрыта в течение многих лет, вы можете использовать очень большой ключ. При этом, конечно, нельзя сказать наверняка, сколько времени понадобится для определения вашего ключа при использовании более быстрых и эффективных компьютеров завтрашнего дня. Было время, когда 56-битный симметричный ключ считался чрезвычайно безопасным.
Цифровые подписи
Одним из важнейших преимуществ криптографии с открытым ключом является то, что она предоставляет способ для применения цифровых подписей. Цифровые подписи позволяют получателю информации проверить подлинность ее происхождения, а также убедиться в том, что она не была изменена. Таким образом, цифровые подписи с открытым ключом обеспечивают аутентификацию и целостность данных. Цифровая подпись обеспечивает также невозможность отказа от авторства, то есть она не оставляет отправителю возможности утверждать, что он в действительности не отправлял подписанную такой подписью информацию. Эти особенности важны для криптографии в той же мере, что и конфиденциальность, если не больше.
Цифровая подпись служит той же цели, что и подпись рукописная. Однако рукописную подпись несложно подделать. Цифровая подпись превосходит рукописную в том, что ее практически невозможно подделать, плюс она свидетельствует о подлинности и целостности информации, а также о личности подписавшего.
Некоторые люди используют цифровые подписи чаще, чем шифрование. Например, вас может не беспокоить, узнает ли кто-то о том, что вы только что внесли на свой счет 1000 долларов, однако вы хотите быть совершенно уверены, что передали их именно кассиру банка, а не кому-то, кто им притворился.
Вместо того чтобы шифровать информацию с помощью чужого открытого ключа, вы шифруете ее своим секретным ключом. Если информация может быть расшифрована с помощью вашего открытого ключа, значит, она исходит от вас.
Обратите внимание: для прохождения следующего руководства вам понадобится установить GnuPG (GPG) .
Командная строка GPG (PGP) — руководство для начинающих
Эдвард Сноуден первоначально связался с журналисткой Лорой Пойтрас, чтобы сообщить ей о своей сокровищнице документов, именно с помощью PGP.
Итак, давайте посмотрим, что собой представляет PGP и насколько он прост в использовании.
Краткий обзор (если вы пропустили теорию):
Примечание: существуют приложения с графическим интерфейсом, которые делают этот процесс проще и понятнее, но здесь мы для достижения того же результата используем командную строку. (Мы будем использовать командную строку Linux. Пользователи Windows могут обратиться к руководству по GUI-приложению GnuPG, которое делает все то же самое, только с управлением через графический интерфейс.)
Во-первых, вы захотите сгенерировать ключ для себя:
Вам будет предложено ввести несколько деталей. Не забудьте данные, которые вы вводили.
Чтобы вывести список ваших открытых ключей:
Сначала экспортируйте свой открытый ключ:
Отправьте полученный файл с ключом Джейн Доу. Пусть она сделает то же самое.
Чтобы импортировать открытый ключ другого пользователя:
Зашифровать файл для отправки Джейн Доу:
Либо, если предыдущая команда не работает:
gpg -e -u “имя отправителя (ваше)” -r “имя ключа получателя” filename.txt
gpg -e -u “John Doe” -r “Jane Doe” secretmessage.txt
Это создаст файл с названием secretmessage.txt.pgp. Отправьте его Джейн Доу.
Теперь Джейн получила ваш файл. Вот как она его расшифрует:
Для расшифровки на диск:
Подписывайтесь на BitNovosti в Telegram!
Делитесь вашим мнением об этой статье в комментариях ниже.
Когда речь идет о конфиденциальности, безопасности в интернете и шифровании данных, часто употребляется термин «криптография». Что за ним скрывается, расскажем в этой статье.
Криптография — что это такое?
Криптография в цифровую эпоху
В связи с увеличением вычислительной мощности компьютеров, криптография стала значительно более сложной. Теперь она способна намного надежнее гарантировать безопасность информации. Шифры, какие когда-то использовал Цезарь, сегодня можно расшифровать за пару секунд.
Везде, где речь идет о конфиденциальности, криптография важный вопрос. Если вы заходите на сайт под вашим паролем, как правило, это зашифровано. Шифрование используют и мессенджеры, такие как WhatsApp или Telegram. Чтобы вас не подслушали во время телефонного звонка, телефонная связь тоже может быть зашифрована.
В современной криптографии различают симметричное и асимметричное шифрование. При симметричном шифровании отправители и получатели используют одинаковый ключ, как в шифрованных письмах Цезаря. Для этого ключ должен быть известен обеим сторонам, соответственно одна сторона передает его другой в незашифрованном виде.
Криптография знает много различных методов шифрования данных. Многие из них основаны на сложных математических структурах, таких как эллиптические кривые, кольца и конечные тела. Поэтому для разработки комплексной криптографической системы необходимы хорошие знания математики.
Читайте также: