การเข้ารหัสด้วย 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 ตำแหน่ง ดังนั้นจึงไม่รวมถึงการใช้งานจริง