PoC的なものなので、エニグマの機械機構に忠実に1セルで1つのローターを表現して、処理内容を次のセルに渡すという形で実装してみました。
あと、反転の部分は、エクセルに実装するにあたってできるだけシンプルな数式で表現したかったので、アルファベット26文字が重複せずに1対1の組み合わせとなればいいので、文字コードを足して27となる組み合わせにしてあります。I列のrotor3とJ列の反転の和が常に27になっているのはこのためです。
具体的には次のような組み合わせです。
a-z
b-y
c-x
:
:
k-p
l-o
m-n
暗号機らしくもう少し複雑なセットを用意したいですね。
PoC的なものなので、エニグマの機械機構に忠実に1セルで1つのローターを表現して、処理内容を次のセルに渡すという形で実装してみました。
あと、反転の部分は、エクセルに実装するにあたってできるだけシンプルな数式で表現したかったので、アルファベット26文字が重複せずに1対1の組み合わせとなればいいので、文字コードを足して27となる組み合わせにしてあります。I列のrotor3とJ列の反転の和が常に27になっているのはこのためです。
具体的には次のような組み合わせです。
a-z
b-y
c-x
:
:
k-p
l-o
m-n
暗号機らしくもう少し複雑なセットを用意したいですね。