4 research outputs found
КРИПТОГРАФІЯ НА ЕЛІПТИЧНИХ КРИВИХ ТА ЇЇ ПРАКТИЧНЕ ЗАСТОСУВАННЯ
Elliptic curves are one of the most promising tools for constructing modern cryptographic algorithms. The security of elliptic curve cryptography is based on the complexity of solving the discrete logarithm problem in the group of points of the elliptic curve over a finite field. Elliptic curve cryptography enables two parties communicating over public channel using elliptic curve encryption and signing algorithms. Elliptic curves allow to achieve the same level of security with small key sizes than other asymmetric cryptographic algorithms. The article describes the mathematical apparatus of elliptic curves used for cryptographic purposes, the basic operations in the group of points of elliptic curves, such as addition of points, doubling of a point, and scalar multiplication of a point by a number are given. The steps and principles of the Diffie-Hellman key exchange algorithm (ECDH) and the digital signature scheme (ECDSA) on elliptic curves are considered. An overview of standards establishing recommendations and requirements for the use of elliptic curves in cryptographic systems is provided. The advantages of elliptic curve cryptography compared to traditional asymmetric algorithms, such as smaller key sizes, computational speed, and efficient use of resources, are analyzed. Potential threats and vulnerabilities of cryptographic algorithms based on elliptic curves are discussed. The main practical application areas of cryptographic algorithms on elliptic curves, including network security, cryptocurrency operations, message exchange, the Internet of Things, and government institutions are investigated. Examples of popular standardized curves (Curve25519, Curve448, secp256k1) that have been tested and recommended by specialized organizations such as NIST are given.Еліптичні криві є одним із найперспективніших інструментів для побудови сучасних криптографічних алгоритмів. Безпека криптографії на еліптичних кривих ґрунтується на складності розв’язання задачі дискретного логарифмування в групі точок еліптичної кривої над скінченним полем. Криптографія на еліптичних кривих дає змогу реалізувати захищений обмін даними між різними сторонами, використовуючи алгоритми шифрування та підписування на основі еліптичних кривих. Еліптичні криві дозволяють досягти еквівалентного рівня безпеки з меншими розмірами ключів порівняно з іншими асиметричними криптографічними алгоритмами. У статті описано математичний апарат еліптичних кривих, що використовуються для криптографічних цілей, наведено основні операції в групі точок еліптичних кривих, такі як додавання точок, подвоєння точки та скалярне множення точки на число. Розглянуто кроки і принципи роботи алгоритму обміну ключами Діффі-Хеллмана (ECDH) та схеми цифрового підпису (ECDSA) на еліптичних кривих. Проведено огляд стандартів, що встановлюють рекомендації та вимоги щодо використання еліптичних кривих у криптографічних системах. Проаналізовано переваги криптографії на еліптичних кривих порівняно із традиційними асиметричними алгоритмами, такі як менші розміри ключів, швидкість обчислень та ефективне використання ресурсів. Розглянуто потенційні загрози та вразливості криптографічних алгоритмів на основі еліптичних кривих. Здійснено огляд основних сфер практичного застосування криптографічних алгоритмів на еліптичних кривих, зокрема таких як захист мережевого з’єднання, криптовалютні операції, обмін повідомленнями, Інтернет речей, державні установи. Наведено приклади популярних стандартизованих кривих (Curve25519, Curve448, secp256k1), що були перевірені та рекомендовані спеціалізованими організаціями, зокрема такими як NIST
Towards Forward Secure Internet Traffic
Forward Secrecy (FS) is a security property in key-exchange algorithms which
guarantees that a compromise in the secrecy of a long-term private-key does not
compromise the secrecy of past session keys. With a growing awareness of
long-term mass surveillance programs by governments and others, FS has become
widely regarded as a highly desirable property. This is particularly true in
the TLS protocol, which is used to secure Internet communication. In this
paper, we investigate FS in pre-TLS 1.3 protocols, which do not mandate FS, but
still widely used today. We conduct an empirical analysis of over 10 million
TLS servers from three different datasets using a novel heuristic approach.
Using a modern TLS client handshake algorithms, our results show 5.37% of top
domains, 7.51% of random domains, and 26.16% of random IPs do not select FS
key-exchange algorithms. Surprisingly, 39.20% of the top domains, 24.40% of the
random domains, and 14.46% of the random IPs that do not select FS, do support
FS. In light of this analysis, we discuss possible paths toward forward secure
Internet traffic. As an improvement of the current state, we propose a new
client-side mechanism that we call "Best Effort Forward Secrecy" (BEFS), and an
extension of it that we call "Best Effort Forward Secrecy and Authenticated
Encryption" (BESAFE), which aims to guide (force) misconfigured servers to FS
using a best effort approach. Finally, within our analysis, we introduce a
novel adversarial model that we call "discriminatory" adversary, which is
applicable to the TLS protocol
Set It and Forget It! Turnkey ECC for Instant Integration
Historically, Elliptic Curve Cryptography (ECC) is an active field of applied
cryptography where recent focus is on high speed, constant time, and formally
verified implementations. While there are a handful of outliers where all these
concepts join and land in real-world deployments, these are generally on a
case-by-case basis: e.g.\ a library may feature such X25519 or P-256 code, but
not for all curves. In this work, we propose and implement a methodology that
fully automates the implementation, testing, and integration of ECC stacks with
the above properties. We demonstrate the flexibility and applicability of our
methodology by seamlessly integrating into three real-world projects: OpenSSL,
Mozilla's NSS, and the GOST OpenSSL Engine, achieving roughly 9.5x, 4.5x,
13.3x, and 3.7x speedup on any given curve for key generation, key agreement,
signing, and verifying, respectively. Furthermore, we showcase the efficacy of
our testing methodology by uncovering flaws and vulnerabilities in OpenSSL, and
a specification-level vulnerability in a Russian standard. Our work bridges the
gap between significant applied cryptography research results and deployed
software, fully automating the process