เอนโทรปีในด้านคอมพิวติ้งคืออะไร?
**เอนโทรปี (Entropy)** ในคอมพิวเตอร์หมายถึง **ความสุ่ม (Randomness)** ที่ได้จากระบบปฏิบัติการหรือแอปพลิเคชัน ใช้เพื่อวัตถุประสงค์ทางการเข้ารหัสลับ (Cryptography) และการสร้างคีย์ที่ปลอดภัย
บทบาทของเอนโทรปีในการเข้ารหัสลับ
- ใช้วัด **ความสุ่มของสตรีมข้อมูล** ที่จำเป็นสำหรับอัลกอริทึมการเข้ารหัส
- เป็น **องค์ประกอบสำคัญ** ของระบบเข้ารหัส — เอนโทรปีไม่พออาจทำให้ระบบเปราะบาง
- ใช้สร้าง **คีย์ (Keys), Nonces, Initialization Vectors** ที่ต้องมีความสุ่มสูง
เอนโทรปีในการวิเคราะห์มัลแวร์
ในมัลแวร์และโค้ด เอนโทรปีวัด **ความสุ่มของโค้ด** สำคัญในการ:
- การทำให้โค้ดไม่สามารถอ่านได้ (Code Obfuscation)
- การบีบอัด (Compression), เข้ารหัส (Encryption), แปลงเข้ารหัส (Encoding)
- ไฟล์ที่มีเอนโทรปีสูงมักเป็นไฟล์ที่เข้ารหัสหรือบีบอัดแล้ว
วิธีคำนวณเอนโทรปี
สูตรชันนอน (Shannon Entropy):
H(X) = -Σ p(x) * log₂(p(x))
โดยที่ p(x) คือ ความน่าจะเป็นของแต่ละสัญลักษณ์
ตัวอย่างรหัสผ่าน: log₂(26) × 4 ≈ 18.8 บิต (สำหรับรหัส 4 ตัวอักษร a-z)
การตรวจสอบเอนโทรปีบน Linux Server
cat /proc/sys/kernel/random/entropy_avail
ค่าปกติควรอยู่ระหว่าง 1000-4000+ หากต่ำกว่า 200 อาจทำให้ SSL/TLS ทำงานช้าหรือล้มเหลว
เอนโทรปีในเครือข่าย (Networking)
- วัด **ความสุ่มของข้อมูล** ในการสื่อสารข้อมูล
- เกี่ยวข้องกับ **อัตราสัญญาณผิดพลาด (Signaling Error Rate)**
- เชื่อมโยง **Noise (สัญญาณรบกวน)** และ **Bandwidth (แบนด์วิดท์)**
- กำหนดความเร็วสูงสุดของการเข้ารหัส (bps)
ความสำคัญของเอนโทรปีสูง
- เพิ่ม **ความซับซ้อนของอัลกอริทึมเข้ารหัส**
- ทำให้การโจมตีแบบ Brute-force ยากขึ้น
- สำคัญสำหรับ **Perfect Forward Secrecy**
เอนโทรปีในไฟล์ PE (Windows Executable)
ไฟล์ PE ที่มีเอนโทรปีสูงใน Section ใด Section หนึ่ง มักหมายถึง **ข้อมูลถูกบีบอัดหรือเข้ารหัส** — มักพบในมัลแวร์เพื่อหลบ Static Analysis
เอนโทรปีใน Firmware
จำนวนบิตที่ใช้แทนแต่ละตัวอักษรในไฟล์ แสดง **ความหนาแน่นของข้อมูล (Information Density)** หรือความสุ่มของเนื้อหาไฟล์