การเข้ารหัสและการถอดรหัส 5 การเข้ารหัสและการถอดรหัส
ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) พื้นฐานการเข้ารหัสข้อมูล จุดประสงค์การเข้ารหัส (Encryption) คือ การรักษาความลับของข้อมูล การเข้ารหัส (Encryption) เป็นกรรมวิธีที่ใช้แปลงข้อมูลธรรมดาที่เราสามารถอ่านได้ให้อยู่ในรูปสุ่มที่ไม่สามารถอ่านได้ การเข้ารหัส (Encryption) การถอดรหัส (Decryption) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านไม่ได้ (Cipher Text) กุญแจถอดรหัส Decryption Key กุญแจเข้ารหัส Encryption Key
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
Caesar Substitution Ciphers เป็นการแทนค่าแต่ละตัวอักษรด้วยสัญลักษณ์เพียงตัวเดียว เป็นวิธีทีง่ายที่สุด ใช้มาตั้งแต่สมัยจูเลียส ซีซาร์ ในการเข้ารหัสเนื้อความจดหมายส่งไปให้ทัพทหารระหว่างการรบ ตัวอย่าง การเข้ารหัสวิธีนี้ คือ การแทนค่าของแต่ละตัวอักษรด้วยตัวอักษรที่อยู่ถัดไปอีก 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 ได้ง่าย โดยทดสอบการแทนที่ตัวอักษรไปเรื่อยๆ ก็จะเจอข้อความที่สามารถอ่านได้
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! ถ้าการถอดรหัสทำได้โดยใช้อักษรแทนลงที่แต่ละตัวต้องใช้เวลานานมากกว่าจะถอดได้
Transposition Ciphers การแทนค่าตัวอักษรโดยการใช้วิธีการเลื่อนค่า แบบไม่ใช้ Key: ไม่มีการสลับลำดับของหลัก ตัวอย่าง Plain Text : this is a message for you และใช้ 5 หลัก T H I S A M E G F O R Y U 1 2 3 4 5 หลัก แถว Transposition : เปลี่ยนแถวในเป็นหลักเปลี่ยนหลักให้เป็นแถว Cipher Text : TSSOHAARIMGYSEEOISFU
Transposition Ciphers แบบใช้ Key ช่วย :มีการจัดลำดับหลักตาม key เช่น MEGABUCK ตัวอย่าง Plain Text : this is a message for you กำหนด Key ขึ้นมาจะได้จำนวนหลักทั้งหมดและเรียงลำดับหลักตาม Key T H I S A M E G F O R Y U B C K 7 4 5 1 2 8 3 6 D กรณีจำนวนตัวอักษรข้อความไม่พอ ให้กำหนดเป็นa b c … แทน Cipher Text : SAUIGAAFCHSYISOMODTERSEB
Cipher Text : SAUIGAAFCHSYISOMODTERSEB การถอดรหัส key คือ MEGABUCK Cipher Text : SAUIGAAFCHSYISOMODTERSEB Plain Text : คืออะไร ... ทำเป็นการบ้าน ? วิธีนี้เมื่อมีการขโมย Cipher Text จะถอดรหัสได้ยากเนื่องจาก ต้องทำการเดาจำนวนหลักทั้งหมดที่ใช้ และ ลำดับในการเรียงหลักดังกล่าวด้วย
เทคโนโลยีการเข้ารหัส Encryption ถอดรหัส Decryption กุญแจเข้ารหัส Encryption Key กุญแจถอดรหัส Decryption Key Cipher Text Plain Text
ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) หลักการของการเข้ารหัสข้อมูลก็คือแปลงข้อมูลไปอยู่ในรูปของข้อมูลที่ไม่สามารถอ่านได้โดยตรง ข้อมูลจะถูกถอดกลับด้วยกระบวนการถอดรหัส การถอดรหัส การเข้ารหัส ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านได้(Plain Text) ข้อมูลที่อ่านไม่ได้(Cipher Text)
การเข้ารหัสแบบ Secret Key Encryption การถอดรหัส Decryption กุญแจรหัส Secret Key Cipher Text Plain Text การเข้ารหัสแบบนี้จะอาศัยกุญแจเข้ารหัสเพียงอันเดียวในการเข้ารหัสและถอดรหัสข้อมูล ซึ่งทั้งผู้รับและผู้ส่งข้อความจะใช้คีย์เดียวกัน ดังนั้นกุญแจดังกล่าวจึงต้องเก็บเป็นความลับ วิธีนี้มีข้อเสียที่ทั้งสองฝ่ายต้องใช้รหัสลับร่วมกัน ดังนั้นถ้ามีการติดต่อระหว่างคน n คน จะต้องใช้คีย์เดียวกันหมด ทำให้แต่ละคนสามารถอ่านข้อความของกันได้
การเข้ารหัสแบบ Public Key Encryption Plain Text Cipher Text Plain Text การเข้ารหัส Encryption การถอดรหัส Decryption เก็บไว้ส่วนตัวไม่จ่ายแจกให้ใคร แจกจ่ายให้ทุกคน กุญแจรหัสสาธารณะ Public Key กุญแจรหัสส่วนตัว Secret Key กุญแจ Public Key สามารถแจกจ่ายให้ผู้อื่นที่อยู่ในระบบได้และถูกใช้ในการเข้ารหัสข้อมูล กุญแจ Secret Key จะถูกเก็บไว้เป็นความลับเพื่อใช้ในการถอดรหัสข้อมูล
C B A PK SK PK:A PK:C PK:B PK:C การเข้ารหัสแบบนี้จะอาศัยคู่ของกุญแจPublic Key - Secret Key ใช้ในการเข้ารหัสและถอดรหัสข้อมูล ผู้ใช้แต่ละคนควรมีกุญแจ Public Key - Secret Key คนละคู่
ในการส่งข้อมูลจาก A ไปหา B นั้น ข้อมูลที่ต้องการส่งจะผ่านขบวนการเข้ารหัสข้อมูลโดยใช้ Public key ของB จะได้ Cipher Text ส่งไปยัง B B A PK SK PK:B PK:A การเข้ารหัส Encryption Cipher Text Plain Text ที่ต้องการส่ง ให้ B
เมื่อข้อมูล Cipher ส่งมาถึง B แล้ว จะผ่านขบวนการถอดรหัสข้อมูลโดยใช้ Secret key ของB จะได้ Plain Text ที่ A ต้องการส่งถึง B A B PK SK PK:B PK SK PK:A Plain Text ที่ต้องการส่ง ให้ B SK:B Cipher Text การถอดรหัส Decryption