回転暗号

回転暗号

中級

説明

回転暗号の実装を作成しましょう。回転暗号は、シーザー暗号と呼ばれることもあります。

シーザー暗号は、単純なシフト暗号です。0から26までの整数のキーを使い、アルファベットのすべての文字をずらします。0や26をキーにすると、剰余演算の性質により、常に同じ出力になります。文字は、キーの値の分だけずれます。

回転暗号は、一般にROT + <key>と表記します。もっともよく使われる回転暗号はROT13です。

ラテンアルファベットにROT13を適用すると、次のようになります。

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: nopqrstuvwxyzabcdefghijklm

27通りのキーがあり、そのうち使えるのが25通りなので、アトバシュ暗号よりも強力です。

暗号文は、空白や句読点も含めて、入力と同じ書式で書き出されます。

例

  • ROT5は、omgをtrlに変換します
  • ROT0は、cをcに変換します
  • ROT26は、CoolをCoolに変換します
  • ROT13は、The quick brown fox jumps over the lazy dog.をGur dhvpx oebja sbk whzcf bire gur ynml qbt.に変換します
  • ROT13は、Gur dhvpx oebja sbk whzcf bire gur ynml qbt.をThe quick brown fox jumps over the lazy dog.に変換します

出典

Wikipediaリンクは新しいウィンドウまたはタブで開きます
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Delphi Pascal Exercism

回転暗号を始める準備はできましたか?

Exercismに登録すれば、76個の演習、そして本物の人間によるメンタリングとともに、Delphi Pascalを学んでマスターできます。すべて無料です。