Bosh sahifa Wiki ECC

ECC

ECC — Elliptic Curve Cryptography nomli, chekli maydon ustidagi elliptik egri chiziq nuqtalari algebra­siga asoslangan ochiq kalitli kriptografiya oilasi. Uning xavfsizligi elliptik egri chiziq diskret logarifm muammosining amaliy qiyinligiga tayanadi. ECC RSAga qaraganda ancha kichik kalitlar bilan o‘xshash klassik xavfsizlik darajasini bera oladi, shu sababli TLS, mobil qurilmalar, cryptocurrency va raqamli imzoda keng ishlatiladi.

Matematik asos

Ko‘p prime-field egri chiziqlar y² = x³ + ax + b mod p ko‘rinishidagi tenglama bilan aniqlanadi. Parametrlar singular bo‘lmagan egri chiziqni, base point G, uning orderi n va cofactorni belgilaydi. Private key d odatda 1 dan n−1 gacha tasodifiy son, public key esa scalar multiplication orqali Q = dG nuqtadir.

Q va G ma’lum bo‘lsa, dni topish elliptik egri chiziq diskret logarifm muammosidir. To‘g‘ri parametrli 256 bit egri chiziq taxminan 128 bit klassik security level beradi. Bu 256 bit ECC key 256 bit RSA bilan teng degani emas; algoritm oilalarining hujumlari va bit semantikasi farq qiladi.

Egri chiziqlar

NIST P-256, P-384 va P-521 Weierstrass egri chiziqlari sertifikat hamda TLSda keng uchraydi. Curve25519 Diffie–Hellman uchun X25519 shaklida, Ed25519 esa EdDSA imzosi uchun ishlatiladi. Bir egri chiziq nomi uning barcha protokollarda bir xil encoding yoki operatsiya bilan qo‘llanishini anglatmaydi.

Custom curve yaratish juda murakkab. Group order, twist security, cofactor, special structure va implementatsiya xususiyatlari tahlil qilinadi. Amaliy tizim standart, keng tekshirilgan curve va kutubxonani tanlaydi. Public point deserializatsiyasi curve’da ekanini va kerakli subgroupga tegishli shartlarni tekshiradi.

ECDH key agreement

Elliptic Curve Diffie–Hellman’da A tomon a private va aG public, B tomon b private va bG public keyga ega. A a(bG), B esa b(aG) hisoblab bir xil abG shared secret oladi. Xom nuqta bevosita encryption key sifatida ishlatilmaydi; HKDF kontekst, transcript va tomon identifikatorlari bilan session keylar hosil qiladi.

Ephemeral ECDH har sessiya uchun yangi vaqtinchalik key pair ishlatib forward secrecy beradi. ECDHning o‘zi qarshi tomon identitysini tasdiqlamaydi va man-in-the-middle hujumiga ochiq. TLS transcriptni sertifikat private keyi bilan imzolash yoki oldindan ishonilgan public key orqali autentifikatsiya qiladi.

Imzo va nonce

ECDSA har imzo uchun noyob, maxfiy nonce talab qiladi. Nonce takrorlansa yoki biasga ega bo‘lsa, private key algebraik tiklanishi mumkin. Deterministik ECDSA nonce’ni private key va xabar hashidan standart usulda hosil qiladi. EdDSA ham deterministik tuzilishga ega, lekin side-channel va fault himoyasi baribir zarur.

Signature malleability ayrim protokollarda (r, s) va (r, n−s) kabi ikki ko‘rinishni yaratishi mumkin. Blockchain yoki transaction ID signature byte’lariga bog‘liq bo‘lsa, low-S canonicalization ishlatiladi. Umumiy verification algoritmi standart talabiga qat’iy rioya qiladi.

Encoding va implementatsiya

ECC public key compressed yoki uncompressed point formatida, signature esa DER yoki fixed-width r || s ko‘rinishida bo‘lishi mumkin. Formatni taxmin qilish interoperability va parsing xatolarini keltiradi. Algoritm ID, curve va encoding protokol tomonidan aniq belgilanadi.

Scalar multiplication timing, power yoki cache orqali private key bitlarini oshkor qilishi mumkin. Constant-time implementation, scalar blinding va himoyalangan key storage ishlatiladi. ECC kaliti kichik bo‘lsa ham, random generator va key lifecycle talabi RSA yoki simmetrik keylardagi kabi qat’iydir.

Bog‘liq tushunchalar

Elliptic curve, ECDH, ECDSA, Ed25519, X25519, Public key, Forward secrecy