T

Text Machine

เครื่องมือข้อความทรงพลัง ในเบราว์เซอร์ของคุณ

รหัสออโตคีย์

เข้ารหัสและถอดรหัสออโตคีย์ รูปแปรของวีฌ์แนร์ที่แข็งแกร่งกว่า ซึ่งคำสำคัญเริ่มต้นสั้น ๆ เป็นจุดเริ่มของกุญแจ และข้อความของคุณเองจะต่อกุญแจนั้นไป จึงทำให้กุญแจไม่มีการวนซ้ำ สลับระหว่างเข้ารหัสและถอดรหัสแล้วดูการคำนวณก่อตัวขึ้นแบบสด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ

คำสำคัญเริ่มต้น

คำสำคัญ

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

ข้อความต้นฉบับ
ข้อความเข้ารหัส

ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ออโตคีย์ที่นี่

วิธีใช้ รหัสออโตคีย์

  1. 1

    เลือกเข้ารหัสหรือถอดรหัส

    เลือกเข้ารหัสเพื่อเปลี่ยนข้อความต้นฉบับเป็นข้อความเข้ารหัสออโตคีย์ หรือถอดรหัสเพื่อกู้ข้อความต้นฉบับจากข้อความเข้ารหัส ใช้คำสำคัญเริ่มต้นเดียวกันสำหรับทั้งสองทิศทาง

  2. 2

    ป้อนคำสำคัญเริ่มต้น

    พิมพ์คำสำคัญสั้น ๆ เช่น QUEENLY มันเป็นจุดเริ่มของสายกุญแจ ซึ่งจากนั้นจะต่อด้วยข้อความของคุณเอง ใช้เฉพาะตัวอักษรเท่านั้น และตัวพิมพ์ใหญ่เล็ก ช่องว่าง และเครื่องหมายวรรคตอนในคำสำคัญจะถูกละเว้น

  3. 3

    พิมพ์หรือวางข้อความของคุณ

    ป้อนข้อความที่คุณต้องการแปลง รหัสจะทำงานโดยอัตโนมัติขณะที่คุณพิมพ์ และการคำนวณทีละตัวอักษรจะอัปเดตแบบสดด้านล่าง โดยแสดงว่าตัวอักษรกุญแจตัวใดมาจากคำสำคัญและตัวใดมาจากข้อความ

  4. 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 แทน

คำถามที่พบบ่อย

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

เครื่องมือที่เกี่ยวข้อง

ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้

รหัสลับวีฌ์แนร์

รหัสโบฟอร์ต

รหัสกรอนส์เฟลด์

รหัสรันนิงคีย์

รหัสปอร์ตา

รหัสทริเทเมียส