2009-10-19 22 views
7

Tôi hiểu lý do và chống lại ROT13, nhưng tôi tự hỏi tại sao cụ thể mọi người đã chọn 13 địa điểm để thay đổi bảng chữ cái? Tôi hiểu nó là nửa chừng, nhưng có một lý do thanh lịch để đi xa - nhưng không phải là 12 hay 14 điểm? Có vẻ như tôi muốn làm cho mỗi chữ "càng xa" càng tốt từ vị trí bắt đầu của nó chỉ có ý nghĩa với một người có thể nhận ra các ký tự "gần" (mặc dù tôi nghi ngờ điều này là có thể/có thể xảy ra).Tại sao 13 địa điểm trong ROT13?

Bất kỳ ai biết câu trả lời cho điều này?

+0

Câu trả lời hay; Tôi phải chọn một. Cảm ơn! –

Trả lời

38

Vì nó có thuộc tính đẹp là involutive, tức là, ROT13 (ROT13 (alphaOnlyString)) = alphaOnlyString.

+4

13 không phải là vòng quay duy nhất với thuộc tính này. ROT-26 cũng có nó. :-) –

12

Theo Wikipedia:

Một sự thay đổi của mười ba tuổi đã được lựa chọn qua các giá trị khác, chẳng hạn như ba như trong Caesar mật mã ban đầu, bởi vì mười ba là giá trị mà mã hóa và giải mã tương đương, do đó cho phép thuận tiện của một lệnh duy nhất cho cả hai.

7

Có thể vì nó là nghịch đảo của riêng nó. Thuật toán tương tự có thể được sử dụng cho "mã hóa" cũng như "giải mã".

7

Do dịch chuyển bằng 13 di chuyển các ký tự một nửa xung quanh bảng chữ cái (trong đó có 26 vị trí). Vì vậy, để lấy lại bản rõ, bạn chỉ cần thay đổi nó 13 lần nữa. Bằng cách này, bạn không cần phải có các chức năng riêng biệt để mã hóa hoặc giải mã vì cùng một hoạt động sẽ được mã hóa hoặc giải mã.

Các vấn đề liên quan