รหัสออโตคีย์
เข้ารหัสและถอดรหัสออโตคีย์ รูปแปรของวีฌ์แนร์ที่แข็งแกร่งกว่า ซึ่งคำสำคัญเริ่มต้นสั้น ๆ เป็นจุดเริ่มของกุญแจ และข้อความของคุณเองจะต่อกุญแจนั้นไป จึงทำให้กุญแจไม่มีการวนซ้ำ สลับระหว่างเข้ารหัสและถอดรหัสแล้วดูการคำนวณก่อตัวขึ้นแบบสด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
คำสำคัญ
ป้อนคำสำคัญเริ่มต้นสั้น ๆ เช่น QUEENLY มันเป็นจุดเริ่มของสายกุญแจ ซึ่งจากนั้นจะต่อด้วยข้อความของคุณเองจึงทำให้กุญแจไม่มีการวนซ้ำ ใช้เฉพาะตัวอักษรเท่านั้น ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กถือว่าเหมือนกัน และช่องว่าง ตัวเลข หรือเครื่องหมายวรรคตอนใด ๆ ในคำสำคัญจะถูกละเว้น
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ออโตคีย์ที่นี่
วิธีใช้ รหัสออโตคีย์
- 1
เลือกเข้ารหัสหรือถอดรหัส
เลือกเข้ารหัสเพื่อเปลี่ยนข้อความต้นฉบับเป็นข้อความเข้ารหัสออโตคีย์ หรือถอดรหัสเพื่อกู้ข้อความต้นฉบับจากข้อความเข้ารหัส ใช้คำสำคัญเริ่มต้นเดียวกันสำหรับทั้งสองทิศทาง
- 2
ป้อนคำสำคัญเริ่มต้น
พิมพ์คำสำคัญสั้น ๆ เช่น QUEENLY มันเป็นจุดเริ่มของสายกุญแจ ซึ่งจากนั้นจะต่อด้วยข้อความของคุณเอง ใช้เฉพาะตัวอักษรเท่านั้น และตัวพิมพ์ใหญ่เล็ก ช่องว่าง และเครื่องหมายวรรคตอนในคำสำคัญจะถูกละเว้น
- 3
พิมพ์หรือวางข้อความของคุณ
ป้อนข้อความที่คุณต้องการแปลง รหัสจะทำงานโดยอัตโนมัติขณะที่คุณพิมพ์ และการคำนวณทีละตัวอักษรจะอัปเดตแบบสดด้านล่าง โดยแสดงว่าตัวอักษรกุญแจตัวใดมาจากคำสำคัญและตัวใดมาจากข้อความ
- 4
อ่าน คัดลอก และแชร์
อ่านผลลัพธ์ แล้วคัดลอกมัน ดาวน์โหลดเป็นไฟล์ข้อความ หรือแชร์ลิงก์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมคำสำคัญ ทิศทาง และข้อความที่แน่นอนของคุณ ทุกอย่างยังคงอยู่ในเบราว์เซอร์ของคุณ
ทำความเข้าใจรหัสออโตคีย์
รหัสออโตคีย์คืออะไร
รหัสออโตคีย์ หรือที่เรียกว่ารหัสออโตเคลฟ เป็นรหัสแทนที่แบบหลายอักษรที่ตัวข้อความเองกลายเป็นส่วนหนึ่งของกุญแจ คำสำคัญเริ่มต้นสั้น ๆ เป็นจุดเริ่มของสายกุญแจ และเมื่อตัวอักษรเหล่านั้นหมดลง กุญแจก็เพียงต่อไปด้วยตัวอักษรของข้อความต้นฉบับ เนื่องจากกุญแจที่ไหลต่อยาวเท่ากับข้อความและไม่เคยวนซ้ำ รหัสออโตคีย์จึงหลีกเลี่ยงรูปแบบเป็นรอบสม่ำเสมอที่ทำให้รหัสกุญแจวนซ้ำธรรมดาแกะได้ง่าย
รหัสนี้ถูกเผยแพร่โดยนักการทูตชาวฝรั่งเศส Blaise de Vigenère ในปี 1586 โดยต่อยอดจากแนวคิดก่อนหน้าของ Giovan Battista Bellaso มีเรื่องน่าขันที่รู้จักกันดีอยู่ตรงนี้: รหัสกุญแจวนซ้ำแบบง่ายที่โลกเรียกกันในปัจจุบันว่ารหัสวีฌ์แนร์นั้น แท้จริงเป็นของ Bellaso ในขณะที่สิ่งประดิษฐ์ที่แข็งแกร่งกว่าของ Vigenère เองคือออโตคีย์นี้ ด้วยการป้อนข้อความต้นฉบับกลับเข้าไปในกุญแจ รหัสออโตคีย์จึงขจัดความเป็นรอบที่นักวิเคราะห์รหัสในยุคหลังอย่าง Kasiski และ Friedman จะใช้ประโยชน์เพื่อแกะกุญแจวนซ้ำ
รหัสออโตคีย์ทำงานอย่างไร
กำหนดหมายเลขตัวอักษรจาก A เป็น 0 ถึง Z เป็น 25 สร้างสายกุญแจโดยเขียนคำสำคัญเริ่มต้นก่อน แล้วต่อด้วยตัวอักษรของข้อความต้นฉบับตามลำดับ จัดสายนั้นให้เรียงอยู่ใต้ข้อความเพื่อให้ตัวอักษรกุญแจหนึ่งตัววางอยู่ใต้ตัวอักษรต้นฉบับทุกตัว ในการเข้ารหัส ให้บวกตัวอักษรกุญแจแต่ละตัวเข้ากับตัวอักษรที่อยู่เหนือมันแล้ววนรอบตัวอักษรด้วยเศษหารด้วย 26 ดังนั้นตัวอักษรเข้ารหัสคือ C = (P + K) mod 26
การถอดรหัสต้องทำงานจากซ้ายไปขวา คุณทราบคำสำคัญเริ่มต้น คุณจึงกู้ตัวอักษรไม่กี่ตัวแรกได้ด้วย P = (C − K) mod 26 ตัวอักษรต้นฉบับแต่ละตัวที่คุณกู้คืนมาจะถูกต่อท้ายเข้าไปในสายกุญแจ แล้วใช้เพื่อถอดรหัสตัวอักษรถัดไป และเป็นเช่นนี้ไปจนจบ เช่นเดียวกับรหัสวีฌ์แนร์ มีเพียงตัวอักษร 26 ตัวเท่านั้นที่ถูกแปลง ช่องว่าง เครื่องหมายวรรคตอน และตัวเลขจะผ่านไปโดยไม่ถูกแตะต้องและไม่กินตัวอักษรกุญแจ และตัวพิมพ์ใหญ่เล็กของตัวอักษรถูกรักษาไว้
ตัวอย่างประกอบ
เข้ารหัสข้อความ HELLO ด้วยคำสำคัญเริ่มต้น KEY สายกุญแจคือคำสำคัญตามด้วยข้อความต้นฉบับ ซึ่งให้ K, E, Y, H, E สำหรับห้าตัวอักษร การบวกแต่ละตัวเข้ากับข้อความให้ H บวก K คือ R, E บวก E คือ I, L บวก Y คือ J, L บวก H คือ S และ O บวก E คือ S ข้อความเข้ารหัสคือ RIJSS และสังเกตว่าตัวอักษรกุญแจสองตัวสุดท้าย คือ H และ E ก็คือตัวอักษรสองตัวแรกของตัวข้อความเองนั่นเอง
ในการถอดรหัส RIJSS คุณเริ่มต้นด้วยคำสำคัญ KEY R ลบ K คือ H, I ลบ E คือ E และ J ลบ Y คือ L ซึ่งกู้คืน HEL ตัวอักษรที่กู้คืนมาเหล่านั้นจะต่อกุญแจออกไป ดังนั้นตัวอักษรกุญแจถัดไปคือ H และ S ลบ H คือ L จากนั้นตัวอักษรกุญแจ E ให้ S ลบ E คือ O ทำให้ครบ HELLO ตัวอักษรที่กู้คืนมาแต่ละตัวจะปลดล็อกตัวถัดไป ซึ่งเป็นหัวใจของวิธีอ่านรหัสออโตคีย์
ออโตคีย์เทียบกับวีฌ์แนร์แบบกุญแจวนซ้ำ
รหัสวีฌ์แนร์ธรรมดาจะวนซ้ำคำสำคัญของมันครั้งแล้วครั้งเล่า: ด้วยกุญแจ KEY สายกุญแจจะเป็น KEYKEYKEY และต่อไปเรื่อย ๆ การวนซ้ำนั้นเป็นจุดอ่อนถึงตายของมัน เพราะความยาวกุญแจสามารถหาได้ด้วยการตรวจสอบแบบ Kasiski หรือดัชนีความบังเอิญ หลังจากนั้นแต่ละคอลัมน์ก็เป็นเพียงรหัสเลื่อนแบบ Caesar ธรรมดา รหัสออโตคีย์ใช้กฎการบวกแบบเดียวกันแต่ไม่เคยวนซ้ำกุญแจ ดังนั้นการทดสอบคลาสสิกเหล่านั้นจึงใช้ไม่ได้
คุณเห็นความแตกต่างได้ในตัวอย่างประกอบ ด้วยกุญแจ KEY วีฌ์แนร์แบบวนซ้ำจะเข้ารหัส HELLO เป็น RIJVS ในขณะที่ออโตคีย์ให้ RIJSS ทั้งสองตรงกันเฉพาะตอนที่คำสำคัญยังอยู่แล้วจึงแยกออกจากกัน เพราะออโตคีย์ได้ขยับไปยังข้อความต้นฉบับแล้ว การเปลี่ยนแปลงเพียงจุดเดียวนั้น คือการป้อนข้อความกลับเข้าไปในกุญแจ เป็นคุณูปการที่แท้จริงของ Vigenère และทำให้รหัสของเขาแข็งแกร่งกว่ารหัสที่ตอนนี้ใช้ชื่อของเขาอย่างเห็นได้ชัด
ออโตคีย์เทียบกับรหัสกุญแจไหลต่อ
รหัสออโตคีย์เกี่ยวข้องอย่างใกล้ชิดกับรหัสกุญแจไหลต่อ (running-key) ทั้งสองใช้กุญแจที่ยาวเท่ากับข้อความเพื่อไม่ให้มีอะไรวนซ้ำ แต่ต่างกันที่กุญแจยาวนั้นมาจากไหน รหัสกุญแจไหลต่อดึงกุญแจจากข้อความภายนอกที่แบ่งปันกัน เช่น หน้าหนังสือที่ตกลงกันไว้ ในขณะที่รหัสออโตคีย์สร้างกุญแจยาวจากคำสำคัญเริ่มต้นสั้น ๆ บวกกับตัวข้อความต้นฉบับเอง
แต่ละวิธีมีจุดที่ต้องระวัง กุญแจไหลต่อที่นำมาจากภาษาธรรมชาติย่อมมีโครงสร้างทางสถิติของมันเองที่อาจถูกโจมตีได้ แต่ก็ไม่ต้องการการป้อนข้อความกลับ ส่วนออโตคีย์ต้องการเพียงความลับที่แบ่งปันกันเล็กน้อย คือคำสำคัญเริ่มต้น แต่เนื่องจากส่วนหนึ่งของกุญแจคือข้อความต้นฉบับ ผู้โจมตีที่เดาคำที่พบบ่อยได้สามารถลองเลื่อนมันผ่านข้อความราวกับว่ามันเป็นกุญแจ ซึ่งเป็นวิธีหลักที่ใช้แกะรหัสออโตคีย์
วิธีแกะรหัสออโตคีย์
เนื่องจากกุญแจไม่เคยวนซ้ำ การตรวจสอบแบบ Kasiski และดัชนีความบังเอิญ ซึ่งเป็นเครื่องมือมาตรฐานสำหรับรหัสกุญแจวนซ้ำ จึงใช้กับข้อความออโตคีย์โดยตรงไม่ได้ นั่นทำให้มันยากกว่าวีฌ์แนร์อย่างเห็นได้ชัด แต่ก็ยังห่างไกลจากความปลอดภัย การโจมตีตามปกติใช้ประโยชน์จากคุณสมบัติที่นิยามรหัสนี้เลย นั่นคือกุญแจส่วนใหญ่คือข้อความต้นฉบับ ซึ่งเป็นภาษาธรรมดา
นักวิเคราะห์เดาคำที่น่าจะมี เช่น THE หรือชื่อที่น่าจะปรากฏ แล้วลากมันผ่านข้อความเข้ารหัส โดยลบมันออกราวกับว่ามันเป็นกุญแจ ตรงที่การเดาถูกต้อง การคำนวณนั้นจะเผยให้เห็นชิ้นส่วนของข้อความต้นฉบับเพิ่มเติม ซึ่งจากนั้นสามารถขยายต่อได้ทั้งสองทิศทาง เมื่อรวมกับการลองทุกความเป็นไปได้ของคำสำคัญเริ่มต้นสั้น ๆ การลากคำคาด (crib-dragging) นี้สามารถกู้ข้อความออโตคีย์ได้ด้วยมือ ดังนั้นจึงควรมองรหัสนี้ว่าเป็นก้าวประวัติศาสตร์อันชาญฉลาดมากกว่าเป็นตัวเลือกที่ปลอดภัย
รหัสออโตคีย์ปลอดภัยหรือไม่
ไม่ แม้ว่ารหัสออโตคีย์จะแข็งแกร่งกว่ารหัสวีฌ์แนร์แบบกุญแจวนซ้ำธรรมดา แต่มันไม่ให้การปกป้องที่แท้จริงตามมาตรฐานสมัยใหม่ การพึ่งพาข้อความต้นฉบับเป็นกุญแจเปิดช่องให้การลากคำคาด และคำสำคัญเริ่มต้นสั้น ๆ ของมันสามารถถูกลองทุกความเป็นไปได้ ดังนั้นนักวิเคราะห์ที่มุ่งมั่นจึงแกะมันได้ด้วยดินสอและกระดาษ มันอยู่ในประวัติศาสตร์ของรหัสคลาสสิก มากกว่าอยู่ในรายการของวิธีที่ปลอดภัยใด ๆ
ทุกวันนี้รหัสออโตคีย์ได้รับการยกย่องสำหรับการเรียนรู้และความบันเทิง มันเป็นวิธีอันสง่างามในการดูว่าการป้อนข้อความกลับเข้าไปในกุญแจเอาชนะการโจมตีแบบความเป็นรอบที่ใช้แกะรหัสที่ง่ายกว่าได้อย่างไร และมันปรากฏในการล่าปริศนา ห้องหลบหนี และโจทย์แบบ capture-the-flag สำหรับการปกป้องข้อมูลจริง คุณควรพึ่งพาอัลกอริทึมสมัยใหม่ที่ผ่านการทดสอบมาอย่างดีเช่น AES แทน
คำถามที่พบบ่อย
รหัสออโตคีย์คืออะไร
รหัสออโตคีย์ทำงานอย่างไร
รหัสออโตคีย์แตกต่างจากรหัสวีฌ์แนร์อย่างไร
ขอตัวอย่างรหัสออโตคีย์ได้ไหม
ฉันควรใช้คำสำคัญอะไร
ฉันจะถอดรหัสออโตคีย์อย่างไร
อะไรคือความแตกต่างระหว่างรหัสออโตคีย์และรหัสกุญแจไหลต่อ
รหัสเปลี่ยนช่องว่าง ตัวเลข และเครื่องหมายวรรคตอนหรือไม่
คำสำคัญแยกตัวพิมพ์ใหญ่เล็กหรือไม่
คุณแกะรหัสออโตคีย์อย่างไร
รหัสออโตคีย์ปลอดภัยหรือไม่
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้