สมัยเด็ก ๆ เคยไหม อยากสารภาพรักกับคนที่เราชอบ แต่ไม่กล้าพอที่จะพูดให้เธอฟัง จึงเขียนข้อความใส่กระดาษ แล้วสะกิดหลังให้เพื่อนช่วยส่งต่อไปให้อีกคนหน่อยสิ แล้วเพื่อนก็จะแอบเปิดดูระหว่างทาง เมื่อความลับอยู่ในมือเพื่อน มันก็จะไม่ใช่ความลับอีกต่อไป เพื่อนแสนรักก็จะตะโกนลั่นห้องออกมา “เฮ้ยยย !! ไอยอดชายชอบยัยสมร !!!” //ขอบใจนะเพื่อน แต่ตูอายชิบห*ย T^T
ซึ่งสมัยนี้มีเทคโนโลยีที่ล้ำหน้ามากขึ้น เปลี่ยนจากการเขียนใส่กระดาษส่ง เป็นส่งข้อความในแชทแทน แต่ก็นะ ต่อให้ยุคสมัยเปลี่ยน แต่การที่จะบอกว่าชอบใครสักคนมันยากมากเหลือเกินนนน
ซึ่งในวันนี้ผม จะมาแชร์เทคนิคสุดโรแมนติกในการ สารภาพรักแบบแนบเนียนที่สุด เนียนดั่งแมวพิมพ์ เพราะอีกฝ่ายนั้นจะอ่านไม่รู้เรื่องเลย 🤣🤣
เทคนิคที่ว่านั่นก็คือ แอบสารภาพรักด้วยการเข้ารหัสข้อความด้วย Vigenere Cipher
Vigenere Cipher หรือ รหัสลับ Vigenere นั้นถูกตั้งชื่อตาม Blaise de Vigenere ที่เป็นนักการทูตชาวฝรั่งเศส ซึ่งผู้ที่คิดค้นจริง ๆ นั้นคือ Giovan Battista Bellaso แต่คนที่พัฒนาให้รหัสลับนี้เป็นที่ยอมรับและแพร่หลาย ก็คือ Vigenere นั่นเอง
หลักการของ Vigenere Cipher นั้นมีพื้นฐานมาจากรหัสซีซาร์ นั่นคือ เมื่อเรามีข้อความหนึ่งแล้วเราต้องการ เข้ารหัสซีซาร์ เราก็จะทำการเลื่อนตัวอักษรแต่ละตัวเป้นตัวถัด ๆ ไปแทนเช่น
I LOVE YOU ถ้าเข้ารหัสซีซาร์ โดยการเลื่อน 2 ตำแหน่ง รหัสที่ได้ก็คือ K NQXG AQW
แต่เนื่องจากรหัสซีซาร์นั้น สามารถถูกถอดรหัสได้อย่างง่ายดาย เพราะเมื่อลองเอาข้อความที่เข้ารหัสไปลองเลื่อนทีละตำแหน่งเรื่อย ๆ สักพักก็วนเจอ คำที่อ่านออกมีความหมาย
ซึ่ง Vigenere Cipher นั้นเป็นรหัสลับที่สร้างได้ไม่ยากเลย การถอดรหัสนั้นทำได้ง่ายถ้ามี Key Word และถอดรหัสได้ยากจนแทบไม่ได้เลยหากไม่มี Key Word (ซึ่งในปัจจุบันคอมพิวเตอร์สามารถถอดรหัสได้โดยใช้หลักการของสถิติตัวอักษรเข้าช่วย)
หลักการของ Vigenere Cipher คือการนำ Key Word แต่ละตัวมาเป็นอักษรนำของแต่ละแถบรหัส แปลว่าแถบรหัสจะมีจำนวนแถบตามจำนวนอักษรใน Key Word ส่วนลำดับตัวอักษรในข้อความเดิมจะเป็นตัวระบุว่าอักษรตัวไหนจะใช้แถบรหัสตัวใด
พูด ๆ มาแล้วอาจจะดูงง งั้นเรามาดูตัวอย่างกันเลยดีกว่า !!! สมมุติว่าเราอยากจะบอกรักเขากันแบบไม่ซ้ำกันในแต่ละวันใน 1 สัปดาห์ ตัวอย่างคำที่จะเข้ารหัสคือ I LOVE YOU ตัว Key Word คือ วันที่ส่งข้อมูลมาให้ในสัปดาห์ เป็นภาษาอังกฤษ สมมุติว่าวันนี้เป็นวันจันทร์คือ MONDAY
จะสังเกตุว่า คำที่เราจะนำไปเข้ารหัสนั้นมีอยู่ 8 ตัวอักษร แต่ Key Word เรามีเพียงแค่ 6 ตัวเท่านั้น เราจึงต้องวนตัว Key Word ต่อท้าย อีกรอบเพื่อให้เพียงพอต่อข้อความที่เราจะเข้ารหัส ก็จะเป็น MONDAYMO
จะได้แถว Key Word เป็น
I | MNOPQRSTUVWXYZABCDEFGHIJKL
L | OPQRSTUVWXYZABCDEFGHIJKLMN
O | NOPQRSTUVWXYZABCDEFGHIJKLM
V | DEFGHIJKLMNOPQRSTUVWXYZABC
E | ABCDEFGHIJKLMNOPQRSTUVWXYZ
Y | YZABCDEFGHIJKLMNOPQRSTUVWX
O | MNOPQRSTUVWXYZABCDEFGHIJKL
U | OPQRSTUVWXYZABCDEFGHIJKLMN
ซึ่ง I อยู่ในตำแน่งที่ 9 ของตัวอักษร A-Z ดังนั้นเมื่อนำไปเข้ารหัสจะได้ออกมาเป็น U ใน Key Word แถว M และ L อยู่ในตำแน่งที่ 12 ของตัวอักษร A-Z ดังนั้นเมื่อนำไปเข้ารหัสจะได้ออกมาเป็น Z ใน Key Word แถว O แล้วให้ทำอย่างนี้ไปเรื่อย ๆ จนถึงตัวอักษรตัวสุดท้ายของข้อความที่จะเข้ารหัส ซึ่งรหัสที่จะได้ออกมานั่นก็คือ
I LOVE YOU ที่เข้ารหัสด้วย MONDAY –> U ZBYE WAI
แล้วถ้าเราบอกรักด้วย Key Word วันอื่น ๆ ด้วยหล่ะ จะได้ว่า
I LOVE YOU ที่เข้ารหัสด้วย TUESDAY –> B FSNH YMN
I LOVE YOU ที่เข้ารหัสด้วย WEDNESDAY –> E PRII QRU
I LOVE YOU ที่เข้ารหัสด้วย THURSDAY –> B SIMW BOS
I LOVE YOU ที่เข้ารหัสด้วย FRIDAY –> N CWYE WTL
I LOVE YOU ที่เข้ารหัสด้วย SATURDAY –> A LHPV BOS
I LOVE YOU ที่เข้ารหัสด้วย SUNDAY –> A FBYE WGO
ทีนี้เราก็จะได้คำที่แมวพิมพ์มาครบทั้ง 7 วันแล้ว (ทำไมแมวตัวนี้มันเก่งจัง)
เราก็สามารถ ทักไปหาคนที่ชอบแล้วส่งข้อความแมวพิมพ์ไปทุกวันได้แล้ว ซึ่งขอรับรองเลยว่า โดนเขาแบนแชทแน่นอนโดยที่ส่งไปไม่ถึง3วัน 🤣🤣
สำหรับใครที่อยากลองเล่นการเข้ารหัสแบบนี้ดู เรามีเว็บที่สามารถเข้ารหัส ถอดรหัสได้ด้วยนะ ไปหาตำกันได้เลยที่นี่ http://www.cs.du.edu/~snarayan/crypt/vigenere.html