http://www.perlmonks.org?node_id=57072
Category: Cryptography
Author/Contact Info Charles Prichard (Steeeeeve) greentv@paulbunyan.net
Description: Text encryption.

Restrict ouptut domain by restricitng input key domain. Using a numeric string for a key, the ciphertext output can be transmitted using a 7-bit text/html mime.

Useful for PAGE_TAG_Encryption where encrypted query string page names are embedded into HTML. Simplifies authentication algorithm used in making it impossible to impersonate a concurrent thread.

Other HTTP uses are probable. Its time to do some Benchmark testing. My math-based crypto-analysis supports integrity using matrices to explain the work done by the algorithm to prevent reverse-engineering.

A mask was added recently.

Also plan to create a new algorithm based on this one, indexing a random table in the second pass. A binary mode is also logical and possible. That will likely be added when the algorithm is taken more seriously.

-Steeeeeve

Reason: (delete - tilly) Good encryption algorithms are readily available. There is no need to encourage dangerously bad substitutes.

For more information on this node visit: this

Replies are listed 'Best First'.
Re (tilly) 1: CipherText
by tilly (Archbishop) on Feb 08, 2001 at 07:45 UTC
    This is a note to anyone tempted to use this code.

    Good encryption algorithms are surprisingly hard to write, and very hard to verify. While rolling by hand is in general not good practice, rolling your own encryption algorithm is just plain stupid when so many good ones are publically available.

    The above is particularly bad. This is just an xor. The only things notable about using xor is how often people make that mistake, and how often cryptographers mention that it is insecure. Pick up Applied Cryptography if you are curious how to crack it.

    Needless to say, I voted -- on this node.

      Tilly's advice is very true -- some other programming community websites that I visit have "encryption" code sections. Most code offerings have one of three themes.
      • Code that produces a cyphered text, takes negligible time to brute force.
      • Code that produces a cyphered text, takes negligible time to brute force, won't decrypt own cypher.
      • Caesar cyphers.
      If you feel the need to try your hand at encryption, try one of the better documented, free (speech) algorithms : blowfish. Source code (in C and visual basic) is present, as well as a white paper describing the algoritm. There's even a set of test data to verify your implementation's correctness.

      Again, writing good encryption is sticky stuff -- especially when TASMWTODI, including blowfish (and even an all-perl version). So, unless you have a wild encryption itch to scratch, I'd suggest one of these existing modules.
      update : Level II encryption??? what's level I? ;-)

      A reply falls below the community's threshold of quality. You may see it by logging in.
    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: CipherText
by myocom (Deacon) on Feb 08, 2001 at 02:17 UTC
    # WARNING: Copyright Notice # This "CipherText© LEVEL II Encryption Algorithm" was developed # for explicit use by "GREENTV" 9-8-1999 All rights are reserved # by Charles Prichard unless specifically granted in writing.

    Am I correct in reading that use of this snippet in something other than "GREENTV" (whatever that is) is against the license? Seems odd to post code here that can't legally be used...

A reply falls below the community's threshold of quality. You may see it by logging in.
A reply falls below the community's threshold of quality. You may see it by logging in.
A reply falls below the community's threshold of quality. You may see it by logging in.