К числу распространенных видов мошенничества в Facebook Messenger относятся просьбы сообщить коды аутентификации, поддельные страницы благотворительных организаций с просьбой о пожертвовании, сообщения с советами по инве...
Шифрование на основе эллиптических кривых (ECC) — это форма криптографии с открытым ключом, которая основана на математике эллиптических кривых. Оно обеспечивает безопасный способ выполнения криптографических операций, таких как обмен ключами, цифровые подписи и шифрование. ECC — это альтернатива шифрованию Ривеста-Шамира-Адлемана (RSA), которое впервые было выпущено в 1977 году.
Продолжайте читать, чтобы узнать больше о шифровании на основе эллиптических кривых и о том, почему оно считается самой безопасной формой шифрования.
В чем разница между ECC и RSA?
Прежде чем обсуждать различия между ECC и RSA, важно понять, как работают криптографические алгоритмы с открытым ключом. Самые простые и надежные криптографические алгоритмы — это «функции ловушки». Провалиться в люк очень легко, а вот выбраться обратно — очень сложно, потому что люки открываются только в одном направлении. Таким образом, чтобы криптографический алгоритм был эффективным и безопасным, его должно быть легко зашифровать, но практически невозможно расшифровать без ключа дешифрования.
И ECC, и RSA — это алгоритмы шифрования с открытым ключом, использующие самые современные математические функции. Шифрование с открытым ключом состоит из двух компонентов: открытого ключа и закрытого ключа. Открытый ключ шифрует сообщение, применяя математический алгоритм для преобразования его в очень большое число, имеющее случайный вид. Расшифровать сообщение можно только с помощью закрытого ключа, который берет случайно появившееся число и применяет другой алгоритм, который, по сути, «отменяет» исходный.
Математические методы ECC и RSA, настолько сложны, что их можно решить только с помощью компьютеров. Математика, лежащая в основе алгоритма RSA, выходит за рамки этого блога, но суть в том, что безопасность RSA зависит от огромной сложности разложения очень больших чисел на составные простые.
Для тех, кому нужно освежить в памяти, факторизация числа 20 выглядит следующим образом:
20 = 4 * 5 = 2 * 2 * 5 = 22 * 5
Выглядит просто, правда? А теперь представьте, как это сделать с числом длиной более 100 цифр. Поэтому, даже имея открытый ключ, вычислить закрытый ключ, не зная простых коэффициентов, чрезвычайно трудоемко.
Проблемы с криптографией RSA
Хотя алгоритм RSA довольно надежный, он не лишен проблем.
Факторинг очень больших чисел чрезвычайно сложно, но менее сложно, чем раньше. Факторинг — это основной компонент исчисления и другой передовой математики, поэтому математики потратили века на поиск способов его упрощения. Существуют эффективные алгоритмы учета больших чисел, такие как общее числовое поле, которое в настоящее время является самым известным методом учета больших чисел, превышающих 110 цифр.
Тем временем вычислительные мощности растут с поразительной скоростью. В 1965 году соучредитель компании Intel Гордон Мур предсказал, что количество транзисторов на микрочипе будет удваиваться каждые год или два. Эта гипотеза известна как закон Мура, и с 1970-х годов она выполняется или даже превосходит его. Вычислительная мощность удваивается примерно каждые два года, а цена вычислительной мощности снижается.
По мере того как вычислительные ресурсы, необходимые для вычисления чрезвычайно больших чисел, становятся все более доступными для широких слоев населения (включая киберпреступников), размеры ключей RSA должны расти, чтобы не отставать от них. Из-за этого RSA имеет довольно медленные скорости шифрования и дешифровки, что делает его невозможным для шифрования больших сообщений, особенно на мобильных устройствах. Вместо этого RSA обычно используется для обмена ключами и цифровых подписей, где фактические данные шифруются с помощью симметричных алгоритмов шифрования с более короткими сеансовыми ключами.
Напротив, шифрование на основе эллиптических кривых обеспечивает, возможно, лучшую безопасность при меньшей длине ключа, что делает ее более эффективной с точки зрения требований к вычислениям и пропускной способности. Мы рассмотрим, как работает ECC, в следующем разделе.
Как работает шифрование на основе эллиптических кривых?
ECC основан на другой области передовой математики, называемой эллиптическими кривыми. Эллиптическая кривая определяется уравнением в виде y2 = x3 + ax + b, где a и b — константы, а кривая определяется в конечном поле. На графике это выглядит следующим образом:
Эллиптические кривые обладают некоторыми особыми свойствами, которые делают их интересными и полезными как для математиков, так и для криптографов. Во-первых, эллиптические кривые горизонтально симметричны. При отражении по оси х (горизонтальная линия) обе стороны одинаковы, как и зеркальное изображение.
Кроме того, любая невертикальная прямая линия, проведенная через эллиптическую кривую, всегда будет пересекать кривую не более чем в трех местах. В приведенном ниже примере эти точки помечены как P, Q и R.
Безопасность шифрования на основе эллиптических кривых основана на сложности решения так называемой задачи дискретного логарифма на основе эллиптических кривых. Если задана точка P на кривой и скаляр k, то определить точку Q, такую, что Q = k*P, чрезвычайно сложно — гораздо сложнее, чем вычислить даже очень большое число.
Это свойство означает, что ECC может обеспечить сопоставимую или даже лучшую безопасность, чем RSA, при гораздо меньших размерах ключей.
Преимущества шифрования на основе эллиптических кривых
Тот факт, что ECC обеспечивает очень высокий уровень безопасности при малой длине ключа, дает ему преимущества перед RSA и другими алгоритмами криптографии с открытым ключом.
Вот два преимущества использования шифрования на основе эллиптических кривых.
- ECC требует меньше вычислительных ресурсов и меньше полосы пропускания для генерации ключей, шифрования и дешифрования.
- Благодаря меньшему размеру ключа, операции ECC, такие как генерация ключа, шифрование и дешифрование, могут выполняться быстрее по сравнению с RSA, что означает меньшую задержку для конечного пользователя.
Эти преимущества делают ECC особенно полезным в средах с ограниченными ресурсами, таких как мобильные устройства и устройства Интернета вещей (IoT).
Насколько безопасно шифрование на основе эллиптических кривых?
Хотя алгоритм шифрования RSA чрезвычайно безопасен, ECC, пожалуй, даже лучше.
Теоретически квантовые компьютеры способны взломать RSA, эффективно решив проблему факторизации, на которую опирается RSA. Произойдет ли это в ближайшее время — вопрос очень спорный. Однако можно с уверенностью сказать, что из-за сложности ECC он более устойчив к атакам квантовых вычислений по сравнению с RSA.
Насколько устойчив? Голландский математик Арьен Ленстра стал соавтором исследовательской работы, в которой сравнил взлом криптографических алгоритмов с кипящей водой. Идея заключается в том, чтобы вычислить, сколько энергии требуется для взлома определенного криптографического алгоритма, а затем рассчитать, сколько воды можно вскипятить за счет этой энергии. Если воспользоваться этой метафорой, то для взлома 228-битного ключа RSA требуется меньше энергии, чем для кипячения чайной ложки воды, но энергия, затраченная на взлом 228-битного ключа ECC, может вскипятить всю воду на Земле. Тот же уровень безопасности с RSA требует размера ключа в 2380 бит.
Где используется шифрование на основе эллиптических кривых?
Как упоминалось ранее, меньший размер ключа ECC идеально подходит для устройств с низким уровнем ресурсов процессора и памяти, таких как мобильные устройства и устройства Интернета вещей. Это позволяет разработчикам веб-сайтов и мобильных приложений создавать высокопроизводительные веб-сайты и приложения с низкой задержкой, при этом предлагая своим пользователям надежную защиту данных. ECC часто используется для защиты протоколов беспроводной мобильной связи, таких как Bluetooth, Wi-Fi и коммуникация ближнего поля (NFC).
Вот несколько более распространенных вариантов использования ECC:
- Протоколы безопасной связи. ECC используется в различных протоколах безопасной связи для обеспечения шифрования, цифровых подписей и обмена ключами. Примеры включают безопасность транспортного уровня (TLS), используемую для безопасного просмотра веб-страниц, безопасную оболочку (SSH) для безопасного удаленного входа в систему и виртуальные частные сети (VPN) для безопасного сетевого общения.
- Криптовалюта и технология блокчейн. Многие криптовалюты, включая биткойн, Ethereum и Litecoin, используют шифрование на основе эллиптических кривых для генерации пар открытых и закрытых ключей, а также для подписания транзакций. ECC обеспечивает криптографическую безопасность, необходимую для защиты цифровых активов и обеспечения целостности сетей блокчейн.
- Смарт-карты и встроенные системы. ECC обычно используется для защиты платежных систем, систем контроля доступа, электронных паспортов и других приложений, требующих безопасных и компактных криптографических решений.
- Цифровые подписи и сертификаты. ECC может использоваться для генерации цифровых подписей, которые используются для проверки подлинности и целостности цифровых документов и сообщений. Цифровые подписи на основе ECC также используются в системах инфраструктуры открытых ключей (PKI) для выдачи и проверки цифровых сертификатов.
Хотя ECC — довольно новый метод по сравнению с RSA, он пользуется широкой стандартизацией и поддержкой со стороны частных организаций и отраслевых органов. Например, Национальный институт стандартов и технологий США (NIST) стандартизировал ECC в своем наборе криптографических алгоритмов. Кроме того, ECC поддерживается популярными криптографическими библиотеками, языками программирования и операционными системами. Такое признание еще больше способствует его внедрению в различных секторах, таких как финансы, здравоохранение и государственные услуги.
Учитывая эти факторы, можно с уверенностью сказать, что криптография на основе эллиптических кривых популярна и широко используется в различных приложениях и отраслях. Его эффективность, безопасность и широкая поддержка сделали его надежным выбором для безопасной связи и криптографических операций.