การเข้ารหัสด้วย Python - ROT13 Algorithm

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

คำอธิบายของอัลกอริทึม ROT13

ROT13 cipher หมายถึงรูปแบบย่อ Rotate by 13 places. เป็นกรณีพิเศษของ Caesar Cipher ซึ่ง shift จะเป็น 13 เสมอตัวอักษรทุกตัวจะถูกเลื่อน 13 ตำแหน่งเพื่อเข้ารหัสหรือถอดรหัสข้อความ

ตัวอย่าง

แผนภาพต่อไปนี้อธิบายกระบวนการอัลกอริทึม ROT13 ในภาพ -

รหัสโปรแกรม

การใช้โปรแกรมของอัลกอริทึม ROT13 มีดังนี้ -

from string import maketrans

rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 
   'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')

# Function to translate plain text
def rot13(text):
   return text.translate(rot13trans)
def main():
   txt = "ROT13 Algorithm"
   print rot13(txt)
	
if __name__ == "__main__":
   main()

คุณสามารถดูเอาต์พุต ROT13 ดังที่แสดงในภาพต่อไปนี้ -

ข้อเสียเปรียบ

อัลกอริทึม ROT13 ใช้ 13 กะ ดังนั้นจึงเป็นเรื่องง่ายมากที่จะเลื่อนอักขระในลักษณะย้อนกลับเพื่อถอดรหัสข้อความเข้ารหัส

การวิเคราะห์อัลกอริทึม ROT13

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