| SHA-256 (SHA-2) | 256-bit (64 Hex) | Standard (FIPS 180-4, NIST Approved) | TLS 1.2/1.3 Certs, Bitcoin, Git, Password Hashing (w/ PBKDF2), Code Signing, Blockchain | ~5-10 CPB (SW), <1 CPB (HW SHA-NI) |
| BLAKE2b / BLAKE2s | 256/512-bit (Configurable) | Fast, Secure (Not NIST Standard but Widely Adopted) | File Integrity (BLAKE3), Password Hashing (Argon2 uses BLAKE2b), Crypto Libraries (libsodium, WireGuard) | ~1-3 CPB (SW, Very Fast), SIMD Optimized |
| এপ্লিকেশন | হ্যাশের ভূমিকা | এক্সাম্পল / টুলস |
| Password Storage | পাসওয়ার্ড কখনও প্লেইনটেক্সটে স্টোর করা হয় না। Slow Hash (KDF) ব্যবহার: Argon2id, scrypt, bcrypt, PBKDF2-HMAC-SHA256 (Iterations: 600K+) | /etc/shadow (Linux), Active Directory (NTLM - Deprecated, Kerberos AES), Web Apps (bcrypt/Argon2) |
| Data Integrity / File Verification | ডাউনলোড/ট্রান্সফার কৃত্রিম ফাইলের হ্যাশ মিলিয়ে আসল কিনা যাচাই | SHA-256/SHA-512 Checksums (ISO, Firmware, Packages), `sha256sum`, `certutil -hashfile`, `Get-FileHash` |
| Digital Signatures / PKI | মেসেজ হ্যাশ করুন (SHA-256) → প্রাইভেট কী দিয়ে সাইন (RSA/ECDSA/EdDSA/Dilithium) → পাবলিক কী দিয়ে ভেরিফাই | Code Signing (Authenticode, APK Signing, RPM/DEB Sig), TLS Certs (x.509), S/MIME, DNSSEC, JWT (RS256/ES256) |
| TLS/SSL Handshake | Certificate Verify (Hash of Handshake Messages), Finished Message (PRF based on Hash), Key Derivation (HKDF-SHA256/384) | TLS 1.2 (PRF: SHA-256/384), TLS 1.3 (HKDF-SHA256/384), Certificate Transparency (Merkle Tree Hashes) |
| IPsec / VPN / WireGuard | AH (HMAC-SHA256/384/512), ESP Integrity (HMAC), IKEv2 PRF (SHA-256/384), WireGuard (BLAKE2s for Key Derivation/Hashing) | StrongSwan, WireGuard, OpenVPN (HMAC-SHA256), Cisco IPsec |
| Blockchain / Cryptocurrency | Proof-of-Work (Hashcash: SHA-256d), Merkle Trees, Address Derivation (RIPEMD160(SHA256(PubKey))), Transaction ID | Bitcoin (SHA-256d), Ethereum (Keccak-256), Solana (SHA-256), Zcash (BLAKE2b) |
| Message Authentication Code (MAC / HMAC) | Shared Secret Key + Hash = HMAC (Integrity + Authenticity)। RFC 2104 | API Authentication (AWS SigV4, JWT HS256), TLS Record Layer (HMAC-SHA256), IPsec, SSH, Kerberos |
| Certificate Transparency (CT) Logs | Merkle Tree Hashes (SHA-256) — SCT (Signed Certificate Timestamp) Verification | Google CT, Cloudflare CT, Cert Spotter, `ctlog` tools |
| Malware Detection / Threat Intel | File Hash (SHA-256) as IOC (Indicator of Compromise), YARA Rules (Hash Modules), VT/HA/MA Lookup | VirusTotal, Hybrid Analysis, MalwareBazaar, MISP, STIX/TAXII |
| Git / Version Control | Content-Addressable Storage: SHA-1 (Legacy, Migrating to SHA-256), Commit ID = Hash(Commit Object) | Git, Mercurial, Fossil |
| Deduplication / Backup | Chunk-Level Hashing (Rabin Fingerprint, SHA-256, BLAKE3) — Identical Chunks Store Once | BorgBackup, Restic, Rclone, ZFS Dedup, Veeam |
পাসওয়ার্ড হ্যাশিং: স্পেশালাইজড KDF (Key Derivation Functions)
সাধারণ হ্যাশ (SHA-256) পাসওয়ার্ডের জন্য **উপযুক্ত নয়** কারণ এটি খুব দ্রুত (GPU/ASIC দিয়ে সেকেন্ডে বিলিয়ন গেস)। পাসওয়ার্ড হ্যাশিং-এর জন্য **Slow, Memory-Hard KDF** ব্যবহার করতে হয়:
| KDF | Memory Hard | Parallelism | সুপারিশ (২০২৪) | উদাহরণ প্যারামিটার |
| Argon2id (Winner PHC 2015) | হ্যাঁ | Configurable | সেরা পছন্দ (OWASP, NIST SP 800-63B) | Memory: 64-128 MB, Iterations: 3-4, Parallelism: 4, Hash Len: 32 Bytes |
| scrypt | হ্যাঁ | No (Sequential) | ভালো (Legacy Systems, Crypto Wallets) | N=32768 (2^15), r=8, p=1 |
| bcrypt | না (CPU Hard Only) | No | Acceptable (Wide Support, Battle-Tested) | Cost/Work Factor: 12-14 (2^Cost Iterations) |
| PBKDF2-HMAC-SHA256 | না | হ্যাঁ (GPU Friendly - Weak) | Legacy/Compliance Only (FIPS, Older Systems) | Iterations: 600,000+ (OWASP 2024 Rec) |
হ্যাশ-ভিত্তিক আক্রমণ ও প্রতিকার
| আক্রমণ | বিবরণ | প্রতিকার |
| Collision Attack | দুটি ভিন্ন ইনপুট একই হ্যাশ উৎপন্ন করে (MD5, SHA-1 Broken) | SHA-256/SHA-3/BLAKE2/3 ব্যবহার করুন। MD5/SHA-1 বর্জন করুন। |
| Length Extension Attack | H(k||m) জানলে H(k||m||pad||m') ক্যালকুলেট করা যায় (SHA-256, SHA-512 vulnerable) | HMAC ব্যবহার করুন (HMAC-SHA256), বা SHA-3/BLAKE2 (Sponge Construction — Immune)। |
| Rainbow Table / Precomputed Hash | সাধারণ পাসওয়ার্ডের হ্যাশ প্রি-কম্পিউট করে রেখে ঠিকানা लगানো | Salt (Unique Per Password, 16+ Bytes) + Slow KDF (Argon2id) + Pepper (Server-Side Secret) |
| GPU/ASIC Brute Force | দ্রুত হ্যাশ (MD5, SHA-1, SHA-256 Raw) দিয়ে পাসওয়ার্ড ক্র্যাক | Memory-Hard KDF (Argon2id, scrypt), High Iteration Count, Rate Limiting, Account Lockout, MFA। |
| HashDoS (Algorithmic Complexity) | Hash Table Collisions দিয়ে CPU Exhaustion (Web Apps, JSON Parsers) | Randomized Hash Seeds (Perl, Python, Java, PHP, Go, Node.js Default On), SipHash (HashDoS Resistant) for Hash Tables。 |
হ্যাশ ভেরিফিকেশন কমান্ডস (Quick Reference)
# Linux/macOS
sha256sum file.iso
sha256 -c file.sha256 # Verify
openssl dgst -sha256 file.iso
# Windows (PowerShell)
Get-FileHash -Algorithm SHA256 file.iso
certutil -hashfile file.iso SHA256
# Python
import hashlib
hashlib.sha256(b"data").hexdigest()
hashlib.blake2b(b"data", digest_size=32).hexdigest()
hashlib.pbkdf2_hmac('sha256', b'password', b'salt', 600000).hex()
# Go
import "golang.org/x/crypto/blake2b"
h, _ := blake2b.New256(nil)
h.Write([]byte("data"))
fmt.Printf("%x", h.Sum(nil))