You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by micael <ca...@harbornet.com> on 2002/10/09 21:11:36 UTC
[OT} - Decoder Rings - RE: Struts project
Everyone at the time remembers waiting for these rings. A good
reminiscence, for you older coders, is in:
http://www.irememberhamlet.com/captainmidnight.html.
The Captain Midnight decoder ring (which is an "encoder" ring as well)
allows you to do a simple substitution cipher. It usually has two
concentric wheels of letters, A through Z. You rotate the outside ring and
substitute the letters in your message found on the outside ring with the
letters directly below on the inside ring (see diagram). Here, the
algorithm is to offset the alphabet and the key is the number of characters
to offset it. Julius Caesar used this simple scheme, offsetting by 3
characters (He would have put the "A" on the outer ring of letters over the
"D" on the inner ring if he had owned a Captain Midnight decoder ring.) The
word "EXPLORATORIUM" thus becomes "HASORUDWRULXP."
Such a scheme was easily broken and showed a certain level of naivete on
Caesar's part concerning the enemy's intelligence.
The Secret Language
Ron Hipschman
When you were a kid, did you have a "Captain Midnight" decoder ring? With
it, you could send messages to a friends that no one else could read. Or
perhaps you remember using special symbols to write notes to your "squeeze"
in class. If the note was intercepted , your teacher, could learn nothing
about your romance.
In more serious uses, codes and ciphers are used by our military and
diplomatic forces to keep confidential information from unauthorized eyes.
Businesses also send data that has been encoded to try and protect trade
secrets and back-room deals. After all, you wouldn't want your competitor
to know that you were about to acquire their company with a leveraged buy-out.
The study of enciphering and encoding (on the sending end), and deciphering
and decoding (on the receiving end) is calle cryptography from the Greek
(kryptos), or hidden and (graphia), or writing. If you don't know Greek
(and not many of us do) the above letters could be a form of code
themselves! Although the distinction is fuzzy, ciphers are different from
codes. When you substitute one word for another word or sentence, like
using a foreign language dictionary, you are using a code. When you mix up
or substitute existing letters, you are using a cipher. (I told you the
difference was fuzzy, and you can combine codes and ciphers by substituting
one word for another and then mixing up the result.) We'll concentrate on
ciphers.
For a cipher to be useful, several things must be known at both the sending
and receiving ends.
The algorithm or method used to encipher the original message (known as the
plaintext).
The key used with the algorithm to allow the plaintext to be both
enciphered and deciphered.
The period or time during which the key is valid.
By way of analogy, to get into your home you would put a key in a lock to
open the door. This process (the use of a key and a lock) is the method or
algorithm. Now this method only works if you have the proper key to stick
in the lock, and your key will be valid only as long as you are the
resident of the particular abode. The next resident will have the locks
changed to a different key to make sure that you cannot enter even though
you may know the method.
The selection of the above three items - algorithm, key and period - depend
on your needs. If you are in the battlefield and are receiving current
tactical data, you want an algorithm that makes it easy to decipher the
message in the heat of battle. On the other hand, you must also assume that
your opponent has intercepted your enciphered message and is busy trying to
break it. Therefore you must choose an algorithm (method) that is
complicated enough so that by the time your opponent figures it out, the
data will be worthless. The easier the algorithm you choose, the more often
you will have to change the key that unlocks the code - if you want to keep
your enemy in the dark.
Ciphers are broken into two main categories; substitution ciphers and
transposition ciphers. Substitution ciphers replace letters in the
plaintext with other letters or symbols, keeping the order in which the
symbols fall the same. Transposition ciphers keep all of the original
letters intact, but mix up their order. The resulting text of either
enciphering method is called the ciphertext. Of course, you can use both
methods, one after the other, to further confuse an unintended receiver as
well. To get a feel for these methods, let's take a look at some ciphers.
Substitution ciphers and decoder rings
We use substitution ciphers all the time. (Actually, substitution ciphers
could properly be called codes in most cases.) Morse code, shorthand,
semaphore, and the ASCII code with which these characters are being stored
in inside my Macintosh are all examples. (ASCII stands for American
Standard Code for Information Interchange, just in case you're interested.)
The only difference between these and the spy codes is that the above
examples are standardized so that everybody knows them.
The Captain Midnight decoder ring (which is an "encoder" ring as well)
allows you to do a simple substitution cipher. It usually has two
concentric wheels of letters, A through Z. You rotate the outside ring and
substitute the letters in your message found on the outside ring with the
letters directly below on the inside ring (see diagram). Here, the
algorithm is to offset the alphabet and the key is the number of characters
to offset it. Julius Caesar used this simple scheme, offsetting by 3
characters (He would have put the "A" on the outer ring of letters over the
"D" on the inner ring if he had owned a Captain Midnight decoder ring.) The
word "EXPLORATORIUM" thus becomes "HASORUDWRULXP." Such a scheme was easily
broken and showed a certain level of naivete on Caesar's part concerning
the enemy's intelligence.
At 02:55 PM 10/9/2002 -0400, you wrote:
>Chuck:
>
>You're obviously not old enough to remember "decoder rings". It's from
>an early kids' TV (and possibly dating back to radio, I can't remember)
>show called "Captain Midnight". The Captain and his crew communicated
>via their secret decoder rings when they needed to, and if I remember,
>they could also magically decode any language/code any aliens were using
>as well.
>
>The show's sponsors (Ovaltine?) had a promo going where kids could buy
>the home version of the decoder ring. My therapist tells me that most
>of my troubles stem from not being allowed to send in for one.
>
>-- Charlie
>
>-----Original Message-----
>From: chuckcavaness@attbi.com [mailto:chuckcavaness@attbi.com]
>Sent: Wednesday, October 09, 2002 2:33 PM
>To: Struts Users Mailing List
>Subject: RE: Struts project
>
>
>Not exactly sure what you mean by "decoder ring", but
>assuming you're referring to the O'Reilly book, I just
>got an email that it would be in stock at places on Nov.
>11. However, the Mastering Struts book from James
>Goodwill is already out and has got some decent reviews.
>I think the book from "Ted and the Gang" is due out
>around mid November as well.
>
>Chuck
> > When is this decoder ring going to arrive? Is it on time?
> >
> > At 06:08 PM 10/9/2002 +0000, you wrote:
> > >That's actually Chapter 8 of my O'Reilly book. It never
> > >got posted for review because I was writing it literally right up to
> > >my deadline. However, it is included in the book.
> > >
> > >Chuck
> > > > Good work. You should also touch on taglibs which will be very
> > > > useful.
> > > >
> > > > Thanks
> > > > kirusshna
> > > >
> > > > -----Original Message-----
> > > > From: chuckcavaness@attbi.com [mailto:chuckcavaness@attbi.com]
> > > > Sent: Wednesday, October 09, 2002 8:11 AM
> > > > To: Struts Users Mailing List
> > > > Subject: Re: Struts project
> > > >
> > > > As Eddie mentioned, I ran out of time and the book was getting
> > > > large, so a few of the chapters were cut. I've decided to go ahead
>
> > > > and write a few of them and just make them freely available on
> > > > this list and several Struts-releated sites. I'm starting with the
>
> > > > Security chapter first and then probably will do the one on
> > > > Alternative Presentations. Each one should take about 2
> > > > to three weeks to write since I don't have an editor
> > > > banging me on the head :)
> > > >
> > > > Stay tuned...
> > > >
> > > > Chuck
> > > > > Thanks,
> > > > > just downloaded the entire book -
> > > > >
> > > > > eventhough some chapters seem to be missing:
> > > > > 8, 14,(chapter 14 was chapter 15), 17 and 19.
> > > > >
> > > > > If you got them,
> > > > > please send to Marcus.Biel@bmw.de
> > > > >
> > > > > thanks,
> > > > >
> > > > > marcus
> > > > > andrew.david.hill@gridnode.com schrieb:
> > > > > >
> > > > > > If you havent already, download and read the review copies of
> > > > > > Chuck's
> > > > struts
> > > > > > book on theserverside.
> > > > > > http://www2.theserverside.com/resources/strutsreview.jsp
> > > > > > A great resource for learning struts!
> > > > > >
> > > > > > So have they let you test drive the M5 yet? ;-)
> > > > > >
> > > > >
> > > > > --
> > > > > To unsubscribe, e-mail:
> > > > <ma...@jakarta.apache.org>
> > > > > For additional commands, e-mail:
> > > > <ma...@jakarta.apache.org>
> > > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > > > <ma...@jakarta.apache.org>
> > > > For additional commands, e-mail:
> > > > <ma...@jakarta.apache.org>
> > > >
> > > >
> > > > --
> > > > To unsubscribe,
> > > e-mail: <ma...@jakarta.apache.org>
> > > > For additional commands, e-mail:
> > > <ma...@jakarta.apache.org>
> > > >
> > >
> > >--
> > >To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
> > >For additional commands, e-mail:
> > ><ma...@jakarta.apache.org>
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> > <ma...@jakarta.apache.org>
> >
>
>--
>To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
>For additional commands, e-mail:
><ma...@jakarta.apache.org>
>
>
>--
>To unsubscribe, e-mail: <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>