หมวดหมู่ : คณิตศาสตร์
เรื่อง : รหัสลับ VS เมทริกซ์
blog : Chaninat_tun
ระดับ : [ มือใหม่ ]
อ่าน : 12
อังคาร ที่ 9 เดือน ธันวาคม พ.ศ.2568
พิมพ์  

แผนภาพขั้นตอนการเข้ารหัส

แผนภาพขั้นตอนการเข้ารหัส

   การเข้ารหัสข้อความมีหลากหลายวิธี วิธีการหนึ่งที่เป็นที่นิยม คือ การประยุกต์ใช้ความรู้เกี่ยวกับเมทริกซ์ ในหนังสือเรียนรายวิชาเพิ่มเติมคณิตศาสตร์ ชั้นมัธยมศึกษาปีที่ 5 เล่ม 1 ของ สสวท. ได้นิยามเกี่ยวกับเมทริกซ์ ดังนี้

นิยาม

   ดังนั้น หากต้องการนำข้อความมาเขียนในรูปของเมทริกซ์ จำเป็นจะต้องแปลงพยัญชนะ สระ วรรณยุกต์ และเครื่องหมายต่าง ๆ ของข้อความให้เป็นจำนวน โดยทั่วไปการกำหนดจำนวนแทนพยัญชนะ สระ วรรณยุกต์ และเครื่องหมายต่าง ๆ มีด้วยกันหลากหลายระบบ เช่น Binary Code Decimal (BCD), American Standard Code for Information Interchange (ASCII), Unicode ในที่นี้จะนำเสนอการใช้ระบบ Unicode ในการแปลงพยัญชนะ สระ วรรณยุกต์ และเครื่องหมายต่าง ๆ ของข้อความให้เป็นจำนวนเนื่องจากระบบ Unicode ครอบคลุมภาษาที่ใช้กันโดยทั่วไปทั้งโลก รวมทั้งภาษาไทยด้วย เรียกผลจากการแปลงนี้ว่า ชุดลำดับของจำนวน

ชุดลำดับของจำนวน

   เมทริกซ์ที่สมาชิกแต่ละตัวเป็นจำนวนที่เกิดจากการแปลงข้อความเป็นชุดลำดับของจำนวนตามระบบ Unicode เรียกว่าเมทริกซ์ข้อความ M

เมทริกซ์ข้อความ M

   หากนำจำนวนจริง c ที่ไม่เป็นศูนย์ คูณกับเมทริกซ์ข้อความ M เพื่อเป็นการเข้ารหัสข้อความ จะพบว่าข้อความที่ถูกเข้ารหัสมีความปลอดภัยน้อย เนื่องจากการคาดเดาจำนวนจริง c ซึ่งเป็นจำนวนจริงเพียงจำนวนเดียวนั้น ไม่ได้เป็นการยากมากนัก ดังนั้นหากต้องการเพิ่มความปลอดภัยของข้อความที่ถูกเข้ารหัสให้มากขึ้น โดยไม่ให้บุคคลอื่นสามารถคาดเดาการเข้ารหัสได้ง่าย ควรเลือกการเข้ารหัสข้อความโดยใช้เมทริกซ์ เรียกเมทริกซ์นี้ว่า เมทริกซ์เข้ารหัส E วิธีหนึ่งในการเข้ารหัสข้อความโดยใช้เมทริกซ์ คือการนำเมทริกซ์เข้ารหัส E คูณกับเมทริกซ์ข้อความ M เรียกเมทริกซ์ผลลัพธ์จากการคูณนี้ว่า เมทริกซ์ผลลัพธ์  X

   จากการที่ต้องนำเมทริกซ์เข้ารหัส E คูณกับเมทริกซ์ข้อความ M เพื่อให้ได้เมทริกซ์ผลลัพธ์ X ซึ่งเมทริกซ์ผลลัพธ์ X จะหาได้จากการที่ต้องนำเมทริกซ์เข้ารหัส E คูณกับเมทริกซ์ข้อความ M

   เพื่อให้ได้เมทริกซ์ผลลัพธ์ X ซึ่งเมทริกซ์ผลลัพธ์ X จะหาได้ก็ต่อเมื่อ จำนวนหลักของเมทริกซ์เข้ารหัส E จะต้องเท่ากับจำนวนแถวของเมทริกซ์ข้อความ M

   จะเห็นว่า หากเมทริกซ์เข้ารหัส E มีเมทริกซ์ผกผัน เมื่อนำเมทริกซ์ผกผันของเมทริกซ์เข้ารหัส E มาคูณกับเมทริกซ์ผลลัพธ์ X ผลคูณที่จะได้คือเมทริกซ์ข้อความ M ซึ่งเป็นไปตามสมบัติของเมทริกซ์ที่ว่า E-1 - E = I เมื่อ E-1 คือเมทริกซ์ผกผันของเมทริกซ์เข้ารหัส E จึงสรุปได้ว่า 1. ผู้รับสารจะต้องทราบเมทริกซ์เข้ารหัส E เพื่อใช้ในการถอดรหัส 2. เมทริกซ์เข้ารหัส E จะต้องเป็นเมทริกซ์ที่มีเมทริกซ์ผกผัน กล่าวคือ เมทริกซ์เข้ารหัส E มีขนาด และมีเมทริกซ์ผกผันเมื่อ m x m คือ m จำนวนแถวของเมทริกซ์ข้อความ M

