SSブログ

Javascript小僧:鍵付き換字式+転置式暗号【仕様編(改)】

見破られないように、仕様を変更しました。

換字式⇒転置式⇒換字式と、暗号化を3回実施することで、元の文字列を推測しづらくしました。


1.使用する文字
・A-Z,a-z,0-9の62種類とします。
・A(1),B(2) - Z(26),a(27) - z(52),0(53) - 9(62)と、各文字に番号を振ります。

文字:ASCIIコード⇒番号
------------------------
A:65(0x41)⇒1
Z:90(0x5A)⇒26

a:97(0x61)⇒27
z:122(0x7A)⇒52

0:48(0x30)⇒53
9:57(0x39)⇒62

2.暗号化
2-1.鍵付き換字式暗号
・元文字列と鍵文字列を1文字ずつ取り出し、それぞれにフラれた数字を足し、62を超えたら、
を引きます。

例:
・元文字列:cheese999
・鍵文字列:hogehoge1

・c+h=29+34=63-62=1⇒A
・h+o=34+41=75-62=13⇒M
・e+g=31+33=64-62=2⇒B
・e+e=31+31=62⇒9
・s+h=45+34=79-62=17⇒Q
・e+o=31+41=72-62=10⇒J
・9+g=62+33=33⇒g
・9+e=62+31=31⇒e
・9+1=62+54=54⇒1

・暗号化文字列:AMB9QJge1

2-2.転置式暗号
・さらに文字の位置をn文字ずつ、ずらします。

例:
・暗号化文字列(転置前):AMB9QJge1
・暗号化文字列(3文字転置後):ge1AMB9QJ

2-3.鍵付き換字式暗号(2回目)

・元文字列:ge1AMB9QJ
・鍵文字列:hogehoge1

・g+h=33+34=67-62=5⇒E
・e+o=31+41=72-62=10⇒J
・1+g=54+33=87-62=25⇒Y
・A+e=1+31=32⇒f
・M+h=13+34=47⇒u
・B+o=2+41=43⇒q
・9+g=62+33=33⇒g
・Q+e=17+31=48⇒v
・J+1=10+54=64-62=2⇒B

・暗号化文字列(最終):EJYfuqgvB

3.復号
暗号化の逆の操作を行う。

3-1.鍵付き換字式復号(1回目)
・暗号化文字列と鍵文字列を1文字ずつ取り出し、それぞれにフラれた数字を引き、
1より小さくなったら、62を足します。

・暗号化文字列(最終):EJYfuqgvB
・鍵文字列:hogehoge1

・E-h=5-34=-29+62=33⇒g
・J-o=10-41=-31+62=31⇒e
・Y-g=25-33=-8+62=54⇒1
・f-e=32-31=1⇒A
・u-h=47-34=13⇒M
・q-o=43-41=2⇒B
・g-g=33-33=0+62=62⇒9
・v-e=48-31=17⇒Q
・B-1=2-54=-52+62=10⇒J

・復号後の文字列:ge1AMB9QJ

3-2.転置式復号

例:
・文字列(転置前):ge1AMB9QJ
・文字列(3文字逆転置後):AMB9QJge1

3-3.鍵付き換字式復号(2回目)

例:
・暗号化文字列:AMB9QJge1
・鍵文字列:hogehoge1

・A-h=1-34=-33+62=29⇒c
・M-o=13-41=-28+62=34⇒h
・B-g=2-33=-31+62=31⇒e
・9-e=62-31=31⇒e
・Q-h=17-34=-17+62=45⇒s
・J-o=10-41=-31+62=31⇒e
・g-g=33-33=0+62=62⇒9
・e-e=31-31=0+62=62⇒9
・1-1=54-54=0+62=62⇒9

・元文字列:cheese999

ヤバイぜ!(8)  コメント(3)  トラックバック(0) 
共通テーマ:日記・雑感

ヤバイぜ! 8

コメント 3

cheese999

「2-3.鍵付き換字式復号(2回目)」の式が間違ってました。。[__猫]

nice! ありがとうございます。

なぜ、Javascriptで暗号???
それは、HTMLで秘密を伝えたいから。。。

イヌでもわかるJavaScript講座
Step.15 - 入力ウィンドウを表示する
http://www.red.oit-net.jp/tatsuya/java/prompt.htm

を参考にしました。。


by cheese999 (2013-04-29 22:20) 

alba0101

ご訪問&コメントありがとうございます^^

お〜!諜報部員並みの暗号ですね(^^;)

ヒッチコックの『鳥』に出たくてオーディションを受けたけど
落ちたペンギン君です(笑)
by alba0101 (2013-04-30 12:48) 

cheese999

alba0101さん、
お褒め(?)いただいて恐縮です。
密林とか、ネットショッピングが、この程度の暗号なら、破りたい放題なのですが。。
ただ、ブラウザで「ソースを表示」とやったとたんにパスワード丸見え、という状況だけは解決したくて、簡単な暗号を作ってみました。[__猫]
by cheese999 (2013-04-30 20:09) 

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。