Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

คำศัพท์พื้นฐานในการเข้ารหัสลับสำหรับความปลอดภัยข้อมูล

คำศัพท์พื้นฐานใน Cryptography

คำศัพท์ (อังกฤษ)คำแปลไทยคำอธิบาย
Plaintext / Cleartextข้อความต้นฉบับ / ข้อความเปิดข้อมูลที่อ่านเข้าใจได้ ก่อนเข้ารหัส หรือหลังถอดรหัส
Ciphertextซิเฟอร์เท็กซ์ / ข้อความเข้ารหัสข้อมูลที่ถูกเข้ารหัสแล้ว อ่านไม่เข้าใจโดยไม่มีกุญแจ
Encryptionการเข้ารหัสกระบวนการ Plaintext + Key + Algorithm → Ciphertext
Decryptionการถอดรหัสกระบวนการ Ciphertext + Key + Algorithm → Plaintext (ย้อนกลับของ Encryption)
Keyกุญแจข้อมูลลับ (บิต/ตัวอักษร) ควบคุมการเข้ารหัส/ถอดรหัส ความปลอดภัยขึ้นอยู่กับกุญแจ (Kerckhoffs's Principle)
Symmetric Keyกุญแจสมมาตรกุญแจเดียวใช้ทั้งเข้ารหัสและถอดรหัส (AES, DES, ChaCha20)
Asymmetric Key Pairคู่กุญแจอสมมาตรPublic Key (แจกจ่ายได้) + Private Key (เก็บความลับ) (RSA, ECC)
Hash Functionฟังก์ชันแฮชรับนำเข้าไม่จำกัด → ให้ผลลัพธ์ขนาดคงที่ ทางเดียว (One-way) ไม่มีกุญแจ
Message Digestสรุปข้อความ / ค่าแฮชผลลัพธ์ของฟังก์ชันแฮช
Digital Signatureลายเซ็นดิจิทัลเข้ารหัสแฮชข้อความด้วย Private Key ให้ Non-repudiation + Integrity + Authentication
MAC / HMACรหัสยืนยันข้อความHash/PRF พร้อมกุญแจลับ ให้ Integrity + Authentication (แต่ไม่ Non-repudiation)
IV / Nonceเวกเตอร์เริ่มต้น / นอนซ์ค่าสุ่ม/นับไม่ซ้ำ ใช้ในโหมดบล็อก (CBC, CTR, GCM) ป้องกันการเข้ารหัสซ้ำให้ผลลัพธ์เหมือนกัน
Saltเกลือค่าสุ่มต่อข้อมูล ก่อนแฮช (เช่น รหัสผ่าน) ป้องกัน Rainbow Table
Block Cipherบล็อกไซเฟอร์เข้ารหัสทีละบล็อกขนาดคงที่ (AES: 128 บิต, DES: 64 บิต)
Stream Cipherสตรีมไซเฟอร์เข้ารหัสทีละบิต/ไบต์ (ChaCha20, RC4 - ล้าสมัย)
Feistel Networkเครือข่ายไฟสเทลโครงสร้างบล็อกไซเฟอร์แบ่งครึ่ง สลับ/ผสม (DES, Blowfish, 3DES)
S-box / P-boxกล่องแทนที่ / กล่องเรียงลำดับS-box: Substitution (Confusion), P-box: Permutation (Diffusion)
Kerckhoffs's Principleหลักการเคอร์กอฟส์ความปลอดภัยต้องพึ่งพา "กุญแจ" เท่านั้น ไม่ใช่ความลับของอัลกอริทึม

แนวคิดสำคัญเพิ่มเติม

  • Confusion (ความสับสน): ทำให้ความสัมพันธ์ระหว่างกุญแจและซิเฟอร์เท็กซ์ซับซ้อน (S-box)
  • Diffusion (การกระจาย): ทำให้การเปลี่ยนบิตเดียวของเพลนเท็กซ์ ส่งผลต่อหลายบิตของซิเฟอร์เท็กซ์ (P-box, Permutation)
  • Authenticated Encryption (AEAD): เข้ารหัส + ตรวจสอบความสมบูรณ์พร้อมกัน (AES-GCM, ChaCha20-Poly1305)
  • Key Derivation Function (KDF): สร้างกุญแจจากรหัสผ่าน/ข้อมูลนำเข้า (PBKDF2, Argon2, scrypt, HKDF)