เมทริกซ์เข้ารหัส

เมื่อผู้รับสารได้รับเมทริกซ์ผลลัพธ์ X ผู้รับสารจะต้องทำการถอดรหัสอย่างไรเพื่อให้ได้ข้อความที่ผู้ส่งสารส่งมา

   จะเห็นว่า หากเมทริกซ์เข้ารหัส E มีเมทริกซ์ผกผัน เมื่อนำเมทริกซ์ผกผันของเมทริกซ์เข้ารหัส E มาคูณกับเมทริกซ์ผลลัพธ์ X ผลคูณที่จะได้คือเมทริกซ์ข้อความ M ซึ่งเป็นไปตามสมบัติของเมทริกซ์ที่ว่า E-1 - E = I เมื่อ E-1 คือเมทริกซ์ผกผันของเมทริกซ์เข้ารหัส E จึงสรุปได้ว่า

   1. ผู้รับสารจะต้องทราบเมทริกซ์เข้ารหัส E เพื่อใช้ในการถอดรหัส

   2. เมทริกซ์เข้ารหัส E จะต้องเป็นเมทริกซ์ที่มีเมทริกซ์ผกผัน กล่าวคือ เมทริกซ์เข้ารหัส E มีขนาด m x m และมีเมทริกซ์ผกผัน เมื่อ m คือ จำนวนแถวของเมทริกซ์ข้อความ M

เมทริกซ์เข้ารหัส

ขั้นตอนของการเข้ารหัสและถอดรหัสโดยใช้เมทริกซ์

แผนภาพแสดงขั้นตอนของการเข้ารหัสและถอดรหัสโดยใช้เมทริกซ์

      หลังจากที่ผู้รับสารถอดรหัสได้เป็นเมทริกซ์ข้อความ M แล้ว ผู้รับสารจะต้องสร้างชุดลำดับของจำนวนจากเมทริกซ์ข้อความ M จากนั้นแปลงชุดลำดับของจำนวนตามระบบ Unicode ไปเป็นข้อความ

      จากที่กล่าวมาทั้งหมดสามารถสรุปเป็นขั้นตอนวิธีการรักษาความปลอดภัยของข้อมูลโดยใช้เมทริกซ์ ได้ดังนี้

      ผู้ส่งสาร

      1. แปลงข้อความที่ต้องการสื่อสารให้เป็นชุดลำดับของจำนวนตามระบบ Unicode

      2. สร้างเมทริกซ์ข้อความ M

      3. สร้างเมทริกซ์เข้ารหัส E ที่มีเมทริกซ์ผกผัน

      4. เข้ารหัส โดยหาเมทริกซ์ผลลัพธ์ X จากการนำเมทริกซ์เข้ารหัส E คูณกับเมทริกซ์ข้อความ M

      ผู้รับสาร

      1. ถอดรหัส โดยหาเมทริกซ์ข้อความ M จากการนำเมทริกซ์ผกผันของเมทริกซ์เข้ารหัส E คูณกับเมทริกซ์ผลลัพธ์ X

      2. สร้างชุดลำดับของจำนวนจากเมทริกซ์ข้อความ M

      3. แปลงชุดลำดับของจำนวนตามระบบ Unicode ไปเป็นข้อความ

ขั้นตอนวิธีการรักษาความปลอดภัยของข้อมูลโดยใช้เมทริกซ์

