Public-key cryptography — matematik bog‘langan public key va private key juftidan foydalanadigan kriptografik usullar oilasidir. Public key keng tarqatilishi mumkin, private key esa egasida maxfiy saqlanadi. Bu model digital signature, key agreement va kichik sirlarni himoyalash orqali oldindan umumiy maxfiy kalit almashmagan tomonlar o‘rtasida ishonchli protokol qurishga imkon beradi.
Asosiy amallar
Digital signatureda xabar yoki uning digestiga private key bilan imzo yaratiladi. Public keyga ega tomon imzoni tekshiradi. Bu yaxlitlik, kalitga egalik va tegishli protokol shartlarida autentiklik beradi, lekin xabarni maxfiy qilmaydi.
Public-key encryptionda public key bilan himoyalangan qiymatni faqat tegishli private key ochadi. Amaliy tizim odatda katta ma’lumotni to‘g‘ridan-to‘g‘ri asimmetrik algoritm bilan shifrlamaydi. Tasodifiy simmetrik session key himoyalanadi, asosiy trafik esa tez authenticated encryption bilan uzatiladi.
Key agreementda ikki tomon o‘z private va qarshi tomon public materialidan bir xil shared secret hosil qiladi. Key Derivation Function undan yo‘nalish va maqsad bo‘yicha alohida session keylar chiqaradi. Ephemeral kalitlar forward secrecy berishi mumkin.
Public keyga ishonch
Public key ochiq bo‘lishi mumkin, ammo uning kimga tegishli ekanini tekshirish zarur. Aks holda hujumchi o‘z public keyini serverniki deb almashtirib man-in-the-middle hujumi qiladi. PKI sertifikat orqali domain yoki identityni public key bilan bog‘laydi; trust store issuer zanjirini tekshiradi.
SSHda host key fingerprint birinchi ulanishda yoki mustaqil kanal orqali tasdiqlanadi. Messaging protokoli safety number yoki key transparencydan foydalanishi mumkin. Mexanizm turlicha, lekin asosiy vazifa bir xil: public key substitutionni aniqlash.
Algoritm va parametr
RSA xavfsizligi katta sonni faktorlash qiyinligiga, elliptic-curve usullari esa diskret logarifm muammosiga tayanadi. Kalit uzunligi turli oilalarda bir xil xavfsizlik darajasini bildirmaydi. Algorithm, curve, padding va hash kombinatsiyasi standart profil bo‘yicha tanlanadi.
Textbook RSA kabi padding qilinmagan primitive xavfsiz protokol emas. Encryption uchun probabilistic encoding, signature uchun tegishli signature scheme kerak. Implementatsiya attacker-controlled inputga xato va vaqt orqali secret ma’lumot sizdirmasligi uchun side-channel himoyasiga ega bo‘ladi.
Private keyni himoyalash
Private key source code yoki oddiy faylda saqlanmaydi. HSM, TPM, secure element yoki KMS kalitni non-exportable qilib, signing va decryption operatsiyalarini ichkarida bajarishi mumkin. Foydalanuvchi qurilmasida key file kuchli parol hosilasidan olingan kalit bilan shifrlanishi mumkin, lekin endpoint komprometatsiyasi aktiv foydalanish paytida xavf tug‘diradi.
Key usage ajratiladi: signing kaliti bilan key exchange, CA kaliti bilan oddiy server operatsiyasi bajarilmaydi. Rotatsiya, revocation, expiry va backup lifecycle siyosatida belgilanadi. Private key oshkor bo‘lsa, yangi juft yaratishdan tashqari eski sertifikat, token va ishonch yozuvlarini bekor qilish talab etiladi.
Cheklovlar
Public-key amallari simmetrik kriptografiyadan odatda qimmatroq, shuning uchun gibrid protokollar ishlatiladi. Ular traffic analysis, endpoint malware yoki noto‘g‘ri identity verificationni o‘z-o‘zidan hal qilmaydi. Kelajakdagi yetarlicha kuchli kvant kompyuter ayrim hozirgi algoritmlarga xavf tug‘diradi; uzoq muddatli ma’lumot uchun post-quantum migratsiya rejalashtiriladi.
Implementation interoperability uchun faqat algoritm nomi yetmaydi. Key encoding, parameter set, signature format va protocol transcript bir xil profilda bo‘lishi kerak; test vectorlar turli kutubxonalar orasidagi nozik format xatosini aniqlashga yordam beradi.
Bog‘liq tushunchalar
Private key, Digital signature, Key agreement, Public Key Infrastructure, Certificate, Symmetric cryptography, Forward secrecy