แผนภาพขั้นตอนการเข้ารหัส
แผนภาพขั้นตอนการเข้ารหัส
การเข้ารหัสข้อความมีหลากหลายวิธี วิธีการหนึ่งที่เป็นที่นิยม คือ การประยุกต์ใช้ความรู้เกี่ยวกับเมทริกซ์ ในหนังสือเรียนรายวิชาเพิ่มเติมคณิตศาสตร์ ชั้นมัธยมศึกษาปีที่ 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 และแสดงขั้นตอนการเข้ารหัสและถอดรหัสข้อความ
ขั้นตอนการเข้ารหัสและถอดรหัสข้อความ
|