กลับไปหน้าบทความ

อ่าน 2 นาที

รหัสโบฟอร์ต

Classical ciphers/อัลกอริธึมการเข้ารหัส

รหัสโบฟอร์ตซึ่งสร้างโดยเซอร์ฟรานซิส โบฟอร์ตเป็นรหัสการแทนที่ที่คล้ายกับรหัสวิเจเนเรโดยมีกลไกการเข้ารหัสและตารางที่ ปรับเปลี่ยนเล็กน้อย...

รหัสโบฟอร์ต

รหัสโบฟอร์ตซึ่งสร้างโดยเซอร์ฟรานซิส โบฟอร์ตเป็นรหัสการแทนที่ที่คล้ายกับรหัสวิเจเนเรโดยมีกลไกการเข้ารหัสและตารางที่ ปรับเปลี่ยนเล็กน้อย [ 1 ]การใช้งานที่มีชื่อเสียงที่สุดคือในเครื่องเข้ารหัสแบบโรเตอร์Hagelin M-209 [ 2 ]รหัสโบฟอร์ตมีพื้นฐานมาจากตารางโบฟอร์ต ซึ่งโดยพื้นฐานแล้วเหมือนกับตารางวิเจเนเร แต่เรียงลำดับย้อนกลับโดยเริ่มจากตัวอักษร "Z" ในแถวแรก[ 3 ]โดยที่แถวแรกและคอลัมน์สุดท้ายทำหน้าที่เดียวกัน[ 4 ]

โดยใช้รหัสลับ

รูปแบบหนึ่งของรหัสใช้ครั้งเดียว (One-Time Pad) ที่หน่วยงานความมั่นคงแห่งชาติ ของสหรัฐอเมริกา (NSA) ใช้ ซึ่งมีชื่อรหัสว่า DIANA ตารางทางด้านขวาเป็นเครื่องมือช่วยในการแปลงระหว่างข้อความธรรมดาและข้อความที่เข้ารหัส โดยใช้ตัวอักษรทางด้านซ้ายเป็นกุญแจ

ในการเข้ารหัส ขั้นแรกให้เลือกอักขระข้อความต้นฉบับจากแถวบนสุดของตาราง เรียกคอลัมน์นี้ว่า P จากนั้นเลื่อนลงมาตามคอลัมน์ P จนถึงอักขระกุญแจ K ที่สอดคล้องกัน สุดท้าย เลื่อนไปทางซ้ายจากอักขระกุญแจไปยังขอบด้านซ้ายของตาราง ข้อความที่เข้ารหัสแล้วของข้อความต้นฉบับ P ด้วยกุญแจ K จะปรากฏอยู่ที่นั่น

ตัวอย่างเช่น หากต้องการเข้ารหัสข้อความธรรมดาที่มีตัวอักษร "d" ด้วยกุญแจ "m" ขั้นตอนจะเป็นดังนี้:

  1. หาคอลัมน์ที่มีตัวอักษร "d" อยู่ด้านบนสุด
  2. เลื่อนลงมาตามคอลัมน์นั้นเพื่อหาคีย์ "m"
  3. เลื่อนไปยังขอบด้านซ้ายของภาพเพื่อค้นหาตัวอักษรรหัสลับ ("K" ในกรณีนี้)

ในการถอดรหัส กระบวนการจะกลับกัน ต่างจากรหัส Vigenère ที่คล้ายคลึงกันมาก รหัส Beaufort เป็นรหัสแบบผกผันกล่าวคือ อัลกอริทึมการถอดรหัสและการเข้ารหัสเหมือนกัน ซึ่งเห็นได้ชัดว่าช่วยลดข้อผิดพลาดในการจัดการตาราง ทำให้มีประโยชน์สำหรับการเข้ารหัสข้อความจำนวนมากด้วยมือ ตัวอย่างเช่น ในระบบการเข้ารหัส DIANA แบบแมนนวลที่หน่วยรบพิเศษของสหรัฐฯ ใช้ในช่วงสงครามเวียดนาม (เปรียบเทียบตาราง DIANA ในภาพ)

