Bosh sahifa Wiki Ciphertext

Ciphertext

Ciphertext — shifrlash algoritmi plaintext va kalitni qayta ishlagandan keyin hosil qiladigan, kalitsiz mazmuni tushunarsiz bo‘lishi ko‘zlangan ma’lumot. U binary byte’lardan iborat bo‘lishi mumkin va ko‘pincha saqlash yoki transport uchun base64 yoxud hexadecimal ko‘rinishga kodlanadi. Encoding shifrlash emas: base64 qiymatni kalitsiz osongina qayta byte’larga aylantirish mumkin.

Hosil bo‘lishi

Simmetrik sxemada ciphertext mantiqan quyidagicha olinadi:

ciphertext = Encrypt(key, nonce, plaintext, associated_data)

Zamonaviy authenticated encryption algoritmi ciphertext bilan birga authentication tag ham chiqaradi. Nonce yoki IV odatda secret emas, lekin ayni kalit uchun protokol talabiga muvofiq noyob bo‘lishi kerak. Associated data shifrlanmaydi, ammo tag bilan autentifikatsiya qilinadi; masalan, record turi yoki versiya shu yerga bog‘lanishi mumkin.

Ciphertext uzunligi algoritmga bog‘liq. Stream cipher va ko‘p AEAD sxemasida u plaintextga yaqin uzunlikda, tag va nonce esa qo‘shimcha metadata bo‘ladi. Block cipher padding ishlatsa, ciphertext blok o‘lchamiga yaxlitlanadi. Uzunlikning o‘zi ma’lumot hajmi haqida axborot chiqarishi mumkin.

Yaxlitlik va malleability

Faqat confidentiality beradigan shifrlash ciphertext o‘zgartirilganini aniqlamasligi mumkin. Ayrim rejimlarda tajovuzkor plaintextni bilmasdan ciphertext bitini o‘zgartirib, deshifrlangan natijada nazoratli bit o‘zgarishi hosil qiladi. Bu malleability deb ataladi. AES-GCM yoki ChaCha20-Poly1305 kabi AEAD tag tekshiruvdan o‘tmasa, plaintextni ilovaga bermaydi.

“Decrypt qilinganda o‘qiladigan JSON chiqdi” yaxlitlik tekshiruvi emas. Padding oracle kabi hujumlar serverning turli decryption xatolaridan plaintext haqida ma’lumot olishi mumkin. Implementatsiya avval authenticationni tekshiradi, tashqi javobda xato tafsilotlarini birlashtiradi va noto‘g‘ri ciphertextni biznes parseriga uzatmaydi.

Saqlash formati

Ciphertextning o‘zi decryption uchun yetarli bo‘lmasligi mumkin. Format algoritm va versiya, key ID, nonce/IV, tag, salt va KDF parametrlarini saqlaydi. Bu metadata’ning ko‘pi ochiq bo‘lishi mumkin, ammo associated data yoki tag orqali o‘zgartirishdan himoyalanadi. Versiyasiz blob key rotation yoki algoritm migratsiyasini qiyinlashtiradi.

version | key_id | nonce | ciphertext | tag

Key ciphertext bilan bir joyda ochiq saqlansa, shifrlashning asosiy foydasi yo‘qoladi. Envelope encryptionda data key master key bilan o‘ralib, wrapped shaklda blob yonida turishi mumkin. Master key KMS yoki HSMda saqlanadi.

Sizib chiqadigan metadata

Kuchli shifrlash ham trafik va access patternni to‘liq yashirmaydi. Bir xil plaintext deterministik sxemada bir xil ciphertext bersa, tenglik ko‘rinadi. Tasodifiy nonce’li probabilistic encryption odatda bir xil plaintextga turli ciphertext beradi. Database qidiruvi uchun deterministik encryption tanlansa, frequency analysis va equality leakage tahdidi qabul qilinadi.

Ciphertext uzunligi, yaratilgan vaqti, jo‘natuvchi, qabul qiluvchi va so‘rov chastotasi metadata sifatida qolishi mumkin. Traffic padding, batching yoki ORAM kabi murakkab usullar ayrim leakage’ni kamaytiradi. Oddiy “data encrypted” bayonoti qaysi metadata ochiq qolganini tushuntirmaydi.

Hayot sikli

Ciphertext uzoq yillar saqlansa, kalit rotation, algoritm eskirishi va crypto-agility rejalashtiriladi. Eski key decrypt-only holatda saqlanishi yoki data yangi kalit bilan qayta shifrlanishi mumkin. Kalit yo‘qolsa ciphertext tiklanmaydi; shu sababli backup strategiyasi data bilan birga key recoveryni ham qamrab oladi.

Kvantga chidamlilik masalasi ko‘proq key exchange va public-key wrappingga ta’sir qiladi. “Harvest now, decrypt later” tahdidida bugun yozib olingan ciphertext keyinchalik kalit himoyasi buzilganda ochilishi mumkin. Ma’lumot maxfiyligi qancha yil kerakligi algoritm va key management tanloviga kiradi.

Bog‘liq tushunchalar

Plaintext, Encryption, AEAD, Authentication tag, Nonce, Key management, Cryptanalysis