I can't think of anything as geometrically intuitive as the Playfair cypher.
But a probable option is something like

   arr=.3 3 3$' ',~(97+i.26){a.
   message=.'all is discovered flee'
   encode=.([ {~ [: <"1@:(|:"2) $@[ #: ,@[ i. ])

   arr&encode _3 ]\ message
eai
uyy
sxu
tbi
tof
col
dkz
irr
   arr&encode^:2 ] _3 ]\ message
all
 is
 di
sco
ver
ed 
fle
e  

Where each triplet is indexed to the cube, and then axes of the indices are
transposed. Presumably this would be rather hard to crack without knowing
the cube, but some of the indices don't change, so it might not be
impossible.

Marshall


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Kip Murray
Sent: Saturday, February 26, 2011 5:58 PM
To: Programming forum
Subject: Re: [Jprogramming] Playfair cipher

Below is a three-dimensional picture of the character array

pas
wor
dbc

efg
hij
klm

nqt
uvx
yz_


0
  \
   \
    \
     n------q------t
     |\      \      \
     | e------f------g
     u |\      \      \
     |\| p------a------s------------1
     | h |      |      |
     y |\|      |      |
      \| w------o------r
       k |      |      |
        \|      |      |
         d------b------c
         |
         |
         |
         |
         2

Does the picture help you formulate a 3-d analogue of the Playfair cipher
for encoding "All is discovered flee" from the triples alx isd isc ove red
fle ex_ ?  Those triples again are

alx
isd
isc
ove
red
fle
ex_

On 2/19/2011 6:40 AM, Kip Murray wrote:
> The Playfair cipher http://en.wikipedia.org/wiki/Playfair_cipher is 
> based on a 5 by 5 character array that treats i and j as equivalent:
>
> paswo
> rdbce
> fghik
> lmnqt
> uvxyz
>
> To encode "All is discovered flee" you replace pairs of letters al li 
> sd is co ve re df le ex with pairs diagonally opposite, one to the 
> right, or one below (wrapping) from the table, getting
>
> pm qf ab hw ew zd dr rg tr bz
>
> Your mission, should you decide to accept it, is to write j code for 
> enciphering and deciphering, given the five by five table.  That's the 
> easy part.  The hard part is to design and implement an analogous 
> cipher that uses the 3 by 3 by 3 character array below to replace 
> triples of letters alx _is _di sco ver ed_ fle ex_
>
> pas
> wor
> dbc
>
> efg
> hij
> klm
>
> nqt
> uvx
> yz_
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to