Welcome Guest [Log In] [Register]
Welcome to Crypto. We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Javascript Sliding Tile Ciphers; A javascript for exploring sliding tile ciphers
Topic Started: Jan 30 2014, 06:21 AM (369 Views)
fiziwig
Elite member
[ *  *  *  *  * ]
For anyone who wants to experiment with sliding tile ciphers, I put up a javascript ap that lets you try out different shuffling procedures to see how well they mix the alphabets.

@novice: now you can try out different autokey-type scrambling schemes you proposed on the "homemade cipher machines" thread.

Here it is. I've been having fun with it.

http://cryptopian.com/tile_slider/slide_15b.html

On Edit: here's one technique I tried:

Start with the alphabet arranged properly.
The first plaintext is N. Below N is T.
Click the right end of the horizontal row with N (R)
Click N. Click comma. Click 9. Now the empty slot is back in the lower right.
Now click F, A, period, 3 to cycle the outside edges and put the empty slot back in the lower right.

Repeat this with each plaintext letter. Next plaintext is O, and below O is V.
Cycle the O-L-blank-9 rectangle, (click L-O-9-X) then cycle the out edge by clicking E-G-dash-R.

Repeat with the next plaintext, and continue until the message is enciphered.

When the plaintext letter is on the righthand column or the bottom row, just do the outer edge cycle, since there is no rectangle to cycle.
Code:
 

NOW[space]IS[space]THE[space]TIME[space]FOR[space]ALL[space]GOOD[space]MEN
TV2[space]NH[space]ZZY[space]0UGK[space]KCW[space]VU3[space]M61![space]AP1
Edited by fiziwig, Jan 30 2014, 06:38 AM.
Offline Profile Quote Post Goto Top
 
Grip2000
no member
[ *  *  *  *  * ]
also interesting... Crypto Box --> http://users.telenet.be/d.rijmenants/en/cryptobox.htm
Offline Profile Quote Post Goto Top
 
novice
Super member
[ *  *  *  * ]
@ fiziwig

This is a great app -- graphics are sharp and beautiful, interactive function works well and the implementation is perfect.

Offline Profile Quote Post Goto Top
 
fiziwig
Elite member
[ *  *  *  *  * ]
Grip2000
Jan 30 2014, 02:22 PM
Thanks. That's an interesting one too.

I was thinking of doing some of my other sliding tile ciphers as javascripts too.

novice
 
@ fiziwig

This is a great app -- graphics are sharp and beautiful, interactive function works well and the implementation is perfect.


Thanks. I haven't done any programming in a while, so I was pretty rusty. I copied some of the code from another sliding block puzzle ap I found. I thought I might try a 6 x 6 block (A-Z;0-9} with no empty cell. You could use a keyphrase to do the shuffling like this:

Code:
 

Keyword:[space]SECRET

Each[space]time[space]a[space]letter[space]is[space]clicked[space]it[space]is[space]shifted[space]ONE[space]RIGHT[space]then[space]ONE[space]UP,[space]along
with[space]its[space]whole[space]row[space]or[space]column[space](with[space]wrap-around).[space]For[space]example:

A[space]B[space]C[space]D[space]E[space]F
G[space]H[space]I[space]J[space]K[space]L
M[space]N[space]O[space]P[space]Q[space]R
S[space]T[space]U[space]V[space]W[space]X
Y[space]Z[space]0[space]1[space]2[space]3
4[space]5[space]6[space]7[space]8[space]9

Click[space]on[space]V[space]results[space]in[space]the[space]whole[space]V[space]row[space]shifting[space]right,[space]then[space]the[space]whole[space]V[space]column[space]shifting[space]up:

A[space]B[space]C[space]D[space]K[space]F
G[space]H[space]I[space]J[space]Q[space]L
M[space]N[space]O[space]P[space]V[space]R
X[space]S[space]T[space]U[space]2[space]W
Y[space]Z[space]0[space]1[space]8[space]3
4[space]5[space]6[space]7[space]E[space]9

Use[space]the[space]key[space]phrase[space]SECRET[space]to[space]shuffle[space]the[space]grid[space]by[space]clicking[space]on[space]each[space]letter[space]that[space]spells
out[space]the[space]entire[space]phrase[space]between[space]enciphering[space]each[space]letter.[space]For[space]example,[space]starting[space]with:

A[space]B[space]C[space]D[space]E[space]F
G[space]H[space]I[space]J[space]K[space]L
M[space]N[space]O[space]P[space]Q[space]R
S[space]T[space]U[space]V[space]W[space]X
Y[space]Z[space]0[space]1[space]2[space]3
4[space]5[space]6[space]7[space]8[space]9

After[space]clicking[space]on[space]the[space]letters[space]S-E-C-R-E-T[space]the[space]grid[space]looks[space]like[space]this:

M[space]F[space]A[space]I[space]K[space]D
X[space]G[space]N[space]P[space]J[space]Q
Y[space]S[space]O[space]T[space]V[space]W
3[space]4[space]Z[space]1[space]U[space]2
E[space]5[space]0[space]6[space]8[space]9
R[space]L[space]B[space]H[space]7[space]C

Since[space]the[space]letters[space]of[space]the[space]keyphrase[space]move[space]around[space]inside[space]the[space]grid[space]the
shuffling[space]is[space]actually[space]different[space]each[space]time.

So[space]you[space]would[space]encipher[space]MARY[space]HAD[space]A[space]LITTLE[space]LAMB[space]by[space]replacing[space]M[space]with[space]X,[space]then[space]spelling
out[space]"S-E-C-R-E-T"[space]in[space]clicks[space]on[space]the[space]grid[space]to[space]shuffle[space]again,[space]and[space]then[space]enciphering[space]the[space]next[space]letter.


I'm definitely going to do this one in javascript. I think it would work out pretty good.
Edited by fiziwig, Jan 30 2014, 06:32 PM.
Offline Profile Quote Post Goto Top
 
fiziwig
Elite member
[ *  *  *  *  * ]
OK, here's a 6x6 sliding tile shuffler that seems to do a really good job of scrambling the alphabet based on a keyword:

http://cryptopian.com/tile_slider/slide_36.html

Instructions are on the page.
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · General · Next Topic »
Add Reply