Cryptography Basics
ক্রিপ্টোগ্রাফির মৌলিক ধারণা
Symmetric/Asymmetric Cryptography, Digital Signature ও SQL Injection
পড়তে প্রায় ১১ মিনিট
এই পাঠ শেষে আপনি পারবেন
- CIA Triad (Confidentiality, Integrity, Availability) ও Non-repudiation ব্যাখ্যা করা
- Symmetric ও Asymmetric key cryptography এবং Hashing-এর পার্থক্য চেনা
- Digital Signature কীভাবে কাজ করে এবং SQL Injection ও XSS প্রতিরোধের উপায় জানা
CIA Triad ও ক্রিপ্টোগ্রাফির মূল কথা
- Confidentiality (গোপনীয়তা): অননুমোদিত কেউ তথ্য পড়তে না পারা (Encryption দ্বারা নিশ্চিত হয়)।
- Integrity (অখণ্ডতা): তথ্য পথে পরিবর্তিত হয়েছে কি না তা যাচাই করা (Cryptographic Hash / MAC দ্বারা নিশ্চিত হয়)।
- Availability (লভ্যতা): অনুমোদিত ব্যবহারকারীর কাছে সেবা সবসময় সচল থাকা (DDoS আক্রমণ এটি ব্যাহত করে)।
Symmetric বনাম Asymmetric Encryption এবং Hashing
- Symmetric Key (একই গোপন চাবি): Encrypt ও Decrypt করতে একই Secret Key ব্যবহৃত হয়। এটি দ্রুতগতির, বড় ডেটা এনক্রিপশনে ব্যবহৃত হয়। উদাহরণ: AES (128/192/256-bit key, 128-bit block), DES (56-bit কার্যকর key, 64-bit block), 3DES, Blowfish, RC4।
nজন ব্যবহারকারীর পরস্পর গোপন যোগাযোগের জন্য মোটn(n − 1) / 2টি key প্রয়োজন। - Asymmetric / Public-Key (দুটি ভিন্ন চাবি: Public ও Private): গোপনীয়তার (Confidentiality) জন্য প্রাপকের Public Key দিয়ে encrypt এবং প্রাপকের Private Key দিয়ে decrypt করা হয়। উদাহরণ: RSA, Diffie-Hellman (Key Exchange), ECC (Elliptic Curve Cryptography), ElGamal।
- Hashing (একমুখী ফাংশন - One-way): যেকোনো আকারের ইনপুট থেকে নির্দিষ্ট দৈর্ঘ্যের ডাইজেস্ট তৈরি করে; এটি Decrypt করা যায় না। উদাহরণ: SHA-256 (256-bit আউটপুট), SHA-512, bcrypt / Argon2 (পাসওয়ার্ড সংরক্ষণে ব্যবহৃত)। MD5 (128-bit) ও SHA-1 (160-bit)-এ collision পাওয়া যাওয়ায় বর্তমানে অনিরাপদ।
Digital Signature কীভাবে কাজ করে?
Digital Signature নিশ্চিত করে Authentication, Integrity ও Non-repudiation (প্রেরক পরে অস্বীকার করতে পারবে না):
- প্রেরক মেসেজের একটি Hash তৈরি করেন এবং নিজের Private Key দিয়ে সেই হ্যাশটিকে encrypt করেন—এটিই Digital Signature।
- প্রাপক প্রেরকের Public Key দিয়ে সিগনেচারটি decrypt করে হ্যাশ মেলান।
SQL Injection ও XSS প্রতিরোধ
- SQL Injection (SQLi): ইউজার ইনপুট সরাসরি SQL কুয়েরিতে জোড়া লাগালে আক্রমণকারী
' OR '1'='1দিয়ে লগইন বাইপাস বা ডেটা চুরি করতে পারে। প্রতিরোধ: Prepared Statements (Parameterized Queries) ব্যবহার করা। - XSS (Cross-Site Scripting): ওয়েব পেজে ক্ষতিকর JavaScript ইনজেক্ট করা। প্রতিরোধ: Output encoding/escaping এবং Content Security Policy (CSP) ব্যবহার করা।
সংস্করণ ১ · সর্বশেষ হালনাগাদ ২১ অক্টোবর, ২০২৬