ในตัวอย่างข้างต้น ในคอลัมน์ที่มี "m" อยู่ด้านบน จะพบข้อความเข้ารหัส "K" ในแถว "d" ที่เป็นค่าผกผัน เช่นเดียวกันสำหรับการถอดรหัส โดยที่ข้อความเข้ารหัส "K" เมื่อรวมกับคีย์ "m" จะได้ข้อความธรรมดา "d" และการรวม "K" กับ "d" จะได้ "m" ซึ่งส่งผลให้เกิดการรวมกันแบบ "ไตรแกรม" โดยที่สองส่วนเพียงพอที่จะระบุส่วนที่สามได้ หลังจากกำจัดไตรแกรมที่เหมือนกันแล้ว จะเหลือเพียง 126 จาก 676 ชุดค่าผสมเริ่มต้น (ดูด้านล่าง) และสามารถจดจำได้ในลำดับใดก็ได้ (เช่น AMN สามารถจดจำได้เป็น "man" และ CIP เป็น "pic") เพื่อเพิ่มความเร็วในการเข้ารหัสและถอดรหัส[ 5 ]

AAZ ABY ACX ADW AEV AFU AGT AHS AIR AJQ AKP ALO AMN BBX BCW BDV BEU BFT BGS BHR BIQ BJP BKO BLN BMM BZZ CCV CDU CET CFS CGR CHQ CIP CJO CKN CLM CYZ ดีดีที DES DFR DGQ DHP DIO DJN DKM DLL DXZ DYY EER EFQ EGP EHO EIN EJM EKL EWZ EXY FFP FGO FHN FIM FJL FKK FVZ FWY FXX GGN GHM GIL GJK GUZ GVY GWX HHL HIK HJJ HTZ HUY HVX HWW IIJ ISZ ITY IUX IVW JRZ JSY JTX JUW JVV KQZ KRY KSX KTW KUV LPZ LQY LRX LSW LTV LUU MOZ MPY MQX MRW MSV MTU NNZ NOY NPX NQW NRV NSU NTT OOX OPW OQV ORU OST PPV PQU PRT PSS QQT QRS รอาร์อาร์ 

คำอธิบายเชิงพีชคณิต

รหัสโบฟอร์ตสามารถอธิบายได้ด้วยพีชคณิต ตัวอย่างเช่น โดยใช้การเข้ารหัสตัวอักษรAZเป็นตัวเลข 0–25 และใช้การบวกแบบโมดูลัส 26 ให้เป็นอักขระของข้อความ เป็นอักขระของข้อความที่เข้ารหัส และเป็นอักขระของกุญแจ โดยอาจใช้ซ้ำได้หากจำเป็น จากนั้นการเข้ารหัสโบฟอร์ตสามารถเขียนได้ดังนี้

.

ในทำนองเดียวกัน การถอดรหัส โดย ใช้กุญแจ

.

การถอดรหัสโดยใช้รหัส Vigenere

เนื่องจากความคล้ายคลึงกันระหว่างรหัสโบฟอร์ตและรหัสวิเจเนียร์จึงเป็นไปได้ที่จะถอดรหัสได้เหมือนกับรหัสวิเจเนียร์ หลังจากใช้การแปลงแล้ว โดยการแทนที่ตัวอักษรทุกตัวในข้อความที่เข้ารหัสและกุญแจด้วยตัวอักษรตรงข้าม (เช่น 'a' กลายเป็น 'z', 'b' กลายเป็น 'y' เป็นต้น หรือก็คือ การแปลงแบบ แอทแบช ) ก็สามารถถอดรหัสได้เหมือนกับรหัสวิเจเนียร์

แตกต่างจาก 'Beaufort ชนิดแปรผัน'

