ROT13

提供: セキュリティ
2015年9月23日 (水) 01:18時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

ROT13 (ROT-13, rot13) とは、単換字式暗号 (シーザー暗号) の1つです。アルファベットを1文字ごとに13文字後のアルファベットに置き換えます。 また、FreeBSD には、rot13 という名前のコマンドが提供されています。

読み方

ROT13
ろっとじゅーさん

概要

ROT13 (ROT-13, rot13) とは、単換字式暗号 (シーザー暗号) の1つです。アルファベットを1文字ごとに13文字後のアルファベットに置き換えます。ROT13は、rotate by 13 places の略です。

非常に単純であるため、学習目的以外で利用するべきではありません。

hoge

ROT13 で置き換えると

ubtr

となります。

平文ROT13 してできた 暗号文は、もう一度 ROT13 することで、平文復号化されます。

暗号文 = ROT13 ( 平文 )
平文 = ROT13 ( 暗号文 )
ROT13 変換テーブル
1 2 3 4 5 6 7 8 9 10 11 12 13
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z

インストール

FreeBSD では、 rot13 というコマンドがベースシステムで提供されます。

使い方

% echo hoge | rot13
ubtr
% echo ubtr | rot13
hoge

trコマンドでrot13を実現する

tr コマンドを用いて、ROT13 を実現できます。

% echo hoge | tr a-zA-Z n-za-mN-ZA-M
ubtr

下記は、sh 系の alias の書き方の例です。

alias rot13="tr a-zA-Z n-za-mN-ZA-M"

Pythonでrot13エンコード

PythonROT13 エンコードが簡単にできます。

% python
>>> print "hoge".encode("rot13");
ubtr
>>> print "ubtr".encode("rot13");
hoge
>>> print "ubtr".decode("rot13");
hoge

関連項目




スポンサーリンク