「ROT13」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> ROT13 (ROT-13, rot13) とは、単換字式暗号 (シーザー暗号) の1つです。アルファベットを1文字...」) |
|||
(同じ利用者による、間の4版が非表示) | |||
行1: | 行1: | ||
− | + | [[ROT13]] (ROT-13, rot13) とは、'''単換字式暗号''' ([[シーザー暗号]]) の1つです。アルファベットを1文字ごとに13文字後のアルファベットに置き換えます。 また、[[FreeBSD]] には、rot13 という名前のコマンドが提供されています。 | |
− | + | ||
− | + | ||
− | [[ROT13]] (ROT-13, rot13) とは、 | + | |
'''読み方''' | '''読み方''' | ||
行9: | 行6: | ||
== 概要 == | == 概要 == | ||
− | + | [[ROT13]] (ROT-13, rot13) とは、'''単換字式暗号''' ([[シーザー暗号]]) の1つです。アルファベットを1文字ごとに13文字後のアルファベットに置き換えます。[[ROT13]]は、rotate by 13 places の略です。 | |
− | [[ROT13]] (ROT-13, rot13) とは、 | + | |
非常に単純であるため、学習目的以外で利用するべきではありません。 | 非常に単純であるため、学習目的以外で利用するべきではありません。 | ||
行68: | 行64: | ||
| Z | | Z | ||
|} | |} | ||
− | |||
== インストール == | == インストール == | ||
− | |||
[[FreeBSD]] では、 rot13 というコマンドがベースシステムで提供されます。 | [[FreeBSD]] では、 rot13 というコマンドがベースシステムで提供されます。 | ||
− | |||
== 使い方 == | == 使い方 == | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% echo hoge | rot13 | % echo hoge | rot13 | ||
行81: | 行73: | ||
hoge | hoge | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== trコマンドでrot13を実現する == | == trコマンドでrot13を実現する == | ||
− | + | tr コマンドを用いて、[[ROT13]] を実現できます。 | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% echo hoge | tr a-zA-Z n-za-mN-ZA-M | % echo hoge | tr a-zA-Z n-za-mN-ZA-M | ||
行94: | 行84: | ||
alias rot13="tr a-zA-Z n-za-mN-ZA-M" | alias rot13="tr a-zA-Z n-za-mN-ZA-M" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | == Pythonでrot13エンコード == | |
+ | [[Python]] で [[ROT13]] エンコードが簡単にできます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % python | ||
+ | >>> print "hoge".encode("rot13"); | ||
+ | ubtr | ||
+ | >>> print "ubtr".encode("rot13"); | ||
+ | hoge | ||
+ | >>> print "ubtr".decode("rot13"); | ||
+ | hoge | ||
+ | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
− | + | {{cipher}} | |
− | + | <!-- | |
+ | vim: filetype=mediawiki | ||
+ | --> |
2015年9月23日 (水) 01:18時点における最新版
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 ( 暗号文 )
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エンコード
Python で ROT13 エンコードが簡単にできます。
% python >>> print "hoge".encode("rot13"); ubtr >>> print "ubtr".encode("rot13"); hoge >>> print "ubtr".decode("rot13"); hoge