วันพุธที่ 14 มกราคม พ.ศ. 2552

การถอดรหัส

การเข้ารหัสและการถอดรหัสข้อมูล
พื้นฐานการเข้ารหัสข้อมูล
• Cryptography หมายถึงศาสตร์การรักษาความลับข้อของความด้วยวิธีการเข้ารหัส (Encryption)
• การเข้ารหัส (Encryption) เป็นกรรมวิธีที่ใช้แปลงข้อมูลธรรมดาที่เราสามารถอ่านได้ให้อยู่ในรูปสุ่มที่ไม่
สามารถอ่านได้
• Plain Text : ข้อมูลที่สามารถอ่านได้ เรียกอีกอย่างว่า Clear Text
• Cipher Text : ข้อมูลที่ถูกเข้ารหัสเอาไว้ไม่สามารถอ่านได้
• Encryption : ขบวนการเข้ารหัสข้อมูลโดยอาศัย Encryption Key ทำให้ Plain Text เปลี่ยนเป็น
Cipher Text เพื่อไม่ให้อ่านข้อมูลได้ ดังนั้นหากผู้ส่งข้อมูลทำการเข้ารหัสข้อมูลเพื่อทำให้เป็น Cipher
Text แล้วถึงส่งข้อมูลไปให้ฝั่งรับ ถึงแม้มีการขโมยข้อมูล ผู้ที่ขโมยข้อมูลก็ไม่สามารถอ่านข้อมูลได้
• Decryption : ขบวนการถอดรหัสข้อมูลโดยอาศัย Decryption Key ทำการแปลง Cipher Text
กลับมาเป็น Plain Text ที่สามารถอ่านได้
รูปแบบวิธีการเข้ารหัสข้อมูล
• Caesar Substitution Ciphers
• Monoalphabetic Substitution Ciphers
• Transposition Ciphers
• Secret Key Encryption
• Public Key Encryption
• DES : Data Encryption Standard
• RSA
Caesar Substitution Ciphers
• เป็นการแทนค่าแต่ละตัวอักษรด้วยสัญลักษณ์เพียงตัวเดียว เป็นวิธีทีง่ายที่สุด ใช้มาตั้งแต่สมัยจูเลียส ซี
ซาร์ ในการเข้ารหัสเนื้อความจดหมายส่งไปให้ทัพทหารระหว่างการรบ
• ตัวอย่าง ใช้ความสัมพันธ์ของอักษรในภาษาอังกฤษ 26 ตัว โดยที่ ตัวอักษรใน Cipher Text จะได้
จาก Plain Text + ไปยัง 3 ลำดับของตัวอักษรในภาษาอังกฤษ ในทางกลับกัน Plain Text จะเท่ากับ
Cipher Text - ไปยัง 3 ลำดับของตัวอักษรในภาษาอังกฤษ
Plain Text : a b c d e f g h I j k l m n o p q r s t u v w x y z
Cipher Text : d e f g h I j k l m n o p q r s t u v w x y z a b c
เช่น Love You ---> 0ryh brx


วิธีนี้เมื่อมีการขโมย Cipher Text สามารถถอดได้ไม่ยากนัก เนื่องจากมีคำตอบที่เป็นไปทั้งหมด 25
คำตอบ
• โดยทดสอบการแทนที่ตัวอักษรไปเรื่อยๆ ก็จะเจอข้อความที่สามารถอ่านได้
• การถอดรหัสข้อมูล 0ryh brx
ลำดับตัวอักษร a b c d e f g h I j k l m n o p q r s t u v w x y z
เลื่อนกลับ 1 ตำแหน่ง : nqxq aqw
เลื่อนกลับ 2 ตำแหน่ง : mpwf zpv
เลื่อนกลับ 3 ตำแหน่ง : love you ◊ จะเจอคำที่สามารถอ่านได้
Monoalphabetic Substitution Ciphers
• เป็นการแทนค่าแต่ละตัวอักษรด้วยสัญลักษณ์เพียงตัวเดียวเช่นกัน แต่เป็นอย่างอิสระหรือไม่มีเหตุผลว่า
ทำไมต้องเป็นแบบนี้
• ตัวอย่าง มีการกำหนดตัวอักษรในการเข้ารหัสแทนที่ ตามแป้น
Plain Text :a b c d e f g h i j k l m n o p q r s t u v w x y z
Cipher Text:q w e r t y u i o p a s d f g h j k l z x c v b n m
เช่น Love You ---> sgct ngx
• ในการเข้ารหัสข้อมูลและถอดรหัสข้อมูลทั้งสองฝ่ายจะต้องมี ตารางที่ใช้สำหรับการแทนที่ตัวอักษร
และจะต้องเก็บตารางดังกล่าวไว้เป็นอย่างดี
• แบบนี้เมื่อมีการขโมย Cipher Text สามารถถอดได้ยากกว่าแบบแรก เนื่องจากแต่ละตัวมีอักษรที่จะ
สามารถเป็นไปได้ 26 ตัวอักษรดังนั้นคำตอบที่จะเป็นไปได้ทั้งหมดมี 26! ถ้าการถอดรหัสทำได้โดยใช้
อักษรแทนลงที่ละตัวต้องใช้เวลานานมากกว่าจะถอดได้
• วิธีถอดรหัสอีกวิธีหนึ่งคืออาศัยสถิติความถี่ของตัวอักษรมาช่วย
• จากสถิติตัวอักษรที่พบบ่อย เรียงจากมาก --> น้อย คือ
หากเราแทนตัวอักษรตัวที่มี
จำนวนมากที่สุดด้วย e และแทน
ตัวถัดไปด้วย t แล้วพบเจอรูป
ประโยค tYe จะได้ Y คือ h

Transposition Ciphers
• แบบไม่ใช้ Key: ไม่มีการสลับลำดับของหลัก
ตัวอย่าง Plain Text : this is a message for you และใช้ 5 หลัก

การถอดรหัส
Cipher Text : SAUIGAAFCHSYISOMODTER
Plain Text : คืออะไร ... ทำเป็นการบ้าน ?
• วิธีนี้เมื่อมีการขโมย Cipher Text จะถอดรหัสได้ยากเนื่องจาก ต้องทำการเดาจำนวนหลักทั้งหมดที่ใช้
และ ลำดับในการเรียงหลักดังกล่าวด้วย
เทคโนโลยีการเข้ารหัส• กรณีที่ Encryption Key = Decryption Key เราเรียกขบวนการเข้ารหัสถอดรหัสนี้ว่า Symmetric-
Key Encryption เช่น การเข้ารหัสแบบ Secret Key Encryption
• กรณีที่ Encryption Key ไม่เท่ากับ Decryption Key เราเรียกว่าขบวนการเข้ารหัสถอดรหัสนี้ว่า
Asymmetric-Key Encryption เช่น การเข้ารหัสแบบ Public Key Encryption
การเข้ารหัสแบบ Secret Key Encryption
• การเข้ารหัสแบบนี้จะอาศัยกุญแจเข้ารหัสเพียงอันเดียวในการเข้ารหัสและถอดรหัสข้อมูล ซึ่งทั้งผู้รับ
และผู้ส่งข้อความจะใช้คีย์เดียวกัน ดังนั้นกุญแจดังกล่าวจึงต้องเก็บเป็นความลับ
• วิธีนี้มีข้อเสียที่ทั้งสองฝ่ายต้องใช้รหัสลับร่วมกัน ดังนั้นถ้ามีการติดต่อระหว่างคน n คน จะต้องใช้คีย์
เดียวกันหมด ทำให้แต่ละคนสามารถอ่านข้อความของกันได้

ไม่มีความคิดเห็น: