Bosh sahifa Wiki Symmetric encryption

Symmetric encryption

Symmetric encryption — shifrlash va decrypt qilish uchun bitta umumiy maxfiy kalit ishlatiladigan encryption turi. Bu modelda ma’lumotni encrypt qilgan tomon va decrypt qiladigan tomon bir xil keyga ega bo‘ladi.

Symmetric encryption tez ishlagani uchun katta hajmdagi ma’lumotlarni himoyalashda keng ishlatiladi.

Vazifasi

Symmetric encryption quyidagi vazifalarni bajaradi:

  • ma’lumotni tez shifrlash;
  • katta fayllarni himoyalash;
  • database yoki storage ma’lumotlarini shifrlash;
  • tarmoq aloqasidagi session ma’lumotlarini himoyalash;
  • backup fayllarni shifrlash;
  • maxfiy konfiguratsiya va tokenlarni himoyalash;
  • TLS session ichida tezkor encryption bajarish.

Masalan, server fayl storage’da saqlanadigan maxfiy hujjatlarni bitta symmetric key orqali shifrlashi mumkin.

Qanday ishlaydi?

Symmetric encryptionda bitta key ikki vazifani bajaradi: encrypt va decrypt.

Oddiy jarayon:

Kalit maxfiy saqlanishi kerak. Uni bilgan odam ma’lumotni ochishi mumkin.

Symmetric key

Symmetric key — shifrlash va decrypt qilish uchun ishlatiladigan umumiy maxfiy kalit.

Bu key:

  • sir saqlanishi kerak;
  • encrypt qilishda ishlatiladi;
  • decrypt qilishda ham ishlatiladi;
  • noto‘g‘ri qo‘lga tushsa, ma’lumot xavf ostida qoladi.

Symmetric encryption xavfsizligi key maxfiyligiga bog‘liq.

AES

AES — Advanced Encryption Standard. U eng ko‘p ishlatiladigan symmetric encryption algoritmlaridan biridir.

AES quyidagi variantlarda uchraydi:

Bu raqamlar key uzunligini bildiradi. AES web, database, disk encryption, VPN va TLS tizimlarida ishlatiladi.

ChaCha20

ChaCha20 — symmetric stream cipher algoritmi. U tez ishlashi va ayrim qurilmalarda samaradorligi bilan tanilgan.

ChaCha20 quyidagilarda ishlatilishi mumkin:

  • TLS;
  • mobile qurilmalar;
  • VPN;
  • secure messaging;
  • stream encryption.

ChaCha20 ko‘pincha Poly1305 authentication mexanizmi bilan birga ishlatiladi.

Block cipher

Block cipher — ma’lumotni belgilangan hajmdagi bloklar bilan shifrlaydigan symmetric encryption turi.

AES block cipher hisoblanadi.

Block cipher:

  • ma’lumotni bloklarga ajratadi;
  • har bir blokni algoritm orqali shifrlaydi;
  • mode of operation bilan ishlaydi;
  • katta hajmdagi ma’lumotga qo‘llanadi.

Stream cipher

Stream cipher — ma’lumotni oqim ko‘rinishida shifrlaydigan symmetric encryption turi.

Stream cipher:

  • ma’lumotni ketma-ket byte yoki bitlar bo‘yicha qayta ishlaydi;
  • real-time aloqa uchun mos bo‘lishi mumkin;
  • ChaCha20 kabi algoritmlarda uchraydi.

Stream cipher noto‘g‘ri nonce yoki key ishlatilsa xavfli bo‘lishi mumkin.

IV va nonce

IV — Initialization Vector. Nonce — bir marta ishlatiladigan qiymat. Symmetric encryptionda ular bir xil plaintext har safar bir xil ciphertext bo‘lib qolmasligi uchun ishlatiladi.

IV yoki nonce:

  • takrorlanmasligi kerak;
  • ayrim algoritmlarda maxfiy bo‘lishi shart emas;
  • encryption natijasini noyob qiladi;
  • mode of operation bilan bog‘liq.

Ayniqsa stream cipherlarda nonce takrorlanishi jiddiy xavf tug‘dirishi mumkin.

Mode of operation

Block cipher algoritmlar ma’lumotni qanday qayta ishlashini mode of operation belgilaydi.

Keng uchraydigan mode’lar:

  • CBC;
  • GCM;
  • CTR;
  • ECB.

ECB xavfsiz hisoblanmaydi, chunki bir xil plaintext bloklar bir xil ciphertext bloklarga aylanishi mumkin. GCM authenticated encryption imkonini beradi.

Authenticated encryption

Authenticated encryption — ma’lumot maxfiyligi bilan birga yaxlitligini ham tekshiradigan encryption modeli.

U quyidagilarni ta’minlaydi:

AES-GCM authenticated encryptionga misol bo‘la oladi.

Asymmetric encryption bilan farqi

Symmetric va asymmetric encryption farqli kalit modeliga ega.

TLS kabi protokollarda ikkala model birga ishlatiladi.

Key exchange muammosi

Symmetric encryptionda asosiy muammo — keyni xavfsiz almashish. Agar ikki tomon oldindan umumiy keyga ega bo‘lmasa, keyni qanday xavfsiz yetkazish masalasi paydo bo‘ladi.

Bu muammo uchun:

Dasturlashdagi o‘rni

Symmetric encryption katta hajmdagi ma’lumotlarni tez shifrlash uchun ishlatiladi. U storage, database, backup, TLS session, VPN va secure messaging tizimlarida muhim o‘rin tutadi.

Bog‘liq tushunchalar

Encryption, Decryption, AES, ChaCha20, Key, IV, Nonce, Ciphertext, Asymmetric encryption, TLS, Security