แผนภาพแสดงขั้นตอนวิธีการรักษาความปลอดภัยของข้อมูลโดยใช้เมทริกซ์

   จากขั้นตอนวิธีการรักษาความปลอดภัยของข้อมูลโดยใช้เมทริกซ์ พบว่าสามารถประยุกต์ใช้โปรแกรมสำเร็จรูป GeoGebra มาช่วยในขั้นตอนต่าง ๆ ได้ โดยมีคำสั่งสำคัญดังนี้

   • คำสั่ง TextToUnicode( ) สำหรับสร้างชุดลำดับของจำนวนจากข้อความ ตามระบบ Unicode

   • คำสั่ง C*D สำหรับหาผลคูณของเมทริกซ์ C และเมทริกซ์ D

   • คำสั่ง Invert( ) สำหรับหาเมทริกซ์ผกผัน

   • คำสั่ง UnicodeToText( ) สำหรับแปลงชุดลำดับของจำนวนเป็นข้อความตามระบบ Unicode

หน้าจอสื่อการเรียนรู้ Encode and Decode Strings by Matrix

ภาพแสดงหน้าจอสื่อการเรียนรู้ Encode and Decode Strings by Matrix

   ทั้งนี้ สามารถทดลองใช้สื่อการเรียนรู้ Encode and Decode Strings by Matrix ได้ที่ https://www.geogebra.org/m/f8vfpnet โดยมีขั้นตอนดังนี้ (หมายเหตุ : เมทริกซ์สามารถเขียนภายใต้วงเล็บ ( ) หรือ [ ] ได้)

   1. พิมพ์ข้อความที่ต้องการสื่อสาร ลงในช่องข้อความที่ต้องการสื่อสาร เช่น

พิมพ์ข้อความที่ต้องการสื่อสาร ลงในช่องข้อความที่ต้องการสื่อสาร

      โปรแกรมจะสร้างชุดลำดับของจำนวนแทนข้อความที่ต้องการสื่อสาร ดังนี้โปรแกรมจะสร้างชุดลำดับของจำนวนแทนข้อความที่ต้องการสื่อสาร

   2. กำหนดขนาดของเมทริกซ์ข้อความ M โดยระบุจำนวนแถวและจำนวนหลัก ซึ่งผลคูณของจำนวนแถวและจำนวนหลักต้องมากกว่าหรือเท่ากับจำนวนสมาชิกของชุดลำดับของจำนวน และโปรแกรมจะสร้างเมทริกซ์ข้อความ M ตามขนาดที่กำหนด (หมายเหตุ Unicode 32 คือ ช่องว่าง)

   3. บันทึกสมาชิกของเมทริกซ์เข้ารหัส E โดยต้องบันทึกสมาชิกทีละแถวตามที่ปรากฏ ทั้งนี้ โปรแกรมจะทำการตรวจสอบว่าเมทริกซ์เข้ารหัส E ที่สร้างสอดคล้องกับเงื่อนไขหรือไม่ หากไม่สอดคล้อง จะขึ้นข้อความ “เมทริกซ์เข้ารหัสไม่สอดคล้องเงื่อนไข”จะต้องแก้ไขสมาชิกในเมทริกซ์เข้ารหัส E ให้สอดคล้องกับเงื่อนไข

กรณีเมทริกซ์เข้ารหัส E ที่สอดคล้องกับเงื่อนไข

กรณีเมทริกซ์เข้ารหัส E ที่สอดคล้องกับเงื่อนไข

กรณีเมทริกซ์เข้ารหัส E ที่ไม่สอดคล้องกับเงื่อนไข

กรณีเมทริกซ์เข้ารหัส E ที่ไม่สอดคล้องกับเงื่อนไข

   4. โปรแกรมจะทำการเข้ารหัสเมทริกซ์ข้อความ M และแสดงขั้นตอนการเข้ารหัสและถอดรหัสข้อความ

ขั้นตอนการเข้ารหัสและถอดรหัสข้อความ



รายละเอียดผู้เขียนบทความ blog
blog name :
เจ้าของ blog :
วัน/ เดือน/ ปีเกิด :
สถานที่ทำงาน :
จำนวนบทความใน blog :
ระดับของ blog :
Chaninat_Tun
ชนินาถ แทนพันธ์
3/7/2550

2 เรื่อง
[ มือใหม่ ]