รหัสปอร์ตา
เข้ารหัสและถอดรหัส Della Porta รหัสหลายอักษรที่อิงคำสำคัญซึ่งตีพิมพ์โดยนักปราชญ์ชาวอิตาลี Giovan Battista della Porta ในปี 1563 มันทำงานได้สองทาง: คำสำคัญเดียวกันทั้งเข้ารหัสและถอดรหัส จึงไม่มีโหมดถอดรหัสแยกต่างหาก ป้อนคำสำคัญแล้วดูชุดตัวอักษรจับคู่ทั้ง 13 ชุดทำงานแบบสด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
ปอร์ตาทำงานได้สองทาง: คำสำคัญเดียวกันทั้งเข้ารหัสและถอดรหัส ในการถอดรหัสข้อความ ให้วางข้อความเข้ารหัสและป้อนคำสำคัญเดียวกัน ผลลัพธ์ที่ได้คือข้อความต้นฉบับ ไม่มีปุ่มถอดรหัสแยกต่างหาก
คำสำคัญ
คำสำคัญคือความลับที่ผู้ส่งและผู้รับมีร่วมกัน มันจะวนซ้ำตลอดทั้งข้อความ และตัวอักษรแต่ละตัวของมันเลือกหนึ่งในชุดตัวอักษรสับเปลี่ยนได้สองทางทั้ง 13 ชุด เนื่องจากชุดตัวอักษรถูกจับคู่กัน A และ B จึงเลือกชุดเดียวกัน C และ D เลือกชุดถัดไป และเป็นเช่นนี้ต่อไป ใช้เฉพาะตัวอักษรเท่านั้น ช่องว่าง ตัวเลข หรือเครื่องหมายวรรคตอนใด ๆ ในคำสำคัญจะถูกละเว้น
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ปอร์ตาที่นี่
วิธีใช้ รหัสปอร์ตา
- 1
ป้อนคำสำคัญ
พิมพ์คำสำคัญที่เป็นความลับร่วมกัน เช่น CIPHER ใช้เฉพาะตัวอักษรของมันเท่านั้น ช่องว่าง ตัวเลข หรือเครื่องหมายวรรคตอนใด ๆ จะถูกละเว้น คำสำคัญเดียวกันถูกใช้ทั้งเข้ารหัสและถอดรหัส
- 2
พิมพ์หรือวางข้อความของคุณ
ป้อนข้อความที่คุณต้องการแปลง: ข้อความต้นฉบับเพื่อเข้ารหัส หรือข้อความเข้ารหัสปอร์ตาเพื่อถอดรหัส รหัสจะทำงานโดยอัตโนมัติขณะที่คุณพิมพ์ และการคำนวณทีละตัวอักษรจะอัปเดตแบบสดด้านล่าง
- 3
อ่านผลลัพธ์แบบสองทาง
เนื่องจากปอร์ตาทำงานได้สองทาง คำสำคัญเดียวกันจึงใช้ได้ทั้งสองทิศทาง ในการกู้คืนข้อความ ให้วางข้อความเข้ารหัสและป้อนคำสำคัญเดียวกันกับที่ใช้เข้ารหัสมัน ผลลัพธ์ที่ได้คือข้อความต้นฉบับ
- 4
ดู คัดลอก และแชร์
เปิดการคำนวณเพื่อดูว่าคู่กุญแจและชุดตัวอักษรใดเข้ารหัสตัวอักษรแต่ละตัว แล้วคัดลอกผลลัพธ์ ดาวน์โหลดเป็นไฟล์ข้อความ หรือแชร์ลิงก์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมคำสำคัญและข้อความที่แน่นอนของคุณ
ทำความเข้าใจรหัสปอร์ตา
รหัสปอร์ตาคืออะไร
รหัสปอร์ตา หรือเรียกเต็ม ๆ ว่ารหัส Della Porta เป็นรหัสแทนที่แบบหลายอักษรที่อธิบายโดยนักปราชญ์รอบรู้ชาวอิตาลี Giovan Battista della Porta ในหนังสือ De Furtivis Literarum Notis ของเขาเมื่อปี 1563 เช่นเดียวกับรหัส Vigenère มันใช้คำสำคัญที่วนซ้ำ ดังนั้นตัวอักษรข้อความต้นฉบับตัวเดียวกันจึงสามารถเข้ารหัสเป็นตัวอักษรเข้ารหัสได้หลายตัวต่างกันขึ้นอยู่กับตำแหน่งของมัน ซึ่งทำให้รูปแบบความถี่ตัวอักษรที่เปิดเผยรหัสแทนที่แบบธรรมดาแบนราบลง มันเป็นหนึ่งในระบบหลายอักษรที่ใช้งานได้จริงยุคแรก ๆ และเป็นเวลาหลายศตวรรษที่มันได้รับการยกย่องว่าทั้งแข็งแกร่งพอสมควรและใช้งานด้วยมือได้ง่าย
สิ่งที่ทำให้ปอร์ตาแตกต่างคือตารางที่มีเพียง 13 ชุดตัวอักษรสับเปลี่ยนได้สองทาง แทนที่จะเป็น 26 แถวที่เลื่อนของตาราง Vigenère เต็มรูปแบบ ชุดตัวอักษรแต่ละชุดถูกสร้างขึ้นเพื่อให้ครึ่งแรกของตัวอักษรสลับกับครึ่งหลังเสมอ ซึ่งให้คุณสมบัติที่มีประโยชน์ที่สุดแก่รหัสนี้: มันทำงานได้สองทาง หมายความว่าการดำเนินการเดียวกันทุกประการทั้งเข้ารหัสและถอดรหัส Della Porta มักถูกจดจำในฐานะหนึ่งในผู้ก่อตั้งการเข้ารหัสสมัยใหม่ และตารางที่เป็นตัวผกผันของตัวเองอันเรียบร้อยนี้คือแนวคิดที่เชื่อมโยงกับชื่อของเขามากที่สุด
รหัสปอร์ตาทำงานอย่างไร
กำหนดหมายเลขตัวอักษรจาก A เป็น 0 ถึง Z เป็น 25 คำสำคัญจะถูกวนซ้ำมากเท่าที่จำเป็นเพื่อให้ตัวอักษรกุญแจหนึ่งตัววางเรียงอยู่ใต้ตัวอักษรทุกตัวของข้อความ ตัวอักษรกุญแจแต่ละตัวเลือกหนึ่งใน 13 แถว และแถวมาเป็นคู่: A หรือ B เลือกแถวแรก C หรือ D เลือกแถวที่สอง E หรือ F เลือกแถวที่สาม และเป็นเช่นนี้ต่อไปจนถึง Y หรือ Z ซึ่งเลือกแถวที่สิบสาม เรียกหมายเลขคู่นั้นว่า r ซึ่งไล่จาก 0 สำหรับ A หรือ B ขึ้นไปถึง 12 สำหรับ Y หรือ Z ตัวอักษรข้อความต้นฉบับในครึ่งแรกของตัวอักษร (A–M ค่า 0–12) เข้ารหัสเป็น C = 13 + ((P + r) mod 13) ไปตกอยู่ที่ใดที่หนึ่งในครึ่งหลัง N–Z ส่วนตัวอักษรในครึ่งหลังจะจับคู่กลับเข้าสู่ครึ่งแรกด้วย C = (P − 13 − r) mod 13
บนกระดาษ การคำนวณนี้ทำด้วยตารางปอร์ตา ซึ่งเป็นตารางกริด 13 แถว ในการเข้ารหัสตัวอักษรหนึ่งตัว คุณหาแถวสำหรับตัวอักษรกุญแจปัจจุบัน ค้นหาตัวอักษรข้อความต้นฉบับในแถวนั้น แล้วอ่านตัวคู่ของมัน ตัวอักษรเป็นอักขระเดียวที่ถูกแปลง ช่องว่าง ตัวเลข และเครื่องหมายวรรคตอนผ่านไปตรง ๆ และไม่กินตัวอักษรกุญแจ ดังนั้นคำสำคัญจึงยังคงเรียงตรงกับตัวอักษรที่สำคัญ การคำนวณแบบสดด้านล่างเครื่องมือแสดงสิ่งนี้พอดีสำหรับตัวอักษรแต่ละตัวของข้อความคุณ รวมถึงคู่กุญแจใดที่เลือกชุดตัวอักษร
ตัวอย่างประกอบ
เข้ารหัสข้อความ HELLO ด้วยคำสำคัญ KEY การวนซ้ำคำสำคัญให้ตัวอักษรกุญแจ K, E, Y, K, E เรียงอยู่ใต้ H, E, L, L, O ตัวอักษรกุญแจ K อยู่ในคู่ K หรือ L จึงเลือกแถวนั้น และในแถวนั้น H เข้ารหัสเป็น Z ตัวอักษรกุญแจ E อยู่ในคู่ E หรือ F และในแถวนั้น E เข้ารหัสเป็น T ตัวอักษรกุญแจ Y จากคู่ Y หรือ Z เปลี่ยน L เป็น X K อีกครั้งเปลี่ยน L ตัวถัดไปเป็น Q และ E เปลี่ยน O เป็น M ข้อความเข้ารหัสคือ ZTXQM
ตอนนี้ถอดรหัส ZTXQM ด้วยคำสำคัญ KEY เดียวกันและขั้นตอนเดียวกัน ในแถว K หรือ L นั้น Z จับคู่กลับเป็น H ในแถว E หรือ F นั้น T จับคู่กลับเป็น E ในแถว Y หรือ Z นั้น X จับคู่กลับเป็น L K คืน Q กลับเป็น L และ E คืน M กลับเป็น O ผลลัพธ์คือ HELLO อีกครั้ง การดำเนินการที่เหมือนกันได้กู้คืนข้อความ ซึ่งเป็นจุดสำคัญทั้งหมดของรหัสปอร์ตา
ทำไมปอร์ตาจึงเป็นตัวผกผันของตัวมันเอง
คุณสมบัติสองทางถูกสร้างเข้าไปในรูปทรงของทุกแถว ชุดตัวอักษรแต่ละชุดจับคู่ครึ่งแรกของตัวอักษร A–M กับครึ่งหลัง N–Z ดังนั้นไม่ว่าตัวอักษร A–M ใดจับคู่ไปยังตัวอักษร N–Z ตัวใด ตัวอักษร N–Z ตัวนั้นก็จับคู่กลับมาตรง ๆ การเข้ารหัสส่งตัวอักษรครึ่งแรกเข้าสู่ครึ่งหลัง และการป้อนผลลัพธ์กลับเข้าไปผ่านแถวเดียวกันส่งมันกลับบ้านอีกครั้ง การหมุนที่กำหนดโดยคู่กุญแจตัดกันออกด้วยเหตุผลเดียวกันทุกประการ ดังนั้นการเข้ารหัสสองครั้งจึงนำคุณกลับไปยังที่ที่คุณเริ่มต้น
นี่สะดวกอย่างแท้จริง ด้วย Vigenère คุณต้องบวกเมื่อเข้ารหัสและลบเมื่อถอดรหัส ดังนั้นสองทิศทางจึงใช้ขั้นตอนต่างกัน ด้วยปอร์ตามีเพียงขั้นตอนเดียวที่ต้องเรียนรู้ และตารางเดียวหรือเครื่องมือเดียวใช้ได้ทั้งสองทิศทาง นั่นคือเหตุผลที่เครื่องมือนี้ไม่มีปุ่มถอดรหัสแยกต่างหาก: คุณเพียงป้อนคำสำคัญเดียวกันและวางข้อความใดก็ตามที่คุณต้องการแปลง
ปอร์ตา Vigenère และ Beaufort
การวางเรียงรหัสคำสำคัญที่เกี่ยวข้องกันช่วยให้เข้าใจได้ดีขึ้น รหัส Vigenère บวกกุญแจเข้ากับข้อความต้นฉบับ C = (P + K) mod 26 และต้องการการลบย้อนกลับเพื่อถอดรหัส รหัส Beaufort ลบข้อความต้นฉบับออกจากกุญแจ C = (K − P) mod 26 และทำงานได้สองทาง รหัสปอร์ตาเข้าถึงการทำงานสองทางด้วยวิธีที่ต่างออกไป: แทนที่จะเลื่อนตัวอักษรทั้งชุด มันแบ่งตัวอักษรออกเป็นครึ่งและสลับสองครึ่งนั้น โดยใช้เพียง 13 ชุดตัวอักษรจับคู่ที่กำหนดด้วยคู่ตัวอักษร ทั้งหมดใช้คำสำคัญที่วนซ้ำและตารางที่พิมพ์ไว้ร่วมกัน ซึ่งเป็นเหตุผลที่ทำให้สับสนกันได้ง่าย
เนื่องจากรูปทรงเรขาคณิตต่างกัน ข้อความที่เข้ารหัสด้วยรหัสแบบหนึ่งในเหล่านี้จะดูเป็นเรื่องไร้สาระภายใต้อีกแบบหนึ่ง เครื่องมือนี้ใช้ตาราง Della Porta แบบสองทางคลาสสิก หากคุณต้องการกฎการบวก เครื่องมือ Vigenère บน Text Machine ครอบคลุม Vigenère และโหมดที่เกี่ยวข้องของมัน และเครื่องมือ Beaufort ครอบคลุมรหัสคำสำคัญแบบสองทางอีกตัวหนึ่ง
วิธีแกะรหัสปอร์ตา
ปอร์ตาสืบทอดจุดแข็งและจุดอ่อนของรหัสหลายอักษรแบบกุญแจวนซ้ำใด ๆ การป้องกันของมันคือตัวอักษรข้อความต้นฉบับหนึ่งตัวจับคู่ไปยังตัวอักษรเข้ารหัสหลายตัวต่างกัน ซึ่งทำให้ยอดความถี่ตัวอักษรที่เห็นได้ชัดอันเป็นจุดที่เปิดเผยรหัสแทนที่แบบธรรมดาแบนราบลง จุดอ่อนของมันคือกุญแจวนซ้ำ เมื่อนักวิเคราะห์เดาความยาวของคำสำคัญได้ ข้อความเข้ารหัสจะแยกออกเป็นคอลัมน์แยกกันที่แต่ละคอลัมน์ถูกเข้ารหัสด้วยชุดตัวอักษรคงที่ชุดเดียว และทุกคอลัมน์กลายเป็นรหัสแทนที่แบบสองทางอย่างง่ายที่ยอมจำนนต่อการวิเคราะห์ความถี่
วิธีคลาสสิกในการหาความยาวกุญแจคือการตรวจสอบแบบ Kasiski ซึ่งมองหากลุ่มตัวอักษรที่ซ้ำกันและวัดระยะห่างระหว่างพวกมัน ร่วมกับดัชนีความบังเอิญ ซึ่งวัดว่าความถี่ตัวอักษรไม่สม่ำเสมอเพียงใด ในแง่หนึ่งปอร์ตาอ่อนแอกว่า Vigenère: เนื่องจากตัวอักษรกุญแจมาเป็นคู่ แต่ละคอลัมน์จึงมีชุดตัวอักษรที่เป็นไปได้เพียง 13 ชุด แทนที่จะเป็น 26 ดังนั้นเมื่อทราบความยาวกุญแจแล้ว นักวิเคราะห์สามารถลองทั้ง 13 ชุดสำหรับแต่ละคอลัมน์ได้เลย ดังนั้นข้อความปอร์ตาจึงแข็งแกร่งได้เพียงเท่าที่คำสำคัญของมันยาว คาดเดาไม่ได้ และใช้เพียงครั้งเดียว
รหัสปอร์ตาปลอดภัยหรือไม่
ไม่ ตามมาตรฐานสมัยใหม่ รหัสปอร์ตาไม่ให้ความปลอดภัยที่แท้จริง คำสำคัญที่สั้นหรือซ้ำจะถูกแกะอย่างรวดเร็วด้วยวิธี Kasiski และดัชนีความบังเอิญข้างต้น และแม้แต่คำสำคัญที่ยาวก็ไม่สามารถต้านทานนักวิเคราะห์ที่มุ่งมั่นพร้อมคอมพิวเตอร์ได้ มันอยู่ในยุคของรหัสมือ ที่เสน่ห์ของมันคือตารางสับเปลี่ยนได้สองทางที่ชาญฉลาดและใช้ง่าย มากกว่าความแข็งแกร่งที่แกะไม่ได้
ทุกวันนี้รหัสปอร์ตาได้รับการยกย่องสำหรับการเรียนรู้และความบันเทิง มันเป็นวิธีที่ยอดเยี่ยมในการทำความเข้าใจการแทนที่แบบหลายอักษรและแนวคิดอันสง่างามของรหัสที่เป็นตัวผกผันของตัวเอง และมันปรากฏบ่อยครั้งในปริศนา ห้องหลบหนี และโจทย์แบบ capture-the-flag สำหรับการปกป้องข้อมูลจริง คุณควรพึ่งพาอัลกอริทึมสมัยใหม่ที่ผ่านการทดสอบมาอย่างดีเช่น AES แทน
คำถามที่พบบ่อย
รหัสปอร์ตาคืออะไร
รหัสปอร์ตาทำงานอย่างไร
รหัสปอร์ตาเหมือนกับรหัส Vigenère หรือไม่
ทำไมรหัสปอร์ตาจึงทำงานได้สองทาง
ขอตัวอย่างรหัสปอร์ตาได้ไหม
ฉันจะถอดรหัสปอร์ตาอย่างไร
ทำไมรหัสปอร์ตาจึงมีชุดตัวอักษรเพียง 13 ชุด
ฉันควรใช้คำสำคัญอะไร
รหัสปอร์ตาเปลี่ยนช่องว่างและเครื่องหมายวรรคตอนหรือไม่
คุณแกะรหัสปอร์ตาอย่างไร
รหัสปอร์ตาปลอดภัยหรือไม่
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้