Криптография с эллиптическими кривыми (сокращ. на англ. ECC, Elliptic Curve Cryptography) – это метод кодирования данных, позволяющий расшифровать их только определенным лицам. Это похоже на секретную записку другу в классе, но гораздо более продвинутую (и с меньшим количеством флажков с вопросом, нравитесь ли вы кому-то).
По сравнению с RSA, ECC представляет собой значительно более надежный криптографический подход. Используя математику эллиптических кривых, шифрование с открытым ключом можно сделать более безопасным для разных пар ключей.
Хотя RSA использует простые целые числа для достижения той же цели, ECC становится все более популярным благодаря уменьшенному размеру ключа и сохранению надежности. Способность устройств поддерживать безопасность доведена до предела из-за увеличения размера ключей, и ожидается, что эта тенденция сохранится, поскольку производители стремятся удовлетворить этот растущий спрос. Поэтому важно иметь некоторые предварительные знания о настройке ECC.
В отличие от RSA, использующего факторизацию простых чисел, подход ECC к криптографии с открытым ключом основан на алгебраической структуре над конечными полями. Следовательно, ключи, сгенерированные ECC, труднее взломать численно. Существующий стандарт шифрования с открытым ключом RSA уязвим для атак, поэтому сертификат ECC рассматривается как более безопасная альтернатива.
Использование ECC – это следующий естественный шаг к обеспечению высокого качества производительности и безопасности в обозримом будущем. Это связано с тем, что он становится все более популярным, поскольку компании стремятся защитить личные данные своих клиентов в Интернете, а также повысить удобство использования своего веб-сайта на мобильных устройствах. Поскольку все больше и больше предприятий используют ECC для защиты конфиденциальных данных, растет потребность в кратком ознакомлении с этой технологией.
История ECC начинается в 1980-х годах. В 1985 году два математика по имени Нил Коблиц и Виктор С. Миллер независимо предложили идею использования эллиптических кривых в криптографии.
Идея использовать эти кривые для криптографии изменила правила игры. До ECC большинство методов шифрования полагались на факторизацию больших чисел, то есть причудливый способ разбить большие числа на меньшие. Но ECC был другим: свойства этих кривых были использованы для создания уникального и более эффективного метода шифрования.
ECC обеспечивает тот же уровень безопасности, что и традиционные методы, но с более короткими ключами. Это означает, что он работает быстрее и использует меньше мощности компьютера, что очень важно в мире вычислений.
ECC предоставляет несколько различных групп алгоритмов в зависимости от вариантов их использования, определенных на эллиптической кривой над полями конечностей.
- Цифровые подписи: ECC предоставляет алгоритмы для цифровых подписей, такие как алгоритм цифровой подписи на основе эллиптической кривой ECDSA и EdDSA;
- Шифрование: ECC предоставляет алгоритмы шифрования сообщений, а именно ECIES и EEECC;
- Соглашение о ключах: ECC предоставляет такие алгоритмы, как ECDH и FHMQV, для соглашения о ключах;
Все эти алгоритмы используют эллиптические кривые, такие как secp256K1, Curve25519 и P251, для расчета ключей и шифров. Кроме того, они полагаются на задачу дискретного логарифмирования эллиптической кривой, чтобы гарантировать сложность взлома этих алгоритмов и тем самым обеспечить безопасность сети.
Зачем использовать ECC?
ECC основан на тех же «сложных» проблемах, что и классическая криптография с открытым ключом на основе целых чисел. Это означает, что алгоритмы ECC также будут взломаны, когда квантовые вычисления сделают алгоритм Шора пригодным для использования.
Тем не менее, ECC имеет несколько преимуществ перед криптографией с открытым ключом на основе целых чисел. Первым из них является длина ключа. ECC требует гораздо меньшей длины ключей для достижения того же уровня безопасности, что и RSA и протокол Диффи-Хеллман. Хотя симметричная криптография требует еще более коротких ключей (и более квантовоустойчива), она не обладает той же функциональностью, что и асимметричная криптография.
Эта более короткая длина ключа делает ECC более эффективным, чем его аналоги на основе целых чисел. Алгоритм ECC имеет меньшие требования к памяти и электропитанию, чем другие классические методы шифрования с открытым ключом, что делает его лучшим выбором для устройств с ограниченными ресурсами, таких как смартфоны и устройства Интернета вещей.
Безопасное использование ECC
На уровне алгоритмов ECC так же безопасен, как RSA, Диффи-Хеллман и подобные алгоритмы, поскольку основан на тех же «сложных» проблемах. Если не найден неквантовый алгоритм, который эффективно решает задачи факторизации или дискретного логарифма, эти алгоритмы безопасны до тех пор, пока не станут доступны достаточно большие квантовые компьютеры.
Если ECC может быть сложным, так это выбор кривой. Существует множество различных эллиптических кривых, некоторые из которых более безопасны, чем другие. При реализации ECC важно выбрать хорошо изученную кривую, не имеющую известных недостатков.
Приложения криптографии эллиптических кривых
Сегодня ECC используется в широком спектре приложений: от защиты онлайн-транзакций до защиты конфиденциальных данных, хранящихся на мобильных устройствах. Вот несколько наиболее распространенных применений ECC:
SSL/TLS
ECC широко используется в протоколах SSL/TLS, которые используются для защиты онлайн-транзакций. Многие веб-сайты теперь поддерживают сертификаты SSL/TLS на основе ECC, которые обеспечивают более высокий уровень безопасности, чем традиционные сертификаты на основе RSA.
Цифровые подписи
ECC также используется для цифровых подписей, которые используются для проверки подлинности цифровых документов. Цифровые подписи широко используются в таких отраслях, как банковское дело, здравоохранение и юриспруденция, где важно иметь безопасный и надежный способ проверки подлинности документов.
Мобильные устройства
ECC также широко используется в мобильных устройствах, где важно иметь легкий и эффективный метод шифрования. Многие мобильные устройства теперь поддерживают шифрование на основе ECC, которое обеспечивает более высокий уровень безопасности при меньшем потреблении энергии аккумулятора и вычислительных ресурсов.
Интернет вещей
В индустрии Интернета вещей крайне важно иметь простой и эффективный метод шифрования. ECC хорошо подходит для устройств Интернета вещей, которые часто имеют ограниченные ресурсы, вычислительную мощность и время автономной работы.
Ключевые преимущества ЕСС
Ниже приведены некоторые преимущества использования сертификатов ECC:
Более короткая длина ключей
ECC обеспечивает более высокий уровень безопасности при более коротком размере ключа. Энергия, необходимая для взлома ключа длиной 3072, сгенерированного методом шифрования RSA, равна тому же количеству энергии, которое требуется для взлома ключа длиной 256, сгенерированного с помощью ECC. Это показывает, что ключ длиной 256, сгенерированный с помощью ECC, столь же криптографически надежен, как и ключ длиной 3072, сгенерированный с помощью шифрования RSA.
Меньшая вычислительная мощность
Поскольку размеры ключей короче, шифрование и дешифрование данных обходятся дешевле.
Быстрая генерация ключей
Процесс генерации ключей относительно прост и менее затратен в вычислительном отношении, поскольку он включает в себя безопасную генерацию случайного целого числа в пределах заданного диапазона. Это делает его чрезвычайно быстрым по сравнению с алгоритмом шифрования RSA.
Быстрые подписи
ECC использует ECDSA, который чрезвычайно быстро генерирует цифровую подпись, поскольку включает в себя простой этап умножения точки на кривой.
Недостатки ЕСС
Недостатки ECC заключаются в следующем.
Сложность
ECC довольно сложно реализовать, что делает его более склонным к ошибкам. Это ставит под угрозу общую безопасность системы, если он не реализован должным образом.
Генератор случайных чисел
Безопасность системы оказывается под угрозой, если во время выбора закрытого ключа используется сломанный генератор случайных чисел.
Патенты
Это один из основных факторов, ограничивающих широкое использование алгоритма ECC. Некоторые из основных патентов принадлежат Certicom и Агентству национальной безопасности (далее АНБ).
Проверка подписи
Хотя процесс создания подписи быстрый, процесс проверки занимает некоторое время из-за трудоемких вычислений.
Бэкдор
Растут опасения, что АНБ могло внедрить бэкдор в алгоритмы ECC, позволяющий им отслеживать отправляемые зашифрованные сообщения.
ECC – это адаптация классической асимметричной криптографии на основе целых чисел. Поскольку он более эффективен с точки зрения длины ключа и энергопотребления, он является полезной альтернативой алгоритмам на основе целых чисел.