- Этапы возникновения криптосистем
- Принцип шифрования, преимущества и недостатки
- Асимметричная криптография
- Метод открытого ключа
- Генерация пары RSA
- Шифрование и дешифрование
- Криптосистема ElGamal
- Эллиптическая кривая ECC
- Протокол Secure Sockets Layer (SSL)
- Алгоритм шифрования и его преимущества безопасности
- Инфраструктура открытого инструмента
Идея шифрования с открытым ключом впервые была представлена в Стэнфордском университете в 1976 году М. Хеллманом, Р. Меркле и У. Диффи.
Двумя типами алгоритмов PKC являются: RSA - аббревиатура, получившая название в честь изобретателей: Rivest, Shamir and Adelman и DSA (Digital Signature Algorithm). Шифрование PKC эволюционировало для удовлетворения растущих безопасных коммуникационных потребностей многих секторов и отраслей промышленности, особенно военного направления. В отличие от криптографии с симметричным ключом, шифрование с открытым ключом - это относительно новая концепция.
Этапы возникновения криптосистем
Вам будет интересно:Программное и аппаратное обеспечение: понятие, назначение, уровни, характеристики и настройки
Симметричная криптография так же хорошо подходит для крупных финансовых корпораций, которые используют секретную передачу информации. С распространением незащищенных компьютерных сетей за последние несколько десятилетий ощущалась настоятельная необходимость использования криптографии в более широких масштабах. Симметричный ключ оказался непрактичным из-за проблем, с которыми он столкнулся при управлении системой. Это привело к возникновению шифрования с открытым ключом.
Этапы процесса создания:
- 1977 год. Изобретен RSA группой программистов Р. Ривест, А. Шамир и Л. Адлеман.
- 1978 год. Создан МакЭлис из-за проблем декодирования для кодов Goppa.
- 1979 год. Вышел Рабин, основанный на проблеме факторинга и связанный с RSA.
- 1984 год. Издан Chor-Rivest.
- 1985 год. Вышел Elgamal на основе дискретного логарифма.
Вам будет интересно:Как изменить папку загрузок в "Яндекс.Браузере": особенности работы с хранилищем загруженных файлов
Другие асимметричные криптосистемы:
Принцип шифрования, преимущества и недостатки
Чтобы понять принцип асимметричного шифрования, нужно всегда помнить, что имеете дело не только с одним ключом, а с двумя. Шифрование с открытым ключом начинается с публикации открытого ключа. Публикацию можно сделать, например, через сервер, а также по почте. Пользователю не нужно передавать его по безопасному пути, каждый может завладеть открытым ключом. Часто даже желательно, чтобы он распространялся глобально, чтобы гарантировать, что никакой другой открытый ключ не распространяется под ложными именами.
С помощью системы шифрования с открытым ключом каждый способен засекретить информацию для хозяина открытого ключа. Поэтому сообщение расшифровывается получателем его секретным ключом. Вот почему так важно, чтобы ключ оставался тайным. Его обладатель может расшифровать все сообщения, зашифрованные другими, собственным открытым ключом.
Такие криптосистемы применяются для шифрования данных открытым ключом, аутентификации и целостности. Известными примерами, основанными на асимметричных методах, являются OpenPGP или S/MIME, а также криптографические протоколы, такие как SSH, SSL/TLS и даже https основаны на асимметричных криптосистемах.
Вам будет интересно:Запуск андроид-приложений на ПК. Программа для запуска андроид-приложений на компьютере
Преимущества:
Недостатками систем шифрования с открытым ключом являются:
Асимметричная криптография
PKC также известен как шифрование с открытым ключом, асимметричное шифрование, асимметричная криптография, асимметричный шифр, асимметричное шифрование ключей и шифрование Diffie-Hellman. PKC - это криптографический алгоритм и компонент криптосистемы, реализованный различными интернет-стандартами, включая безопасность транспортного уровня (TLS), Pretty Good Privacy (PGP), GNU Privacy Guard (GPG), Secure Socket Layer (SSL) и протокол передачи гипертекста (HTTP).
PKC обеспечивает безопасную связь через небезопасный канал, который позволяет считывать сообщение только предполагаемым получателем. Например, A использует открытый ключ B для шифрования сообщения, которое может быть расшифровано с использованием уникального частного ключа B.
PKC поддерживает конфиденциальность электронной почты и обеспечивает безопасность связи, когда сообщения находятся в пути или хранятся на почтовых серверах. PKC также является компонентом DSA, используемым для аутентификации секретного ключа, который может быть проверен любым лицом, имеющим разрешенный доступ к открытым ключам. Таким образом, PKC облегчает конфиденциальность, целостность данных и аутентификацию, которые формируют параметры ключевой информации (IA).
PKC медленнее, чем методы криптографии секретного ключа (или симметричной криптографии), из-за высоких вычислительных требований. Это явный недостаток систем шифрования с открытым ключом. В отличие от симметричной криптографии, PKC использует фиксированный размер буфера, в зависимости от конкретных и малых объемов данных, которые могут быть зашифрованы и не привязаны в потоках. Поскольку используется широкий диапазон возможных ключей шифрования, PKC является более надежным и менее восприимчивым к попыткам нарушения безопасности.
Метод открытого ключа
Для шифрования и дешифрования используются разные ключи. Это свойство, которое устанавливает схему, отличную от симметричного шифрования. Каждый приемник обладает уникальным ключом дешифрования, обычно называемым закрытым.
Получателю необходимо опубликовать тот, который называется открытым ключом метода шифрования. Некоторая уверенность в его подлинности необходима в этой схеме, чтобы избежать подмены злоумышленников в качестве получателя. Как правило, этот тип криптосистемы включает доверенную третью сторону, которая удостоверяет, что конкретный открытый ключ принадлежит только конкретному человеку или объекту.
Алгоритм шифрования с открытым ключом RSA достаточно сложный, чтобы запретить злоумышленнику выводить открытый текст из зашифрованного текста и ключа шифрования общего доступа.
Генерация пары RSA
Вам будет интересно:Как в биосе отключить встроенную звуковую карту: способы для AWARD, AMI и UEFI
Каждый человек или сторона, желающая участвовать в общении с использованием криптографии, генерирует сразу пару вариантов, а именно открытый и закрытый ключ шифрования. Процесс описан ниже:
Создание секретного ключа состоит в следующем. Частный ключ d вычисляется из p, q и e. Для заданных n и e существует единственное число d. Число d является инверсией e по модулю (p - 1) (q - 1). Это означает, что d - это число меньше (p - 1) (q - 1), но такое, что при умножении на e оно равно 1 по модулю (p - 1) (q - 1). Это соотношение написано математически следующим образом:
ed = 1 mod (p − 1)(q − 1).
Расширенный евклидовый алгоритм принимает p, q и e в качестве входных данных и дает d в качестве вывода. Ниже приведен пример создания пары RSA Key. Для удобства понимания простые числа p & q, взятые здесь, являются небольшими значениями. Практически эти значения должны быть очень значимыми.
Алгоритм вычисления:
Шифрование и дешифрование
Далее процесс шифрования и дешифрования является относительно простым и легко вычисляемым. Интересно, что RSA напрямую не работает со строками битов, как в случае симметричного метода. Он работает с числами по модулю n. Следовательно, необходимо представить открытый текст, как ряд чисел, меньших n.
Шифрование RSA:
Другими словами, зашифрованный текст C равен открытому тексту P, умноженному на него e раз, а затем уменьшенному по модулю n. Это означает, что C также меньше n. Возвращаясь к примеру генерации ключей с открытым текстом P = 10, получаем шифрованный текст: C = 105 mod 91.
Расшифровка RSA:
Безопасность RSA зависит от сильных сторон двух отдельных функций. Криптосистема RSA является самой популярной криптосистемой открытого ключа, основанной на практической сложности факторизации очень больших чисел.
Функция шифрования - считается однонаправленной функцией преобразования открытого текста в зашифрованный текст и может быть отменена только с помощью секретного ключа d. Трудность определения открытого и закрытого ключа шифрования RSA эквивалентна факторизации модуля n. Таким образом, злоумышленник не может использовать знание открытого ключа RSA для определения секретного ключа RSA, если только он не может определить n. Это также односторонняя функция, переход от значений p & q к модулю n легко, но обратное не представляется возможным.
Если любая из этих двух функций будет не односторонней, то RSA нарушается. Фактически, если технология факторинга эффективно разработана, то RSA больше не будет в безопасности. Сила шифрования RSA резко снижается против атак, если число p и q не являются простыми числами или выбранный открытый ключ e является небольшим числом.
Криптосистема ElGamal
Наряду с RSA, существуют и другие криптосистемы с открытым ключом. Многие из них основаны на разных версиях проблемы дискретного логарифма.
Криптосистема ElGamal, называемая вариантом эллиптической кривой, также основана на задаче дискретного логарифма. Она извлекает силу защиты из предположения, что дискретные логарифмы не могут быть найдены в практическом временном интервале для заданного числа, тогда как обратная операция мощности может быть рассчитана эффективно.
Например, простая версия ElGamal, которая работает с числами modulo p. В случае вариантов эллиптической кривой метод основан на совершенно разных системах исчисления. Каждый пользователь криптосистемы ElGamal генерирует пару ключей следующим образом:
N
3 n
3 n mod 5
1
3
3
2
9
4
3
27
2
4
81
1
Выбор секретного ключа. Частным ключом x является любое число, большее 1 и меньше, чем (p-1). Вычисление части открытого ключа. Значение y вычисляется по параметрам p, g и закрытому ключу x следующим образом:
y = gx mod p.
Получение открытого ключа. Открытый ключ ElGamal состоит из трех параметров (p, g, y).Предположим, например, что p = 17 и g = 6. Можно утверждать, что 6 является генератором группы Z 17. Закрытый ключ x может быть любым числом больше 1 и меньше 71, поэтому выбирают x = 5. Затем значение y вычисляется следующим образом:
y = 65 mod 17 = 7.
Таким образом, закрытый ключ равен 62, а открытый ключ - (17, 6, 7).
Эллиптическая кривая ECC
Эллиптическая кривая криптографии (ECC) - это термин, используемый для описания набора криптографических инструментов и протоколов, безопасность которых основана на специальных версиях проблемы дискретного логарифма. Он не использует числа modulo p. ECC основан на наборах чисел, связанных с математическими объектами, называемыми эллиптическими кривыми. Существуют правила для добавления и вычисления кратных этих чисел, как и для чисел по модулю p.
ECC включает в себя варианты многих криптографических схем, которые изначально были разработаны для модульных чисел, таких как шифрование ElGamal, алгоритмы шифрования с открытым ключом и цифровой подписи. Считается, что задача дискретного логарифма намного сложнее применительно к точкам на эллиптической кривой.
Это вызывает переход от чисел по модулю «p» к точкам на эллиптической кривой. Также эквивалентный уровень безопасности может быть получен с более короткими ключами, если используют варианты с эллиптической кривой. Более короткие клавиши приводят к двум преимуществам шифрования информации открытым ключом:
Эти преимущества делают варианты схемы шифрования на основе эллиптической кривой очень привлекательными для приложений, где ограничены вычислительные ресурсы. Можно быстро сравнить схемы RSA и ElGamal по различным аспектам.
Вам будет интересно:Как скрывать файлы на "Андроиде": способы
RSA
ElGamal
Более эффективный для шифрования.
Более эффективный для дешифрования.
Менее эффективный для дешифрования.
Более эффективный для дешифрования.
Для определенного уровня безопасности в RSA требуются длинные ключи.
Для того же уровня безопасности требуются очень короткие ключи.
Метод широко используется.
Новый метод и пока не очень популярный на рынке.
Протокол Secure Sockets Layer (SSL)
Интернет-трафик, который передает информацию через промежуточные компьютеры, может быть перехвачен третьей стороной:
Олицетворение может иметь две формы:
Криптография с открытым ключом обеспечивает защиту от интернет-атак.
Алгоритм шифрования и его преимущества безопасности
Нецелесообразно вычислять закрытый ключ на основе открытого ключа. Из-за этого открытые ключи могут свободно применяться, что позволяет легко и удобно использовать шифрование содержимого и проверку цифровых подписей, а секретные ключи могут храниться в тайне, гарантируя, что только владельцы закрытых ключей могут расшифровывать содержимое и создавать цифровые подписи.
Поскольку открытые ключи должны быть разделены, но слишком велики, чтобы их легко запоминать, они хранятся в цифровых сертификатах для безопасной транспортировки и совместного использования. Частные ключи не используются совместно, они просто хранятся в программном обеспечении или операционной системе, которую используют, или на аппаратном обеспечении, например, токене USB, аппаратном обеспечении, содержащем драйверы, которые позволяют использовать его с программным обеспечением или операционной системой.
Цифровые сертификаты выдаются организациями, известными как центры сертификации (ЦС). Основными бизнес-приложениями для криптографии с открытым ключом являются:
Предполагая, что частный ключ пользователя не был скомпрометирован, шифрование данных и сообщений обеспечивает следующие преимущества безопасности:
Инфраструктура открытого инструмента
Инфраструктура открытого ключа (PKI) является фоновой кибербезопасностью и мерой, которая описывается как совокупность правил, политик и процедур, необходимых для создания, управления, распределения, использования, хранения и отзыва цифровых сертификатов.
PKI основан на асимметричной криптографии, широко используется сегодня для обеспечения электронной связи для онлайн-покупок, интернет-банкинга и электронной почты, а также для защиты сообщений между миллионами пользователей и веб-сайтов, которые они подключают к использованию HTTPS.
Хотя можно легко шифровать сообщения без PKI, пользователь не можете легко проверить, с кем он общается. Другими словами, инфраструктура PKI помогает ему аутентифицировать или проверять личность, с которой он общается.
Типичная экосистема PKI включает следующие ключевые компоненты:
Таким образом, асимметричные криптосистемы используются для шифрования, аутентификации и целостности. Если у злоумышленника отсутствует сертификат открытого ключа шифрования, он никогда не сможет воспользоваться секретными данными. Известными примерами, основанными на асимметричных методах, являются OpenPGP или S/MIME. Но также криптографические протоколы, такие как SSH, SSL/TLS или даже https, основаны на асимметричных криптосистемах.