「ROT13」の版間の差分

提供: セキュリティ
移動: 案内検索
行95: 行95:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== pythonでrot13エンコード ==
+
== Pythonでrot13エンコード ==
  
[[python]] で [[ROT13]] エンコードが簡単にできます。
+
[[Python]] で [[ROT13]] エンコードが簡単にできます。
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
% python
 
% python

2013年7月28日 (日) 12:46時点における版

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

読み方

ROT13
ろっとじゅーさん

概要

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

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

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

関連項目