Skip to main content
0
Computer SystemProgramming Concept

แอบบอกรักอย่างไร ให้ดูเหมือนแมวพิมพ์ ด้วย Vigenere Cipher

สมัยเด็ก ๆ เคยไหม อยากสารภาพรักกับคนที่เราชอบ แต่ไม่กล้าพอที่จะพูดให้เธอฟัง จึงเขียนข้อความใส่กระดาษ แล้วสะกิดหลังให้เพื่อนช่วยส่งต่อไปให้อีกคนหน่อยสิ แล้วเพื่อนก็จะแอบเปิดดูระหว่างทาง เมื่อความลับอยู่ในมือเพื่อน มันก็จะไม่ใช่ความลับอีกต่อไป เพื่อนแสนรักก็จะตะโกนลั่นห้องออกมา “เฮ้ยยย !! ไอยอดชายชอบยัยสมร !!!” //ขอบใจนะเพื่อน แต่ตูอายชิบห*ย 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

Natakorn Hongharn

Author Natakorn Hongharn

More posts by Natakorn Hongharn
Close Menu

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

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้
    รายละเอียดคุกกี้

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า