ไม่ควรสับสนระหว่างรหัสโบฟอร์ต (Beaufort cipher) กับรหัสโบฟอร์ตแบบ "แปรผัน" (variant Beaufort cipher) ในรหัสโบฟอร์ตแบบแปรผัน การเข้ารหัสจะทำโดยการถอดรหัสตามวิธีการของรหัสวิเจเนเร (Vigenère cipher) มาตรฐาน และในทำนองเดียวกัน การถอดรหัสจะทำโดยใช้การเข้ารหัสแบบวิเจเนเร

เอกสารอ้างอิง

  1. Franksen, Ole Immanuel, Babbage และการเข้ารหัส หรือ ปริศนาของรหัสลับของพลเรือเอกโบฟอร์ตคณิตศาสตร์และคอมพิวเตอร์ในการจำลอง 35 (1993) 327-367
  2. Mollin, Richard A., An Introduction to Cryptography , หน้า 100. Chapman & Hall/CRC, 2001
  3. Jörg Rothe (2006). ทฤษฎีความซับซ้อนและวิทยาการเข้ารหัสลับ: บทนำสู่ความซับซ้อนของการเข้ารหัสลับ Springer Science & Business Media. หน้า 164. ISBN 9783540285205.
  4. Arto Salomaa (2013). การเข้ารหัสแบบกุญแจสาธารณะ: เล่มที่ 23 ของชุดเอกสารทางวิชาการในสาขาวิทยาการคอมพิวเตอร์เชิงทฤษฎี ชุด EATCS Springer Science & Business Media หน้า31 ISBN  9783662026274.
  5. Rijmenants, Dirk. "One-time Pad" . Cipher Machines and Cryptology . สืบค้นเมื่อ28 ธันวาคม 2020 .

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รหัสโบฟอร์ต

รหัสโบฟอร์ตซึ่งสร้างโดยเซอร์ฟรานซิส โบฟอร์ตเป็นรหัสการแทนที่ที่คล้ายกับรหัสวิเจเนเรโดยมีกลไกการเข้ารหัสและตารางที่ ปรับเปลี่ยนเล็กน้อย...

โดยใช้รหัสลับ

รูปแบบหนึ่งของรหัสใช้ครั้งเดียว (One-Time Pad) ที่หน่วยงานความมั่นคงแห่งชาติ ของสหรัฐอเมริกา (NSA) ใช้ ซึ่งมีชื่อรหัสว่า DIANA ตารางทางด้านขวาเป็นเครื่องมือช่วยในการแปลงระหว่างข้อความธรรมดาและข้อความที่เข้ารหัส โดยใช้ตัวอักษรทางด้านซ้ายเป็นกุญแจในการเข้ารหัส...

คำอธิบายเชิงพีชคณิต

รหัสโบฟอร์ตสามารถอธิบายได้ด้วยพีชคณิต ตัวอย่างเช่น โดยใช้การเข้ารหัสตัวอักษรA – Zเป็นตัวเลข 0–25 และใช้การบวกแบบโมดูลัส 26 ให้เป็นอักขระของข้อความ เป็นอักขระของข้อความที่เข้ารหัส และเป็นอักขระของกุญแจ โดยอาจใช้ซ้ำได้หากจำเป็น...

การถอดรหัสโดยใช้รหัส Vigenere

เนื่องจากความคล้ายคลึงกันระหว่างรหัสโบฟอร์ตและรหัสวิเจเนียร์จึงเป็นไปได้ที่จะถอดรหัสได้เหมือนกับรหัสวิเจเนียร์ หลังจากใช้การแปลงแล้ว โดยการแทนที่ตัวอักษรทุกตัวในข้อความที่เข้ารหัสและกุญแจด้วยตัวอักษรตรงข้าม (เช่น 'a' กลายเป็น 'z', 'b' กลายเป็น 'y' เป็นต้น...