home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: sci.crypt
- Path: sparky!uunet!newsgate.watson.ibm.com!yktnews!admin!wo0z!lwloen
- From: lwloen@rchland.vnet.ibm.com (Larry Loen)
- Subject: temporary, independent FAQ
- Sender: news@rchland.ibm.com
- Message-ID: <1992Nov09.152315.20637@rchland.ibm.com>
- Date: Mon, 09 Nov 1992 15:23:15 GMT
- Reply-To: lwloen@vnet.ibm.com
- Disclaimer: This posting represents the poster's views, not necessarily those of IBM
- Nntp-Posting-Host: wo0z.rchland.ibm.com
- Organization: IBM Rochester
- Lines: 501
-
- "temporary, independent" sci.crypt Frequently Asked Questions
-
- There a group is putting together a fine FAQ for this
- topic. However, in my brief tenure on Internet, there seems to
- be a consistent cry for some form of FAQ and postings that also
- cry for one. After a discussion with a former member of the
- FAQ group, I've decided to post this from time to time.
-
- This is an attempt to answer many basic questions in hope of
- providing a lot of the benefit of a FAQ without the burden of
- being a complete answer to all relevant questions. There is no
- desire or attempt to replace the other group's work; this is more
- of a stopgap. However, beginners should find this very helpful.
-
- Note: References to a "Megabarfoocorp" are intended to be
- fictional.
-
- Q1: What is cryptography? How, basically, does it work?
- What are the basic terms used to describe cryptography?
-
- Cryptography is the art and science of hiding data in plain sight.
- It is also the art and science of stealing data hidden in plain sight.
- There are at least three players. The first is the one who has
- the original data, which is presumed to have high value to
- others. This data is presumed to reside in a safe place that
- no one but the originator and his/her friends can see. (If the
- originator cannot physically secure the original data,
- cryptography is a waste of time). Now, for cryptography to be
- necessary, the data must, for some reason, have to be
- transmitted over some public means such as a telephone line, a
- letter through the mail; any means that cannot be physically
- secured by the owner to a legitimate receiver of the data. The
- receiver is the second party.
-
- Cryptography is any transformation of the data into a form it is hoped
- that cannot be recovered in a timely manner by an unknown party,
- which is called here 'the opponent'. The transformation is not
- some physical means, such as hiding the data on microfilm or
- some such; it is some mathematical transformation of the
- original data that the receiver on the other end knows how to
- undo.
-
- The process of scrambling (transforming) the data is called
- 'encryption'. Unscrambling is called decryption. An
- encryption system has two basic parts. 1) A general
- transformation process called the encryption algorithm. 2) A
- customization of that algorithm called a cipher key. The
- sender and the receiver must find a secure means to exchange
- the cipher key. That is, the same public means used to send
- the encrypted data cannot be used. This may be a difficult
- problem, and has a variety of solutions, but will be assumed
- solved for now. Once the key is successfully exchanged, the
- two parties can separately implement the encryption algorithm
- and its inverse, the decryption algorithm.
-
- At this point, the data can be transmitted in its encrypted form
- using the agreed-to key to customize the general algorithm to a
- particular version that transforms the data. Since the
- encrypted data is sent over some insecure medium, it is assumed
- that an opponent (the third party) may intercept the data,
- possibly without being detected, and analyze the encrypted
- text, also called cipher text.
-
- In theory, any encryption system can be defeated, given enough
- time. The amount of time it takes cannot always be predicted.
- This is because the opponent can supply extra information
- that might reduce the computation time a great deal. For one
- thing, the sender and receiver may make a very poor choice of
- cipher key. If the opponent has a list of poor keys, a
- computer may permit a large list of such keys to be tried;
- if the poor key actually used is on the list, the opponent wins
- even if the encryption system is otherwise secure.
-
- All methods the opponent dreams up have one thing in common.
- It is an attempt to recover the original data without advance
- knowledge of the particular cipher key. There are a wide
- variety of means available and some will be described later on.
- The name for any of these methods is called 'cryptanalysis' and
- the person who does the penetration is called the cryptanalyst.
-
- In diagram form (the boxes indicated physically secure areas)--
-
- -------------| --------------
- Sender | | Receiver
- "x" | | cipher key
- cipher key |-------> y ----->|
- y=Encrypt( | | | x=Decrypt(y,key)
- x,key) | | |
- -------------| | |-------------
- V
- Opponent
- z = Cryptanalysis(y,Encrypt Algorithm,
- general knowledge of x, guesses about
- secret key, statistical analysis of y)
-
- The opponent uses Cryptanalysis of message y until
- the value z is either equal to x or z is "enough" like
- x to accomplish the illicit purpose. The sender and
- receiver win whenever recovery of z takes too much time.
-
- Q2: I have invented this wonderful, fast-running encryption
- algorithm. How do I find out if it is as great as I think it
- is?
-
- It is one thousand times easier to invent an encryption
- algorithm than it is to discover if it is worthwhile. Most
- designers who have not learned cryptography are used to dealing
- with mathematics that discusses the general case. But,
- successful cryptanalysis often relies on any number of
- fortuitous special cases that the designer must anticipate lest
- a given key and data stream create even one of them. Many
- practical illicit decryptions astonish the newcomer; they seem
- like cheating, but they do work.
-
- It is easy to get superficial reassurance that a poor
- encryption algorithm seems good. Most people reading this file
- have probably attempted the kinds of cryptograms one finds in
- newspapers and puzzle books (usually called 'cryptograms').
- That encryption algorithm is simple -- one replaces each letter
- of the alphabet with exactly one other letter of the alphabet.
- In less than an hour, sixth graders have been taught to
- successfully solve this kind of cipher. Yet, it has 26
- factorial possible keys (about 2 to the 88th power), which is
- much more than the 2 to the 56th keys of the well known
- commercial algorithm, DES. A large number of keys is
- important, but is not by itself secure. Obviously, the
- successful sixth graders do not attempt all possible keys.
- They use their general knowledge of English to shortcut the
- process and eliminate all but a few possible keys.
-
- Since the gross mathematical properties of an encryption
- system prove nothing, only cryptanalytic attacks matter
- and these require some study.
-
- Q3: What is an "attack"?
-
- An attack is a particular form of cryptanalysis. There are
- generic types of attacks, and some very specific attacks. In
- the end, cryptography is a war of specifics. The opponent
- will either invent a very clever and unique attack or will
- customize a general attack to suit the needs at hand. Some
- attacks might even exploit the properties of a particular
- message or settle for a partial illicit decryption.
-
- However, in sci.crypt, there is a great deal of discussion
- about attacks, both general and specific, and an assumption
- that the reader can fill in missing details at times. Since
- those who post here usually have other things to do, to-the-bit
- details are often omitted.
-
- Q4: Hmm. In spite of questions 2 and 3, I still think I
- have a pretty good system. But, it seems pretty hard
- to know if it can really defeat an expert. Still, I know
- it will work if I can keep my method secret, right?
-
- Good luck. There are documented cases aplenty where an
- encryption system was deduced based entirely on clever analysis
- of the encrypted text alone. There are also known cases
- where encryption systems were deduced because the encrypted
- text was later published verbatim somewhere (for instance, a
- press release) and so the system was figured out, eliminating
- the presumed secrecy advantage for the next cipher text.
-
- Q5: What are the principal cryptanalytic attacks?
-
- The first is "cipher text only". This is recovering the text
- or the key by analysis of the text (using statistical means,
- for instance) and by knowing broad details such as whether it
- is the text of someone's speech, a PC-DOS EXE file, whether text
- is in English or French. For non-puzzle examples, such broad
- information is almost always reliably known. People have some
- idea of what they wish to steal. The weakest systems fall to
- this form of attack.
-
- The next attack is "known plaintext". If one works with a
- newspaper cryptogram, one may have little idea of what is in
- the text. However, if one was illicitly trying to decrypt the
- source code of Megabarfoocorp's C++ compiler, one would be much
- better off. There would be lots of things one could
- confidently expect, such as long strings of the space
- character, strings like "if (" and "if(" and the like.
-
- There would even be whole phrases like "Copyright 1990,
- Megabarfoocorp International" or some such. With imagination,
- surprisingly long strings can be predicted. Computers can
- tirelessly try a number of trivial variations of such known
- text at a great many locations. Knowledge of the encryption
- system may reveal the correct placement outright or a small
- number of places to try. A wide variety of systems can be
- broken if enough known plaintext can be successfully placed.
-
- The next attack is "chosen plaintext". In some situations, it
- is possible for the opponent to pose as the legitimate user
- of the encryption system. This is especially true in "public
- key" systems (described later). In this case, the opponent
- can present fairly arbitrary unencrypted data of his/her
- choosing, cause it to be encrypted, and study the results.
- Very few systems ever invented pass this test, but it should be
- seriously considered for any significant use. Why? No
- designer can dream up all attacks. Moreover, at some point, a
- form of known plaintext attack may well enough approximate a
- chosen plaintext attack to make it worthwile for the designer
- tot allow for it to begin with, especially as it might not be
- dreamed up by the designer!
-
- There are other attack strategies. One worth mentioning for
- telecommunications applications is the "replay" attack.
- Suppose one has an Automatic Teller Machine (ATM) which uses a
- substitution cipher. Since one assumes the telephone line to
- the ATM can be tapped (why encrypt if it cannot?), one can also
- assume the opponent can _inject_ false ciphertext. Thus,
- without even being aware of the actual system, an opponent may
- be able to simply replay old ciphertext and get the cash drawer
- to give him/her $50 from your account. There are encryption
- systems which avoid this difficulty.
-
- Another general form of attack often not considered by
- newcomers is comparing multiple messages using the same key.
- It is impractical to use a different key for each cipher
- text (with one important exception called the 'one time
- pad'). Therefore, an opponent will have several different
- texts encrypted in the same key and may be able to exploit
- this fact. All transpositions algorithms (those which merely
- scramble the order of the bytes) are vulnerable to this
- attack. More sophisticated systems are also vulnerable to this
- attack in some cases as well.
-
- This is a vast area and one of the things that is difficult,
- even for experienced designers, is anticipation of all possible
- attacks. Moreover, there is no obligation on the attacker's
- part to be less mathematically sophisticated than the designer.
- A system that survives the attacks the designer invents may
- fall easily to a mathematical approach the designer of the
- system is unfamiliar with.
-
- And, one even has to worry about items like a rare bug in the
- program that injects the cipher key rather than the cipher text
- into the output stream. It is amazing how often trifling
- errors in the implementation make theory irrelevant.
-
- Q6: What does make a system 'good'?
-
- What makes a system 'good' relies on many details specific to
- a given situation. Only after a lot of ingenious attacks are
- tried can a system be released for use. There never can be any
- absolute guarantees. All that can be said is that it defeated
- the best experts available. The opponent may be smarter.
-
- However, there are some agreed-to minimums that a good system
- must have to even be worth serious analysis --
-
- 1) It must be suitable for computer use. Ordinary byte streams
- (as arbitrary as possible) would be the input "plain"
- text and byte streams would be the output "cipher" text.
- There should be few cases where some kinds of input text produces poor
- results and these, if they exist, should be easily known,
- described, and avoided.
-
- 2) To be cost-competitive, it must produce about the same number of
- output cipher bytes as input plain bytes. Relaxing this restriction
- is not as helpful as one might think; the best historical systems
- meet this restriction, so a new system must meet it also.
-
- 3) Output bytes should have a complex relationship between the key,
- the plain text being encrypted, and possibly some amount of
- text previously encrypted. "Simple", general methods, such
- as creation/construction of minterm sums and matrix inversions should
- not produce the cipher key or an equivalent, usable illicit
- decryption method.
-
- 4) Trying all keys must not be practical. Trying a cleverly ordered
- subset of the keys must not work. This is hard to achieve; it means
- that the failure of a particular key X to illicitly decrypt must
- not also allow an opponent to conclude that some large class of keys
- "similar" to X need not be tried.
-
- All keys must be equally strong; any exceptions must be well
- known, few in number, and easily avoided.
-
- 5) Assume all details about the encryption algorithm are known.
- Relying on a secret method has failed repeatedly. It is prudent to
- assume only the variable part of the system, called the cipher key,
- that is selected by the customer, is unknown.
-
- 6) Classical attacks must be tried in great variety and ingenuity.
- Details of this are beyond the scope of this file. For a summary
- of the principal attacks, see Question 5, "What are the principal
- cryptanalytic attacks?". It is easy to do this particular step
- incompletely. Remember, there may be little effective limit to the
- resources or the brainpower of one's opponent. The data may be
- very valuable and it make take only a couple of days rental of the
- right kind of consultant and a supercomputer to get the job
- done. The legitimate user will, by contrast, have a smaller
- budget that is begrudged as "overhead".
-
- 7) Performance must be competitive with existing solutions. A
- practical problem is that every moment spent encrypting is regarded as
- "overhead". Therefore, the method must not be uncompetitive
- with existing algorithms regarded as secure.
-
- Inventing one's own system is an interesting pastime and quite
- educational. However, any hope of really securing data requires, at
- the very minimum, mastery of illicit decipherment. It is very easy
- to scramble data impressively and please oneself. This is not
- the same as keeping it actually secure.
-
- Q7: What are the legal restrictions on cryptography?
-
- You'd have to ask a lawyer. Most governments consider cryptography a
- sensitive topic for one reason or another. There are a variety
- of restrictions possible.
-
- Most governments don't give their reasons publically, so one
- may not know why there are restrictions, just that there are
- restrictions to follow.
-
- One can expect to find laws about sending encrypted data over national
- borders and may often expect to find laws about the import and export of
- encryption systems.
-
- Since sending data over Internet, Bitnet, Usenet, Fidonet, etc. may cross
- national borders (even if the originator does not realize it), a basic
- familiarity with these laws is recommended before sending out encryption
- systems or encrypted data.
-
- Q8: What is a public key system?
-
- A public key system is an encryption method with a unique
- property -- encryption and decryption use different keys and
- one of those keys can be published freely.
-
- Being able to pass around the 'decrypt' key part of one's
- encryption algorithm allows some very interesting things to
- happen. For one thing, messages can be exchanged by people who
- had not planned on doing so in advance. One merely encrypts in
- one's private key, decrypts using the receiver's public key and
- passes on the result to the receiver. The receiver encrypts in
- his/her own private key, then decrypts using the sender's public
- key, recovering the message.
-
- Q9: What is key distribution?
-
- Key distribution is the practical problem of exchanging keys
- between the parties that wish to set up an encryption system
- between the two of them. Especially in a network environment,
- passing keys one can trust back and forth, can be difficult.
- How can one be sure a cipher key was not sent by an imposter?
- Unless the keys are exchanged in a secret, secure place,
- face-to-face, getting keys securely exchanged and with
- knowledge of the fact that the key was sent authentically can
- be difficult. Yet, any practical system must permit reasonably
- convenient, but very secure exchange of cipher keys.
-
- Once a few special keys are securely exchanged, it may be
- possible to send new cipher keys in encrypted form between the
- sender and receiver that have a known lifetime. That is, the
- cipher key is sent in a special encrypted message using a
- special key used only for exchanging keys. In
- telecommunications environments, this allows frequent change of
- keys between the parties 'safely' over the same insecure medium
- used to send the cipher text. While this idea is at the heart
- of much commercial use of cryptography, it is not easily
- accomplished and less easily summarized.
-
- Q10: What is the 'one time pad'?
-
- The 'one time pad' is an encryption method that is known to be
- absolutely, provably secure. How it works is as follows --
- 1. Generate a huge number of bits using a naturally random
- process. 2. Both sides exchange this data, which is as much
- data as they are going to exchange later on. 3. Exclusive OR the
- original text, bit by bit, with the 'one time pad' data, never
- reusing the 'one time pad' data. 4. Have elaborate rules to
- keep the two sides in synch so that the data can be recovered
- reliably by the receiver. (Both sides must know where they are
- in terms of how much 'one time pad' has been consumed).
-
- Note that only genuine, naturally random processes will do. There
- must be no relationship between any prior bit of the 'one time pad'
- and a future bit of the key. "Random number generators", in
- particular, may not substitute and still be a 'one time pad'. The
- reason it works is precisely because there is no relationship between
- any bits of the key stream. All cipher keys are equally probable.
- All original data messages are equally probable. There is no 'hat'
- to hang analysis upon. Even if one can inject as much text into
- a one time pad as one wishes, recovering the key stream tells nothing
- about the next message.
-
- Unfortunately, one time pads are very ungainly, so they are not
- typically used. The requirement to have a genuinely random process,
- with the right kind of statistical probability, is not easy to
- to set up. The ability to exchange vast amounts of data,
- securely, in advance, is not easy to achieve in environments
- when encryption is needed in the first place.
-
- There are a variety of cipher systems which generate "pseudo
- one time pad" streams of cipher key, but all have the same
- theoretical vulnerability; any algorithmic process introduces
- relationships between some old key bit(s) and the new key bit
- and so permits cryptanalysis. "Random number generators" are
- frequently dreamed up by newcomers as a "pseudo one time pad",
- but they are notoriously vulnerable to analysis, all
- independent of whether the pseudo-random stream satisfies
- randomness tests or not.
-
- Q11: What is the NSA (National Security Agency)?
-
- The NSA has several tasks. The most relevant here is that it employs
- the United States' government's cryptographers. Most nations have some
- department that handles cryptography for it, but the US' NSA tends to
- draw the most attention. It is considered equal to or superior to any
- such department in the world. It keeps an extremely low public profile,
- and has a "large", but secret budget. Because of these and other factors,
- there will be many posts speculating about the activities and motives of
- the NSA.
-
- Q12: What is the American Cryptogram Association?
-
- American Cryptogram Association Information, Sept 1992
-
- The American Cryptogram Association is an international group
- of individuals who study cryptography together and publish
- puzzle ciphers to challenge each other and get practical
- experience in solving ciphers. It is a nonprofit group.
-
- The American Cryptogram Association (ACA) publishes the
- bi-monthly magazine, "The Cryptogram", which contains
- a wide variety of simple substitution ciphers ("cryptograms")
- in English and other languages as well as cryptograms
- using cipher systems of historical interest (such as Playfair).
-
- The level of difficulty varies from easy to difficult. Except
- for "foreign language" cryptograms, all text is in English.
-
- The magazine also features "how to" articles at the hobbyist level
- and other features of interest to members. A "Computer Supplement"
- is also available which features articles on computerizing various
- phases of cryptogram solving; the level of the articles varies from
- simple programming examples to automatic algorithmic solutions of
- various cipher systems. The supplement is available as a separate
- subscription, and is published when material permits; usually two
- or three times per year.
-
- Where to write for subscription or other information --
-
- ACA Treasurer
- 18789 West Hickory St
- Mundelein IL 60060
-
- Q13: What are some good books on cryptography?
-
- Good books on this topic that weren't government classified used
- to be rare. There are now a host of good books. One informal
- test of a library's quality is how many of these are on the
- shelves. These are widely available, but few libraries have
- them all.
-
- David Kahn, The Codebreakers, Macmillan, 1967 [history; excellent]
-
- H. F. Gaines, Cryptanalysis, Dover, 1956 [originally 1939, as
- Elementary Cryptanalysis]
-
- Abraham Sinkov, Elementary Cryptanalysis, Math. Assoc. of Amer.,
- 1966
-
- D Denning, Cryptography and Data Security, Addison-Wesley, 1983
-
- Alan G. Konheim, Cryptography: A Primer, Wiley-Interscience, 1981
-
- Meyer and Matyas, Cryptography: A New Dimension in Computer Data
- Security, John Wiley & Sons, 1982.
-
- Books can be ordered from Aegan Park Press. They are not inexpensive,
- but they are also the only known public source for most of these
- and other books of historical and analytical interest.
-
- From the Aegean Park Press P.O. Box 2837, Laguna
- Hills, CA 92654-0837
-
- [write for current catelog].
-
- The following is a quality, scholarly journal. Libraries may carry it if
- they are into high technology or computer science.
-
- Cryptologia: a cryptology journal, quarterly since Jan 1977.
- Cryptologia; Rose-Hulman Institute of Technology; Terre Haute
- Indiana 47803 [general: systems, analysis, history, ...]
-
- Thanks to
-
- cme@ellisun.sw.stratus.com (Carl Ellison)
- Gwyn@BRL.MIL (Doug Gwyn)
- smb@ulysses.att.com (Steven Bellovin)
-
- for saving me the trouble of looking up the details on these books and
- publications.
-
-
- --
- Larry W. Loen | My Opinions are decidedly my own, so please
- | do not attribute them to my employer
-