Railfenceとは柵のことです。柵のように文字を並べて順番を変えることからそう呼ばれている、典型的な「紙とペンでやる並べ替え型暗号」になります。
これはABCDEFGH…という文字列であれば
A _ _ _ E _ _ _ I…
_ B _ D _ F _ H…
_ _ C _ _ _ G…
とジグザグに並べて、それを左上から横向きに
AEI… BDFH… CG…
と並べ替える方法になります。例えばRAILFENCEであれば
R _ _ _ F _ _ _ E
_ A _ L _ E _ C
_ _ I _ _ _ N
と並べて
RFEALECIN
が暗号となります。
バリエーションとして、
・左上ではなく途中から始める
* _ _ _ L _ _ _ C
_ R _ I _ F _ N _E
_ _ A _ _ _ E
LCRIFNEAE
・4段にする
R _ _ _ _ _ N
_ A _ _ E _ C
_ _ I _ F _ _ E
_ _ _ L
RNAECIFEL
またはそれらを組み合わせる事があり、この行の数(Rail数)およびどれだけずらしたところから始めるか(Offset)の2つをパラメータとして定義される一連の並べ替えをRail fenceと呼びます。
文字の種類に依存しない並べ替えですので、記号でも日本語でも同様に使用することができます。
遊びとしては面白いですが、文字頻度等を変えないことから、解読難度としてはあまり高くありません。特に、Rail fenceであると知れてしまえば、パラメータの組み合わせに対するbruteforceも容易です。けれどこの暗号単独ではなく、他の暗号と組み合わせることで解読難度をとても効果的に上げることができます。
日本語でそのまま使う場合には、例えば
“文字の種類に依存しない並べ替えですので、記号でも日本語でも同様に使用することができます。”
をRailfenceしても
“文類しべす記日も使こき字種に存な並替での、号も本で同に用るとでま。の依いえでで語様すがす”
となり、なにかあまり暗号化された気がしません。
せめてひらがなにしてから
“もゅいなべすきもごうしるで。じしるにぞしいらかでの、ごでにんでどよによすこがきすのいんなえでうほもううとま”
とするなどのほうがいいかと思います。 (思ったよりも謎の呪文っぽくなったな・・・。)