とある事に使いたくて簡単な暗号アルゴリズムを考えてみた。
要件は
1.入力はASCII(0x20~0x7E)
2.処理が軽い事
3.同じフレーズを暗号化しても違う暗号文が出来る
4.暗号文をQRコードにした時の事を考えて使う文字を制限する(@とか使わない)
暗号化も復号化も一ヵ所でしかしないので共通鍵方式。ただありきたりなのはつまらないのでちょっと考えてみた。ASCIIコード表眺めて頭の体操、アルゴリズムあれこれ考えるの楽しい♪
そして出来たのがこのプログラム。C言語で暗号化復号化それぞれ20行ぐらい。
試しに”IQ COMPANY Limited.”を3回暗号化してできた暗号文は
“D8KM#V0ewwWaj2CCjTVTRFeUQ-GHvxxoLLwfciiQEd0a2YH1w5&XERceyJp”
“J6XJyzJTHHdSSnNzNjdVIUjLPZF&A0WFyy9DTs%6gjQiryE-LnNOQ7VZN%G”
“Q#a3TK8NGGsJ0gBRLIa2XmaCFRkmeCCtGGbGgkc8X7MS#LqqT#BC8efg#2-“
といった感じ。もちろんどの暗号文を復号しても元の”IQ COMPANY Limited.”に戻りましたとさ。
(省略してないんだからピリオドいらねぇじゃんw)
何に使うのかは後日紹介します(かも)