সিমেট্রিক এনক্রিপশন (Symmetric Encryption): ধারণা ও কাজকর্ম
সিমেট্রিক এনক্রিপশন হল একটি ক্রিপ্টোগ্রাফিক পদ্ধতি যেখানে একই গোপন কী (Secret Key) ব্যবহার করে ডেটা এনক্রিপ্ট (গোপন করা) এবং ডিক্রিপ্ট (পুনরুদ্ধার করা) করা হয়। এটি "প্রাইভেট কী এনক্রিপশন" নামেও পরিচিত।
কীভাবে কাজ করে?
- প্রেরক এবং প্রাপ্তিকর্তা একটি গোপন কী (যেমন ২৫৬-বিট) নিরাপদে ভাগ করে নেন
- প্রেরক প্লেইনটেক্সট + কী → সিফারটেক্সট (এনক্রিপশন)
- সিফারটেক্সট অসুরক্ষিত চ্যানেলে প্রেরণ করা হয়
- প্রাপ্তিকর্তা সিফারটেক্সট + একই কী → প্লেইনটেক্সট (ডিক্রিপশন)
প্রধান সিমেট্রিক অ্যালগরিদম
| অ্যালগরিদম | কী লেথ | ব্লক সাইজ | অবস্থা | ব্যবহার |
|---|---|---|---|---|
| AES (Advanced Encryption Standard) | 128/192/256 бит | 128 бит | স্ট্যান্ডার্ড (NIST FIPS 197) | TLS, VPN, ডিস্ক এনক্রিপশন, ফাইল এনক্রিপশন |
| ChaCha20 | 256 бит | Stream | আধুনিক, দ্রুত (সফটওয়্যারে) | TLS 1.3, WireGuard, মোবাইল |
| 3DES (Triple DES) | 168 бит (eff. 112) | 64 бит | Deprecated (NIST SP 800-131A) | লিগ্যাসি সিস্টেম (মাইগ্রেট করা উচিত) |
| Blowfish/Twofish | Variable | 64/128 бит | পুরানো, কম ব্যবহৃত | কিছু লিগ্যাসি অ্যাপ্লিকেশন |
| RC4 | Variable | Stream | ভাঙা/নিষিদ্ধ | WEP, পুরানো SSL (ব্যবহার করবেন না) |
অপারেশন মোড (Block Cipher Modes)
- ECB (Electronic Codebook): নিরাপদ নয়—একই প্লেইনটেক্সট ব্লক একই সিফারটেক্সট দেয়
- CBC (Cipher Block Chaining): IV (Initialization Vector) প্রয়োজন, প্যাডিং আক্রমণের ঝুঁকি
- GCM (Galois/Counter Mode): সর্বোত্তম—Authenticated Encryption (AEAD), সমান্তরাল প্রক্রিয়া, TLS 1.2/1.3-এ ডিফল্ট
- CTR (Counter Mode): Stream cipher-এ রূপান্তর করে, নন্স Wiederholung এড়াতে হবে
সিমেট্রিক vs অ্যাসিমেট্রিক এনক্রিপশন
| দিক | সিমেট্রিক | অ্যাসিমেট্রিক |
|---|---|---|
| কী | একই কী (শেয়ার্ড) | কী জোড়া (পাবলিক/প্রাইভেট) |
| গতি | খুব দ্রুত (১০০০x+) | ধীর |
| স্কেলেবিলিটি | কম (n(n-1)/2 কী জোড়া) | উচ্চ (n কী জোড়া) |
| কী বিনিময় | চ্যালেঞ্জিং (Out-of-band) | সহজ (পাবলিক কী ওপেন) |
| নন-রিপুডিয়েশন | না | হ্যাঁ |
| ব্যবহার | বাল্ক ডেটা এনক্রিপশন | কী এক্সচেঞ্জ, ডিজিটাল স্বাক্ষর |
হাইব্রিড এনক্রিপশন (সর্বোত্তম অনুশীলন)
আধুনিক প্রোটোকল (TLS, SSH, PGP, Signal) হাইব্রিড পদ্ধতি ব্যবহার করে:
- অ্যাসিমেট্রিক (ECDHE/RSA) দিয়ে সেশন কী এক্সচেঞ্জ/এনক্রিপ্ট
- সেশন কী (সিমেট্রিক) দিয়ে বাল্ক ডেটা এনক্রিপ্ট (AES-GCM/ChaCha20-Poly1305)
এটি দুটির সুবিধা একসাথে দেয়: নিরাপদ কী বিনিময় + উচ্চ থ্রুপুট।
নেটওয়ার্ক সিকিউরিটিতে ব্যবহারের ক্ষেত্রে
- TLS/HTTPS: AES-GCM / ChaCha20-Poly1305 (রেকর্ড লেয়ার)
- VPN (IPsec/WireGuard/OpenVPN): AES-GCM, ChaCha20-Poly1305
- Wi-Fi (WPA2/WPA3): AES-CCMP, AES-GCMP
- ডিস্ক এনক্রিপশন: BitLocker (AES-XTS), LUKS (AES-XTS)
- ফাইল/ডাটাবেস এনক্রিপশন: AES-GCM, AES-CTR+HMAC
- Kerberos: AES-CTS-HMAC-SHA1-96 / AES256-CTS-HMAC-SHA1-96
কী ম্যানেজমেন্ট সেরা অনুশীলন
- ক্রিপ্টোগ্রাফিকালি সিকিউর RNG (CSPRNG) থেকে কী জেনারেট করুন
- কী রোটেশন নীতি বাস্তবায়ন করুন (৯০ দিন/১ বছর)
- HSM (Hardware Security Module) বা KMS (AWS KMS, Azure Key Vault) ব্যবহার করুন
- মাস্টার কী থেকে ডেটা কী ডেরাইভ করুন (Envelope Encryption)
- কী আর্কাইভ/ব্যাকআপ নিরাপদে রাখুন (Shamir's Secret Sharing)