home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / cryptography-faq / rsa.part2 < prev    next >
Encoding:
Text File  |  1995-07-25  |  58.2 KB  |  1,137 lines

  1. Subject: RSA Cryptography Today FAQ (2/3)
  2. Newsgroups: sci.crypt,talk.politics.crypto,alt.security.ripem,sci.answers,talk.answers,alt.answers,news.answers
  3. From: faq-editor@rsa.com
  4. Date: 13 Nov 1994 03:48:35 GMT
  5.  
  6. Archive-name: cryptography-faq/rsa/part2
  7. Last-modified: 93/09/20
  8. Version: 2.0
  9. Distribution-agent: tmp@netcom.com
  10.  
  11.  
  12. (This document has been brought to you in part by CRAM.  See the
  13. bottom for more information, including instructions on how to
  14. obtain updates.)
  15.  
  16. ===
  17.  
  18.  
  19.                           Answers To
  20.                  FREQUENTLY ASKED QUESTIONS
  21.                  About Today's Cryptography
  22.  
  23.  
  24.  
  25.                           Paul Fahn
  26.                       RSA Laboratories
  27.                      100 Marine Parkway
  28.                    Redwood City, CA  94065
  29.  
  30.  
  31.  
  32.    Copyright (c) 1993 RSA Laboratories, a division of RSA Data Security,
  33.       Inc. All rights reserved.
  34.  
  35.    Version 2.0, draft 2f
  36.    Last update: September 20, 1993
  37.  
  38.  
  39.  
  40. ------------------------------------------------------------------------
  41.                          Table of Contents
  42.  
  43. [ part 2 ]
  44.  
  45. 3 Key Management 
  46.        3.1  What key management issues are involved in public-key 
  47.             cryptography? 
  48.        3.2  Who needs a key? 
  49.        3.3  How does one get a key pair? 
  50.        3.4  Should a public key or private key be shared among users? 
  51.        3.5  What are certificates? 
  52.        3.6  How are certificates used? 
  53.        3.7  Who issues certificates and how? 
  54.        3.8  What is a CSU, or, How do certifying authorities store their 
  55.             private keys? 
  56.        3.9  Are certifying authorities susceptible to attack? 
  57.        3.10  What if the certifying authority's key is lost or compromised? 
  58.        3.11  What are Certificate Revocation Lists (CRLs)? 
  59.        3.12  What happens when a key expires? 
  60.        3.13  What happens if I lose my private key? 
  61.        3.14  What happens if my private key is compromised? 
  62.        3.15  How should I store my private key? 
  63.        3.16  How do I find someone else's public key? 
  64.        3.17  How can signatures remain valid beyond the expiration dates of 
  65.              their keys, or, How do you verify a 20-year-old signature? 
  66.        3.18  What is a digital time-stamping service? 
  67.  
  68. 4 Factoring and Discrete Log 
  69.        4.1  What is a one-way function? 
  70.        4.2  What is the significance of one-way functions for cryptography? 
  71.        4.3  What is the factoring problem? 
  72.        4.4  What is the significance of factoring in cryptography? 
  73.        4.5  Has factoring been getting easier? 
  74.        4.6  What are the best factoring methods in use today? 
  75.        4.7  What are the prospects for theoretical factoring breakthroughs? 
  76.        4.8  What is the RSA Factoring Challenge? 
  77.        4.9  What is the discrete log problem? 
  78.        4.10  Which is easier, factoring or discrete log? 
  79.  
  80. 5 DES 
  81.        5.1  What is DES? 
  82.        5.2  Has DES been broken? 
  83.        5.3  How does one use DES securely? 
  84.        5.4  Can DES be exported from the U.S.? 
  85.        5.5  What are the alternatives to DES? 
  86.        5.6  Is DES a group? 
  87.  
  88.  
  89. --------------------------------------------------------------------
  90.  
  91.  
  92.  
  93. 3 Key Management
  94.  
  95. 3.1 What key management issues are involved in public-key cryptography?
  96.  
  97. Secure methods of key management are extremely important. In practice,
  98. most attacks on public-key systems will probably be aimed at the key 
  99. management levels, rather than at the cryptographic algorithm itself. 
  100. The key management issues mentioned here are discussed in detail in 
  101. later questions.
  102.  
  103. Users must be able to obtain securely a key pair suited to their efficiency 
  104. and security needs. There must be a way to look up other people's public 
  105. keys and to publicize one's own key. Users must have confidence in the 
  106. legitimacy of others' public keys; otherwise an intruder can either change 
  107. public keys listed in a directory, or impersonate another user. Certificates 
  108. are used for this purpose. Certificates must be unforgeable, obtainable in a 
  109. secure manner, and processed in such a way that an intruder cannot misuse 
  110. them. The issuance of certificates must proceed in a secure way, impervious 
  111. to attack. If someone's private key is lost or compromised, others must be 
  112. made aware of this, so that they will no longer encrypt messages under the 
  113. invalid public key nor accept messages signed with the invalid private key. 
  114. Users must be able to store their private keys securely, so that no intruder 
  115. can find it, yet the keys must be readily accessible for legitimate use. Keys 
  116. need to be valid only until a specified expiration date. The expiration date 
  117. must be chosen properly and publicized securely. Some documents need to have 
  118. verifiable signatures beyond the time when the key used to sign them has 
  119. expired.
  120.  
  121. Although most of these key management issues arise in any public-key 
  122. cryptosystem, for convenience they are discussed here in the context of RSA.
  123.  
  124.  
  125. 3.2 Who needs a key?
  126.  
  127. Anyone who wishes to sign messages or to receive encrypted messages must
  128. have a key pair. People may have more than one key. For example, someone
  129. might have a key affiliated with his or her work and a separate key for
  130. personal use. Other entities will also have keys, including electronic 
  131. entities such as modems, workstations, and printers, as well as 
  132. organizational entities such as a corporate department, a hotel 
  133. registration desk, or a university registrar's office. 
  134.  
  135.  
  136. 3.3 How does one get a key pair? 
  137.  
  138. Each user should generate his or her own key pair. It may be tempting within 
  139. an organization to have a single site that generates keys for all members who 
  140. request one, but this is a security risk because it involves the transmission 
  141. of private keys over a network as well as catastrophic consequences if an 
  142. attacker infiltrates the key-generation site. Each node on a network should be
  143. capable of local key generation, so that private keys are never transmitted 
  144. and no external key source need be trusted. Of course, the local key generation
  145. software must itself be trustworthy. Secret-key authentication systems, such 
  146. as Kerberos, often do not allow local key generation but instead use a 
  147. central server to generate keys.
  148.  
  149. Once generated, a user must register his or her public key with some
  150. central administration, called a certifying authority. The certifying 
  151. authority returns to the user a certificate attesting to the veracity of 
  152. the user's public key along with other information (see Questions 3.5 
  153. and following). Most users should not obtain more than one certificate for
  154. the same key, in order to simplify various bookkeeping tasks associated
  155. with the key.
  156.  
  157.  
  158. 3.4 Should a public key or private key be shared among users?
  159.  
  160. In RSA, each person should have a unique modulus and private exponent, i.e., 
  161. a unique private key. The public exponent, on the other hand, can be common 
  162. to a group of users without security being compromised. Some public exponents 
  163. in common use today are 3 and 2^{16}+1; because these numbers are small, 
  164. the public-key operations (encryption and signature verification) are fast 
  165. relative to the private key operations (decryption and signing). If one 
  166. public exponent becomes a standard, software and hardware can be optimized 
  167. for that value.
  168.  
  169. In public-key systems based on discrete logarithms, such as ElGamal,
  170. Diffie-Hellman, or DSS, it has often been suggested that a group of 
  171. people should share a modulus. This would make breaking a key more
  172. attractive to an attacker, however, because one could break every
  173. key with only slightly more effort than it would take to break a
  174. single key. To an attacker, therefore, the average cost to break a 
  175. key is much lower with a common modulus than if every key has a distinct 
  176. modulus. Thus one should be very cautious about using a common modulus; 
  177. if a common modulus is chosen, it should be very large. 
  178.  
  179.  
  180. 3.5 What are certificates?
  181.  
  182. Certificates are digital documents attesting to the binding of a public key 
  183. to an individual or other entity. They allow verification of the claim that 
  184. a given public key does in fact belong to a given individual. Certificates 
  185. help prevent someone from using a phony key to impersonate someone else.
  186.  
  187. In their simplest form, certificates contain a public key and a name. As
  188. commonly used, they also contain the expiration date of the key, the name 
  189. of the certifying authority that issued the certificate, the serial number 
  190. of the certificate, and perhaps other information. Most importantly, it 
  191. contains the digital signature of the certificate issuer. The most widely 
  192. accepted format for certificates is defined by the CCITT X.509 international 
  193. standard [19]; thus certificates can be read or written by any application 
  194. complying with X.509. Further refinements are found in the PKCS set of 
  195. standards (see Question 8.9), and the PEM standard (see Question 8.7). A 
  196. detailed discussion of certificate format can also be found in Kent [40].
  197.  
  198. A certificate is issued by a certifying authority (see Question 3.7) 
  199. and signed with the certifying authority's private key.
  200.  
  201.  
  202. 3.6 How are certificates used?
  203.  
  204. A certificate is displayed in order to generate confidence in the 
  205. legitimacy of a public key. Someone verifying a signature can also 
  206. verify the signer's certificate, to insure that no forgery or false 
  207. representation has occurred. These steps can be performed with greater 
  208. or lesser rigor depending on the context. 
  209.  
  210. The most secure use of authentication involves enclosing one or more 
  211. certificates with every signed message. The receiver of the message
  212. would verify the certificate using the certifying authority's public
  213. key and, now confident of the public key of the sender, verify the message's 
  214. signature. There may be two or more certificates enclosed with the message, 
  215. forming a hierarchical chain, wherein one certificate testifies to the 
  216. authenticity of the previous certificate. At the end of a certificate 
  217. hierarchy is a top-level certifying authority, which is trusted without a 
  218. certificate from any other certifying authority. The public key of the 
  219. top-level certifying authority must be independently known, for example by 
  220. being widely published.
  221.  
  222. The more familiar the sender is to the receiver of the message, the less 
  223. need there is to enclose, and to verify, certificates. If Alice sends 
  224. messages to Bob every day, Alice can enclose a certificate chain on the 
  225. first day, which Bob verifies. Bob thereafter stores Alice's public key 
  226. and no more certificates or certificate verifications are necessary. A sender 
  227. whose company is known to the receiver may need to enclose only one 
  228. certificate (issued by the company), whereas a sender whose company is 
  229. unknown to the receiver may need to enclose two certificates. A good rule of 
  230. thumb is to enclose just enough of a certificate chain so that the issuer of 
  231. the highest level certificate in the chain is well-known to the receiver.
  232.  
  233. According to the PKCS standards for public-key cryptography (see Question
  234. 8.9), every signature points to a certificate that validates the public 
  235. key of the signer. Specifically, each signature contains the name of the 
  236. issuer of the certificate and the serial number of the certificate. Thus 
  237. even if no certificates are enclosed with a message, a verifier can still 
  238. use the certificate chain to check the status of the public key.
  239.  
  240.  
  241. 3.7 Who issues certificates and how?
  242.  
  243. Certificates are issued by a certifying authority (CA), which can be any 
  244. trusted central administration willing to vouch for the identities of those 
  245. to whom it issues certificates. A company may issue certificates to its 
  246. employees, a university to its students, a town to its citizens. In 
  247. order to prevent forged certificates, the CA's public key must be trustworthy: 
  248. a CA must either publicize its public key or provide a certificate from a 
  249. higher-level CA attesting to the validity of its public key. The latter
  250. solution gives rise to hierarchies of CAs.
  251.  
  252. Certificate issuance proceeds as follows. Alice generates her own key 
  253. pair and sends the public key to an appropriate CA with some proof of her 
  254. identification. The CA checks the identification and takes any other steps
  255. necessary to assure itself that the request really did come from Alice, and 
  256. then sends her a certificate attesting to the binding between Alice and her 
  257. public key, along with a hierarchy of certificates verifying the CA's public 
  258. key. Alice can present this certificate chain whenever desired in order to 
  259. demonstrate the legitimacy of her public key. 
  260.  
  261. Since the CA must check for proper identification, organizations will find 
  262. it convenient to act as a CA for its own members and employees. There will 
  263. also be CAs that issue certificates to unaffiliated individuals.
  264.  
  265. Different CAs may issue certificates with varying levels of identification 
  266. requirements. One CA may insist on seeing a driver's license, another may 
  267. want the certificate request form to be notarized, yet another may want 
  268. fingerprints of anyone requesting a certificate. Each CA should publish 
  269. its own identification requirements and standards, so that verifiers 
  270. can attach the appropriate level of confidence in the certified name-key 
  271. bindings.
  272.  
  273. An example of a certificate-issuing protocol is Apple Computer's Open 
  274. Collaborative Environment (OCE). Apple OCE users can generate a key 
  275. pair and then request and receive a certificate for the public key; the
  276. certificate request must be notarized.
  277.  
  278.  
  279. 3.8 What is a CSU, or, How do certifying authorities store their private keys?
  280.  
  281. It is extremely important that private keys of certifying authorities are 
  282. stored securely, because compromise would enable undetectable forgeries. 
  283. One way to achieve the desired security is to store the key in a tamperproof
  284. box; such a box is called a Certificate Signing Unit, or CSU. The CSU would, 
  285. preferably, destroy its contents if ever opened, and be shielded against 
  286. attacks using electromagnetic radiation. Not even employees of the certifying 
  287. authority should have access to the private key itself, but only the ability 
  288. to use the private key in the process of issuing certificates. 
  289.  
  290. There are many possible designs for CSUs; here is a description of one design
  291. found in some current implementations. The CSU is activated by a set of data 
  292. keys, which are physical keys capable of storing digital information. The 
  293. data keys use secret-sharing technology such that several people must all 
  294. use their data keys to activate the CSU. This prevents one disgruntled CA 
  295. employee from producing phony certificates. 
  296.  
  297. Note that if the CSU is destroyed, say in a fire, no security is compromised.
  298. Certificates signed by the CSU are still valid, as long as the verifier uses 
  299. the correct public key. Some CSUs will be manufactured so that a lost private 
  300. key can be restored into a new CSU. See Question 3.10 for discussion of 
  301. lost CA private keys.
  302.  
  303. Bolt, Beranek, and Newman (BBN) currently sells a CSU, and RSA Data Security
  304. sells a full-fledged certificate issuing system built around the BBN CSU.
  305.  
  306.  
  307. 3.9 Are certifying authorities susceptible to attack?
  308.  
  309. One can think of many attacks aimed at the certifying authority, which must
  310. be prepared against them.
  311.  
  312. Consider the following attack. Suppose Bob wishes to impersonate Alice. 
  313. If Bob can convincingly sign messages as Alice, he can send a message to 
  314. Alice's bank saying ``I wish to withdraw $10,000 from my account. Please 
  315. send me the money.'' To carry out this attack, Bob generates a key pair and 
  316. sends the public key to a certifying authority saying ``I'm Alice. Here is 
  317. my public key. Please send me a certificate.'' If the CA is fooled and sends 
  318. him such a certificate, he can then fool the bank, and his attack will 
  319. succeed. In order to prevent such an attack the CA must verify that a 
  320. certificate request did indeed come from its purported author, i.e., it must 
  321. require sufficient evidence that it is actually Alice who is requesting the 
  322. certificate. The CA may, for example, require Alice to appear in person and 
  323. show a birth certificate. Some CAs may require very little identification, 
  324. but the bank should not honor messages authenticated with such low-assurance 
  325. certificates. Every CA must publicly state its identification requirements 
  326. and policies; others can then attach an appropriate level of confidence to 
  327. the certificates.
  328.  
  329. An attacker who discovers the private key of a certifying authority could 
  330. then forge certificates. For this reason, a certifying authority must take 
  331. extreme precautions to prevent illegitimate access to its private key. The 
  332. private key should be kept in a high-security box, known as a Certificate 
  333. Signing Unit, or CSU (see Question 3.8).
  334.  
  335. The certifying authority's public key might be the target of an extensive 
  336. factoring attack. For this reason, CAs should use very long keys, preferably 
  337. 1000 bits or longer, and should also change keys regularly. Top-level 
  338. certifying authorities are exceptions: it may not be practical for them to 
  339. change keys frequently because the key may be written into software used 
  340. by a large number of verifiers.
  341.  
  342. In another attack, Alice bribes Bob, who works for the certifying authority, 
  343. to issue to her a certificate in the name of Fred. Now Alice can send 
  344. messages signed in Fred's name and anyone receiving such a message will 
  345. believe it authentic because a full and verifiable certificate chain will 
  346. accompany the message. This attack can be hindered by requiring the 
  347. cooperation of two (or more) employees to generate a certificate; the 
  348. attacker now has to bribe two employees rather than one. For example, in 
  349. some of today's CSUs, three employees must each insert a data key containing 
  350. secret information in order to authorize the CSU to generate certificates. 
  351. Unfortunately, there may be other ways to generate a forged certificate by 
  352. bribing only one employee. If each certificate request is checked by only 
  353. one employee, that one employee can be bribed and slip a false request into 
  354. a stack of real certificate requests. Note that a corrupt employee cannot 
  355. reveal the certifying authority's private key, as long as it is properly 
  356. stored.
  357.  
  358. Another attack involves forging old documents. Alice tries to factor the 
  359. modulus of the certifying authority. It takes her 15 years, but she finally 
  360. succeeds, and she now has the old private key of the certifying authority. 
  361. The key has long since expired, but she can forge a certificate dated 15 
  362. years ago attesting to a phony public key of some other person, say Bob; she 
  363. can now forge a document with a signature of Bob dated 15 year ago, perhaps
  364. a will leaving everything to Alice. The underlying issue raised by this 
  365. attack is how to authenticate a signed document dated many years ago; this 
  366. issue is discussed in Question 3.17.
  367.  
  368. Note that these attacks on certifying authorities do not threaten the 
  369. privacy of messages between users, as might result from an attack on a 
  370. secret-key distribution center.
  371.  
  372.  
  373. 3.10 What if the certifying authority's key is lost or compromised? 
  374.  
  375. If the certifying authority's key is lost or destroyed but not compromised, 
  376. certificates signed with the old key are still valid, as long as the verifier
  377. knows to use the old public key to verify the certificate. 
  378.  
  379. In some CSU designs, encrypted backup copies of the CA's private key are
  380. kept. A CA which loses its key can then restore it by loading the encrypted 
  381. backup into the CSU, which can decrypt it using some unique information 
  382. stored inside the CSU; the encrypted backup can only be decrypted using the 
  383. CSU. If the CSU itself is destroyed, the manufacturer may be able to supply 
  384. another with the same internal information, thus allowing recovery of the key. 
  385.  
  386. A compromised CA key is a much more dangerous situation. An attacker who 
  387. discovers a certifying authority's private key can issue phony certificates 
  388. in the name of the certifying authority, which would enable undetectable 
  389. forgeries; for this reason, all precautions must be taken to prevent 
  390. compromise, including those outlined in Questions 3.8 and 3.9. If a 
  391. compromise does occur, the CA must immediately cease issuing certificates
  392. under its old key and change to a new key. If it is suspected that some phony 
  393. certificates were issued, all certificates should be recalled, and then 
  394. reissued with a new CA key. These measures could be relaxed somewhat if 
  395. certificates were registered with a digital time-stamping service (see 
  396. Question 3.18). Note that compromise of a CA key does not invalidate users'
  397. keys, but only the certificates that authenticate them. Compromise of a 
  398. top-level CA's key should be considered catastrophic, since the key may 
  399. be built into applications that verify certificates.
  400.  
  401.  
  402. 3.11 What are Certificate Revocation Lists (CRLs)?
  403.  
  404. A Certificate Revocation List (CRL) is a list of public keys that have been 
  405. revoked before their scheduled expiration date. There are several reasons why 
  406. a key might need to be revoked and placed on a CRL. A key might have been 
  407. compromised. A key might be used professionally by an individual for 
  408. a company; for example, the official name associated with a key might be 
  409. ``Alice Avery, Vice President, Argo Corp.'' If Alice were fired, her company 
  410. would not want her to be able to sign messages with that key and therefore 
  411. the company would place the key on the CRL. 
  412.  
  413. When verifying a signature, one can check the relevant CRL to make sure
  414. the signer's key has not been revoked. Whether it is worth the time to 
  415. perform this check depends on the importance of the signed document. 
  416.  
  417. CRLs are maintained by certifying authorities (CAs) and provide information 
  418. about revoked keys originally certified by the CA. CRLs only list current 
  419. keys, since expired keys should not be accepted in any case; when a revoked 
  420. key is past its original expiration date it is removed from the CRL. Although 
  421. CRLs are maintained in a distributed manner, there may be central 
  422. repositories for CRLs, that is, sites on networks containing the latest CRLs 
  423. from many organizations. An institution like a bank might want an in-house 
  424. CRL repository to make CRL searches feasible on every transaction.
  425.  
  426.  
  427. 3.12 What happens when a key expires?
  428.  
  429. In order to guard against a long-term factoring attack, every key must 
  430. have an expiration date after which it is no longer valid. The time to 
  431. expiration must therefore be much shorter than the expected factoring time, 
  432. or equivalently, the key length must be long enough to make the chances of 
  433. factoring before expiration extremely small. The validity period for a key 
  434. pair may also depend on the circumstances in which the key will be used, 
  435. although there will also be a standard period. The validity period, together
  436. with the value of the key and the estimated strength of an expected attacker, 
  437. then determines the appropriate key size.
  438.  
  439. The expiration date of a key accompanies the public key in a certificate
  440. or a directory listing. The signature verification program should check 
  441. for expiration and should not accept a message signed with an expired key. 
  442. This means that when one's own key expires, everything signed with it will
  443. no longer be considered valid. Of course, there will be cases where it is 
  444. important that a signed document be considered valid for a much longer period 
  445. of time; Question 3.17 discusses ways to achieve this.
  446.  
  447. After expiration, the user chooses a new key, which should be longer than 
  448. the old key, perhaps by several digits, to reflect both the performance 
  449. increase of computer hardware and any recent improvements in factoring 
  450. algorithms. Recommended key length schedules will likely be published. A user 
  451. may recertify a key that has expired, if it is sufficiently long and has not 
  452. been compromised. The certifying authority would then issue a new certificate 
  453. for the same key, and all new signatures would point to the new certificate 
  454. instead of the old. However, the fact that computer hardware continues to 
  455. improve argues for replacing expired keys with new, longer keys every few 
  456. years. Key replacement enables one to take advantage of the hardware 
  457. improvements to increase the security of the cryptosystem. Faster hardware 
  458. has the effect of increasing security, perhaps vastly, but only if key 
  459. lengths are increased regularly (see Question 4.5).
  460.  
  461.  
  462. 3.13 What happens if I lose my private key?
  463.  
  464. If your private key is lost or destroyed, but not compromised, you can no 
  465. longer sign or decrypt messages, but anything previously signed with the 
  466. lost key is still valid. This can happen, for example, if you forget the 
  467. password used to access your key, or if the disk on which the key is stored 
  468. is damaged. You need to choose a new key right away, to minimize the number 
  469. of messages people send you encrypted under your old key, messages which you 
  470. can no longer read. 
  471.  
  472.  
  473. 3.14 What happens if my private key is compromised?
  474.  
  475. If your private key is compromised, that is, if you suspect an attacker may 
  476. have obtained your private key, then you must assume that some enemy can
  477. read encrypted messages sent to you and forge your name on documents. The 
  478. seriousness of these consequences underscores the importance of protecting 
  479. your private key with extremely strong mechanisms (see Question 3.15).
  480.  
  481. You must immediately notify your certifying authority and have your old key 
  482. placed on a Certificate Revocation List (see Question 3.11); this will 
  483. inform people that the key has been revoked. Then choose a new key and obtain
  484. the proper certificates for it. You may wish to use the new key to re-sign 
  485. documents that you had signed with the compromised key; documents that had 
  486. been time-stamped as well as signed might still be valid. You should also 
  487. change the way you store your private key, to prevent compromise of the new 
  488. key.
  489.  
  490.  
  491. 3.15 How should I store my private key?
  492.  
  493. Private keys must be stored securely, since forgery and loss of privacy 
  494. could result from compromise. The private key should never be stored 
  495. anywhere in plaintext form. The simplest storage mechanism is to encrypt 
  496. the private key under a password and store the result on a disk. Of course, 
  497. the password itself must be maintained with high security, not written down 
  498. and not easily guessed. Storing the encrypted key on a disk that is not 
  499. accessible through a computer network, such as a floppy disk or a local 
  500. hard disk, will make some attacks more difficult. Ultimately, private keys 
  501. may be stored on portable hardware, such as a smart card. Furthermore, a 
  502. challenge-response protocol will be more secure than simple password access. 
  503. Users with extremely high security needs, such as certifying authorities, 
  504. should use special hardware devices to protect their keys (see Question 
  505. 3.8).
  506.  
  507.  
  508. 3.16 How do I find someone else's public key?
  509.  
  510. Suppose you want to find Bob's public key. There are several possible ways.
  511. You could call him up and ask him to send you his public key via e-mail; you 
  512. could request it via e-mail as well. Certifying authorities may provide
  513. directory services; if Bob works for company Z, look in the directory kept 
  514. by Z's certifying authority. Directories must be secure against unauthorized 
  515. tampering, so that users can be confident that a public key listed in the 
  516. directory actually belongs to the person listed. Otherwise, you might send 
  517. private encrypted information to the wrong person.
  518.  
  519. Eventually, full-fledged directories will arise, serving as online white or 
  520. yellow pages. If they are compliant with CCITT X.509 standards [19], the 
  521. directories will contain certificates as well as public keys; the presence 
  522. of certificates will lower the directories' security needs.
  523.  
  524.  
  525. 3.17 How can signatures remain valid beyond the expiration dates of their
  526.     keys, or, How do you verify a 20-year-old signature?
  527.  
  528. Normally, a key expires after, say, two years and a document signed with an 
  529. expired key should not be accepted. However, there are many cases where 
  530. it is necessary for signed documents to be regarded as legally valid 
  531. for much longer than two years; long-term leases and contracts are examples. 
  532. How should these cases be handled? Many solutions have been suggested but 
  533. it is unclear which will prove the best. Here are some possibilities.
  534.  
  535. One can have special long-term keys as well as the normal two-year keys. 
  536. Long-term keys should have much longer modulus lengths and be stored 
  537. more securely than two-year keys. If a long-term key expires in 50 
  538. years, any document signed with it would remain valid within that time. 
  539. A problem with this method is that any compromised key must remain on the 
  540. relevant CRL until expiration (see Question 3.11); if 50-year keys are 
  541. routinely placed on CRLs, the CRLs could grow in size to unmanageable 
  542. proportions. This idea can be modified as follows. Register the long-term 
  543. key by the normal procedure, i.e., for two years. At expiration time, if 
  544. it has not been compromised, the key can be recertified, that is, issued 
  545. a new certificate by the certifying authority, so that the key will be 
  546. valid for another two years. Now a compromised key only needs to be kept 
  547. on a CRL for at most two years, not fifty. 
  548.  
  549. One problem with the previous method is that someone might try to 
  550. invalidate a long-term contract by refusing to renew his key. This 
  551. problem can be circumvented by registering the contract with a digital 
  552. time-stamping service (see Question 3.18) at the time it is originally 
  553. signed. If all parties to the contract keep a copy of the time-stamp, 
  554. then each can prove that the contract was signed with valid keys. In 
  555. fact, the time-stamp can prove the validity of a contract even if one 
  556. signer's key gets compromised at some point after the contract was 
  557. signed. This time-stamping solution can work with all signed digital 
  558. documents, not just multi-party contracts.
  559.  
  560.  
  561. 3.18 What is a digital time-stamping service?
  562.  
  563. A digital time-stamping service (DTS) issues time-stamps which associate 
  564. a date and time with a digital document in a cryptographically strong way. 
  565. The digital time-stamp can be used at a later date to prove that an 
  566. electronic document existed at the time stated on its time-stamp. For 
  567. example, a physicist who has a brilliant idea can write about it with
  568. a word processor and have the document time-stamped. The time-stamp and
  569. document together can later prove that the scientist deserves the Nobel 
  570. Prize, even though an arch rival may have been the first to publish.
  571.  
  572. Here's one way such a system could work. Suppose Alice signs a document 
  573. and wants it time-stamped. She computes a message digest of the document 
  574. using a secure hash function (see Question 8.2) and then sends the 
  575. message digest (but not the document itself) to the DTS, which sends her in 
  576. return a digital time-stamp consisting of the message digest, the date and 
  577. time it was received at the DTS, and the signature of the DTS. Since the 
  578. message digest does not reveal any information about the content of the 
  579. document, the DTS cannot eavesdrop on the documents it time-stamps. Later, 
  580. Alice can present the document and time-stamp together to prove when the
  581. document was written. A verifier computes the message digest of the document, 
  582. makes sure it matches the digest in the time-stamp, and then verifies the 
  583. signature of the DTS on the time-stamp.
  584.  
  585. To be reliable, the time-stamps must not be forgeable. Consider the
  586. requirements for a DTS of the type just described. First, the DTS itself 
  587. must have a long key if we want the time-stamps to be reliable for, say,
  588. several decades. Second, the private key of the DTS must be stored with 
  589. utmost security, as in a tamperproof box. Third, the date and time must 
  590. come from a clock, also inside the tamperproof box, which cannot be reset 
  591. and which will keep accurate time for years or perhaps for decades. Fourth, 
  592. it must be infeasible to create time-stamps without using the apparatus 
  593. in the tamperproof box.
  594.  
  595. A cryptographically strong DTS using only software [4] has been 
  596. implemented by Bellcore; it avoids many of the requirements just 
  597. described, such as tamperproof hardware. The Bellcore DTS essentially 
  598. combines hash values of documents into data structures called binary 
  599. trees, whose ``root'' values are periodically published in the newspaper. 
  600. A time-stamp consists of a set of hash values which allow a verifier 
  601. to recompute the root of the tree. Since the hash functions are one-way 
  602. (see Question 8.2), the set of validating hash values cannot be forged.
  603. The time associated with the document by the time-stamp is the date of 
  604. publication.
  605.  
  606. The use of a DTS would appear to be extremely important, if not essential, 
  607. for maintaining the validity of documents over many years (see Question 
  608. 3.17). Suppose a landlord and tenant sign a twenty-year lease. The public 
  609. keys used to sign the lease will expire after, say, two years; solutions 
  610. such as recertifying the keys or resigning every two years with new keys 
  611. require the cooperation of both parties several years after the original 
  612. signing. If one party becomes dissatisfied with the lease, he or she may 
  613. refuse to cooperate. The solution is to register the lease with the DTS 
  614. at the time of the original signing; both parties would then receive a 
  615. copy of the time-stamp, which can be used years later to enforce the 
  616. integrity of the original lease.
  617.  
  618. In the future, it is likely that a DTS will be used for everything
  619. from long-term corporate contracts to personal diaries and letters.
  620. Today, if an historian discovers some lost letters of Mark Twain, their
  621. authenticity is checked by physical means. But a similar find 100 years
  622. from now may consist of an author's computer files; digital time-stamps 
  623. may be the only way to authenticate the find.
  624.  
  625. 4 Factoring and Discrete Log
  626.  
  627. 4.1 What is a one-way function?
  628.  
  629. A one-way function is a mathematical function that is significantly
  630. easier to perform in one direction (the forward direction) than in the 
  631. opposite direction (the inverse direction). One might, for example, 
  632. compute the function in minutes but only be able to compute the inverse 
  633. in months or years. A trap-door one-way function is a one-way function
  634. where the inverse direction is easy if you know a certain piece of
  635. information (the trap door), but difficult otherwise.
  636.  
  637.  
  638. 4.2 What is the significance of one-way functions for cryptography?
  639.  
  640. Public-key cryptosystems are based on (presumed) trap-door one-way 
  641. functions. The public key gives information about the particular instance 
  642. of the function; the private key gives information about the trap door. 
  643. Whoever knows the trap door can perform the function easily in both
  644. directions, but anyone lacking the trap door can perform the function only 
  645. in the forward direction. The forward direction is used for encryption and 
  646. signature verification; the inverse direction is used for decryption and 
  647. signature generation.
  648.  
  649. In almost all public-key systems, the size of the key corresponds to the 
  650. size of the inputs to the one-way function; the larger the key, the greater
  651. the difference between the efforts necessary to compute the function in the 
  652. forward and inverse directions (for someone lacking the trap door). For a 
  653. digital signature to be secure for years, for example, it is necessary to 
  654. use a trap-door one-way function with inputs large enough that someone 
  655. without the trap door would need many years to compute the inverse function.
  656.  
  657. All practical public-key cryptosystems are based on functions that are 
  658. believed to be one-way, but have not been proven to be so. This means that 
  659. it is theoretically possible that an algorithm will be discovered that can 
  660. compute the inverse function easily without a trap door; this development 
  661. would render any cryptosystem based on that one-way function insecure and 
  662. useless. 
  663.  
  664.  
  665. 4.3 What is the factoring problem?
  666.  
  667. Factoring is the act of splitting an integer into a set of smaller integers
  668. (factors) which, when multiplied together, form the original integer. 
  669. For example, the factors of 15 are 3 and 5; the factoring problem is 
  670. to find 3 and 5 when given 15. Prime factorization requires splitting an 
  671. integer into factors that are prime numbers; every integer has a unique 
  672. prime factorization. Multiplying two prime integers together is easy, but 
  673. as far as we know, factoring the product is much more difficult. 
  674.  
  675. 4.4 What is the significance of factoring in cryptography?
  676.  
  677. Factoring is the underlying, presumably hard problem upon which several 
  678. public-key cryptosystems are based, including RSA. Factoring an RSA
  679. modulus (see Question 2.1) would allow an attacker to figure out 
  680. the private key; thus, anyone who can factor the modulus can decrypt 
  681. messages and forge signatures. The security of RSA therefore depends on 
  682. the factoring problem being difficult. Unfortunately, it has not been 
  683. proven that factoring must be difficult, and there remains a possibility 
  684. that a quick and easy factoring method might be discovered (see Question 
  685. 4.7), although factoring researchers consider this possibility remote.
  686.  
  687. Factoring large numbers takes more time than factoring smaller numbers.
  688. This is why the size of the modulus in RSA determines how secure an 
  689. actual use of RSA is; the larger the modulus, the longer it would take
  690. an attacker to factor, and thus the more resistant to attack the RSA
  691. implementation is.
  692.  
  693.  
  694. 4.5 Has factoring been getting easier?
  695.  
  696. Factoring has become easier over the last fifteen years for two reasons:
  697. computer hardware has become more powerful, and better factoring algorithms 
  698. have been developed. 
  699.  
  700. Hardware improvement will continue inexorably, but it is important to 
  701. realize that hardware improvements make RSA more secure, not less.
  702. This is because a hardware improvement that allows an attacker to factor
  703. a number two digits longer than before will at the same time allow 
  704. a legitimate RSA user to use a key dozens of digits longer than before; 
  705. a user can choose a new key a dozen digits longer than the old one without
  706. any performance slowdown, yet a factoring attack will become much more
  707. difficult. Thus although the hardware improvement does help the attacker, 
  708. it helps the legitimate user much more. This general rule may fail in the 
  709. sense that factoring may take place using fast machines of the future, 
  710. attacking RSA keys of the past; in this scenario, only the attacker gets 
  711. the advantage of the hardware improvement. This consideration argues for 
  712. using a larger key size today than one might otherwise consider warranted. 
  713. It also argues for replacing one's RSA key with a longer key every few 
  714. years, in order to take advantage of the extra security offered by hardware 
  715. improvements. This point holds for other public-key systems as well.
  716.  
  717. Better factoring algorithms have been more help to the RSA attacker than have 
  718. hardware improvements. As the RSA system, and cryptography in general, have 
  719. attracted much attention, so has the factoring problem, and many researchers 
  720. have found new factoring methods or improved upon others. This has made 
  721. factoring easier, for numbers of any size and irrespective of the speed of 
  722. the hardware. However, factoring is still a very difficult problem.
  723.  
  724. Overall, any recent decrease in security due to algorithm improvement can 
  725. be offset by increasing the key size. In fact, between general computer 
  726. hardware improvements and special-purpose RSA hardware improvements, 
  727. increases in key size (maintaining a constant speed of RSA operations) have 
  728. kept pace or exceeded increases in algorithm efficiency, resulting in no net 
  729. loss of security. As long as hardware continues to improve at a faster rate 
  730. than that at which the complexity of factoring algorithms decreases, the 
  731. security of RSA will increase, assuming RSA users regularly increase their 
  732. key size by appropriate amounts. The open question is how much faster 
  733. factoring algorithms can get; there must be some intrinsic limit to 
  734. factoring speed, but this limit remains unknown.
  735.  
  736.  
  737. 4.6 What are the best factoring methods in use today?
  738.  
  739. Factoring is a very active field of research among mathematicians and
  740. computer scientists; the best factoring algorithms are mentioned below 
  741. with some references and their big-O asymptotic efficiency. O notation 
  742. measures how fast an algorithm is; it gives an upper bound on the number 
  743. of operations (to order of magnitude) in terms of n, the number to be 
  744. factored, and p, a prime factor of n. For textbook treatment of 
  745. factoring algorithms, see [41], [42], [47],
  746. and [11]; for a detailed explanation of 
  747. big-O notation, see [22].
  748.  
  749. Factoring algorithms come in two flavors, special purpose and general
  750. purpose; the efficiency of the former depends on the unknown factors, 
  751. whereas the efficiency of the latter depends on the number to be factored. 
  752. Special purpose algorithms are best for factoring numbers with small 
  753. factors, but the numbers used for the modulus in the RSA system do not 
  754. have any small factors. Therefore, general purpose factoring algorithms 
  755. are the more important ones in the context of cryptographic systems and 
  756. their security. 
  757.  
  758. Special purpose factoring algorithms include the Pollard rho method [66], 
  759. with expected running time O(sqrt(p)), and the Pollard p-1 method [67], 
  760. with running time O(p'), where p' is the largest prime factor of p-1. Both 
  761. of these take an amount of time that is exponential in the size of p, the 
  762. prime factor that they find; thus these algorithms are too slow for most 
  763. factoring jobs. The elliptic curve method (ECM) [50] is superior to these; 
  764. its asymptotic running time is O(exp (sqrt (2 ln p ln ln p)) ). The ECM is 
  765. often used in practice to find factors of randomly generated numbers; it is 
  766. not strong enough to factor a large RSA modulus.
  767.  
  768. The best general purpose factoring algorithm today is the number field 
  769. sieve [16], which runs in time approximately O(exp ( 1.9 (ln n)^{1/3} 
  770. (ln ln n)^{2/3}) ). It has only recently been implemented [15], and is 
  771. not yet practical enough to perform the most desired factorizations. 
  772. Instead, the most widely used general purpose algorithm is the multiple 
  773. polynomial quadratic sieve (mpqs) [77], which has running time 
  774. O(exp ( sqrt (ln n ln ln n)) ). The mpqs (and some of its variations) 
  775. is the only general purpose algorithm that has successfully factored 
  776. numbers greater than 110 digits; a variation known as ppmpqs [49]
  777. has been particularly popular.
  778.  
  779. It is expected that within a few years the number field sieve will overtake 
  780. the mpqs as the most widely used factoring algorithm, as the size of the 
  781. numbers being factored increases from about 120 digits, which is the current 
  782. threshold of general numbers which can be factored, to 130 or 140 digits. A 
  783. ``general number'' is one with no special form that might make it easier to 
  784. factor; an RSA modulus is a general number. Note that a 512-bit number has 
  785. about 155 digits. 
  786.  
  787. Numbers that have a special form can already be factored up to 155 digits 
  788. or more [48]. The Cunningham Project [14] keeps track of the factorizations 
  789. of numbers with these special forms and maintains a ``10 Most Wanted'' list 
  790. of desired factorizations. Also, a good way to survey current factoring 
  791. capability is to look at recent results of the RSA Factoring Challenge 
  792. (see Question 4.8).
  793.  
  794.  
  795. 4.7 What are the prospects for theoretical factoring breakthroughs?
  796.  
  797. Although factoring is strongly believed to be a difficult mathematical
  798. problem, it has not been proved so. Therefore there remains a possibility 
  799. that an easy factoring algorithm will be discovered. This development, which 
  800. could seriously weaken RSA, would be highly surprising and the possibility 
  801. is considered extremely remote by the researchers most actively engaged in 
  802. factoring research. 
  803.  
  804. Another possibility is that someone will prove that factoring is difficult.
  805. This negative breakthrough is probably more likely than the positive 
  806. breakthrough discussed above, but would also be unexpected at the current 
  807. state of theoretical factoring research. This development would guarantee 
  808. the security of RSA beyond a certain key size.
  809.  
  810.  
  811. 4.8 What is the RSA Factoring Challenge?
  812.  
  813. RSA Data Security Inc. (RSADSI) administers a factoring contest with 
  814. quarterly cash prizes. Those who factor numbers listed by RSADSI earn
  815. points toward the prizes; factoring smaller numbers earns more points than
  816. factoring larger numbers. Results of the contest may be useful to those who 
  817. wish to know the state of the art in factoring; the results show the size 
  818. of numbers factored, which algorithms are used, and how much time was 
  819. required to factor each number. Send e-mail to challenge-info@rsa.com 
  820. for information. 
  821.  
  822.  
  823. 4.9 What is the discrete log problem?
  824.  
  825. The discrete log problem, in its most common formulation, is to find
  826. the exponent x in the formula y=g^x mod p; in other words, it seeks to 
  827. answer the question, To what power must g be raised in order to obtain 
  828. y, modulo the prime number p? There are other, more general, formulations 
  829. as well.
  830.  
  831. Like the factoring problem, the discrete log problem is believed to be
  832. difficult and also to be the hard direction of a one-way function. For 
  833. this reason, it has been the basis of several public-key cryptosystems,
  834. including the ElGamal system and DSS (see Questions 2.15 and 6.8). The 
  835. discrete log problem bears the same relation to these systems as factoring 
  836. does to RSA: the security of these systems rests on the assumption that 
  837. discrete logs are difficult to compute.
  838.  
  839. The discrete log problem has received much attention in recent years; 
  840. descriptions of some of the most efficient algorithms can be found in 
  841. [47], [21], and [33]. The best discrete log problems have expected 
  842. running times similar to that of the best factoring algorithms. Rivest 
  843. [72] has analyzed the expected time to solve discrete log both in terms 
  844. of computing power and money.
  845.  
  846.  
  847. 4.10 Which is easier, factoring or discrete log?
  848.  
  849. The asymptotic running time of the best discrete log algorithm is
  850. approximately the same as for the best general purpose factoring
  851. algorithm. Therefore, it requires about as much effort to solve
  852. the discrete log problem modulo a 512-bit prime as to factor a 
  853. 512-bit RSA modulus.  One paper [45] cites experimental evidence 
  854. that the discrete log problem is slightly harder than factoring: 
  855. the authors suggest that the effort necessary to factor a 110-digit 
  856. integer is the same as the effort to solve discrete logarithms modulo 
  857. a 100-digit prime. This difference is so slight that it should not 
  858. be a significant consideration when choosing a cryptosystem.
  859.  
  860. Historically, it has been the case that an algorithmic advance in either 
  861. problem, factoring or discrete logs, was then applied to the other. This 
  862. suggests that the degrees of difficulty of both problems are closely 
  863. linked, and that any breakthrough, either positive or negative, will affect 
  864. both problems equally.
  865.  
  866.  
  867. 5 DES
  868.  
  869. 5.1 What is DES?
  870.  
  871. DES is the Data Encryption Standard, an encryption block cipher defined 
  872. and endorsed by the U.S. government in 1977 as an official standard;
  873. the details can be found in the official FIPS publication [59]. It was 
  874. originally developed at IBM. DES has been extensively studied over the 
  875. last 15 years and is the most well-known and widely used cryptosystem 
  876. in the world. 
  877.  
  878. DES is a secret-key, symmetric cryptosystem: when used for communication,
  879. both sender and receiver must know the same secret key, which is used both
  880. to encrypt and decrypt the message. DES can also be used for single-user
  881. encryption, such as to store files on a hard disk in encrypted form. In
  882. a multi-user environment, secure key distribution may be difficult; 
  883. public-key cryptography was invented to solve this problem (see Question 
  884. 1.3). DES operates on 64-bit blocks with a 56-bit key. It was designed to 
  885. be implemented in hardware, and its operation is relatively fast. It works
  886. well for bulk encryption, that is, for encrypting a large set of data. 
  887.  
  888. NIST (see Question 7.1) has recertified DES as an official U.S. government 
  889. encryption standard every five years; DES was last recertified in 1993, 
  890. by default. NIST has indicated, however, that it may not recertify DES 
  891. again.
  892.  
  893.  
  894. 5.2 Has DES been broken?
  895.  
  896. DES has never been ``broken'', despite the efforts of many researchers 
  897. over many years. The obvious method of attack is brute-force exhaustive 
  898. search of the key space; this takes 2^{55} steps on average. Early on 
  899. it was suggested [28] that a rich and powerful enemy could build a 
  900. special-purpose computer capable of breaking DES by exhaustive search 
  901. in a reasonable amount of time. Later, Hellman [36] showed a time-memory 
  902. trade-off that allows improvement over exhaustive search if memory space 
  903. is plentiful, after an exhaustive precomputation. These ideas fostered 
  904. doubts about the security of DES. There were also accusations that the 
  905. NSA had intentionally weakened DES. Despite these suspicions, no feasible 
  906. way to break DES faster than exhaustive search was discovered. The cost 
  907. of a specialized computer to perform exhaustive search has been estimated 
  908. by Wiener at one million dollars [80]. 
  909.  
  910. Just recently, however, the first attack on DES that is better than 
  911. exhaustive search was announced by Eli Biham and Adi Shamir [6,7],
  912. using a new technique known as differential cryptanalysis. This attack 
  913. requires encryption of 2^{47} chosen plaintexts, i.e., plaintexts chosen 
  914. by the attacker. Although a theoretical breakthrough, this attack is 
  915. not practical under normal circumstances because it requires the attacker 
  916. to have easy access to the DES device in order to encrypt the chosen 
  917. plaintexts. Another attack, known as linear cryptanalysis [51], does not 
  918. require chosen plaintexts.
  919.  
  920. The consensus is that DES, when used properly, is secure against all but
  921. the most powerful enemies. In fact, triple encryption DES (see Question 
  922. 5.3) may be secure against anyone at all. Biham and Shamir have stated 
  923. that they consider DES secure. It is used extensively in a wide variety 
  924. of cryptographic systems, and in fact, most implementations of public-key 
  925. cryptography include DES at some level. 
  926.  
  927.  
  928. 5.3 How does one use DES securely?
  929.  
  930. When using DES, there are several practical considerations that can
  931. affect the security of the encrypted data. One should change DES keys 
  932. frequently, in order to prevent attacks that require sustained data 
  933. analysis. In a communications context, one must also find a secure way 
  934. of communicating the DES key to both sender and receiver. Use of RSA or 
  935. some other public-key technique for key management solves both these 
  936. issues: a different DES key is generated for each session, and secure 
  937. key management is provided by encrypting the DES key with the receiver's 
  938. RSA public key. RSA, in this circumstance, can be regarded as a tool for 
  939. improving the security of DES (or any other secret key cipher).
  940.  
  941. If one wishes to use DES to encrypt files stored on a hard disk, it is
  942. not feasible to frequently change the DES keys, as this would entail 
  943. decrypting and then re-encrypting all files upon each key change. Instead,
  944. one should have a master DES key with which one encrypts the list of DES
  945. keys used to encrypt the files; one can then change the master key 
  946. frequently without much effort.
  947.  
  948. A powerful technique for improving the security of DES is triple encryption, 
  949. that is, encrypting each message block under three different DES keys in 
  950. succession. Triple encryption is thought to be equivalent to doubling the 
  951. key size of DES, to 112 bits, and should prevent decryption by an enemy 
  952. capable of single-key exhaustive search [53]. Of course, using 
  953. triple-encryption takes three times as long as single-encryption DES.
  954.  
  955. Aside from the issues mentioned above, DES can be used for encryption in 
  956. several officially defined modes. Some are more secure than others. ECB 
  957. (electronic codebook) mode simply encrypts each 64-bit block of plaintext 
  958. one after another under the same 56-bit DES key. In CBC (cipher block 
  959. chaining) mode, each 64-bit plaintext block is XORed with the previous 
  960. ciphertext block before being encrypted with the DES key. Thus the encryption 
  961. of each block depends on previous blocks and the same 64-bit plaintext 
  962. block can encrypt to different ciphertext depending on its context in the 
  963. overall message. CBC mode helps protect against certain attacks, although 
  964. not against exhaustive search or differential cryptanalysis. CFB (cipher 
  965. feedback) mode allows one to use DES with block lengths less than 64 bits. 
  966. Detailed descriptions of the various DES modes can be found in [60].
  967.  
  968. In practice, CBC is the most widely used mode of DES, and is specified in 
  969. several standards. For additional security, one could use triple encryption 
  970. with CBC, but since single DES in CBC mode is usually considered secure 
  971. enough, triple encryption is not often used.
  972.  
  973.  
  974. 5.4 Can DES be exported from the U.S.?
  975.  
  976. Export of DES, either in hardware or software, is strictly regulated by 
  977. the U.S. State Department and the NSA (see Question 1.6). The government 
  978. rarely approves export of DES, despite the fact that DES is widely 
  979. available overseas; financial institutions and foreign subsidiaries of 
  980. U.S. companies are exceptions. 
  981.  
  982.  
  983. 5.5 What are the alternatives to DES?
  984.  
  985. Over the years, various bulk encryption algorithms have been designed as 
  986. alternatives to DES. One is FEAL (Fast Encryption ALgorithm), a cipher for 
  987. which attacks have been discovered [6], although new versions have been 
  988. proposed. Another recently proposed cipher designed by Lai and Massey 
  989. [44] and known as IDEA seems promising, although it has not yet received 
  990. sufficient scrutiny to instill full confidence in its security. The U.S. 
  991. government recently announced a new algorithm called Skipjack (see Question 
  992. 6.5) as part of its Capstone project. Skipjack operates on 64-bit blocks of 
  993. data, as does DES, but uses 80-bit keys, as opposed to 56-bit keys in DES. 
  994. However, the details of Skipjack are classified, so Skipjack is only 
  995. available in hardware from government-authorized manufacturers.
  996.  
  997. Rivest has developed the ciphers RC2 and RC4 (see Question 8.6), which can 
  998. be made as secure as necessary because they use variable key sizes. Faster 
  999. than DES, at least in software, they have the further advantage of special 
  1000. U.S. government status whereby the export approval is simplified and 
  1001. expedited if the key size is limited to 40 bits. 
  1002.  
  1003.  
  1004. 5.6 Is DES a group?
  1005.  
  1006. It has been frequently asked whether DES encryption is closed under
  1007. composition; i.e., is encrypting a plaintext under one DES key and
  1008. then encrypting the result under another key always equivalent to a 
  1009. single encryption under a single key? Algebraically, is DES a group?
  1010. If so, then DES might be weaker than would otherwise be the case; see 
  1011. [39] for a more complete discussion. However, the answer is no, DES 
  1012. is not a group [18]; this issue was settled only recently, after many 
  1013. years of speculation and circumstantial evidence. This result seems to 
  1014. imply that techniques such as triple encryption do in fact increase 
  1015. the security of DES.
  1016.  
  1017.  
  1018.        --------------------------------------------
  1019.  
  1020. RSA Laboratories is the research and consultation division of RSA Data
  1021. Security, Inc., the company founded by the inventors of the RSA
  1022. public-key cryptosystem. RSA Laboratories reviews, designs and
  1023. implements secure and efficient cryptosystems of all kinds. Its
  1024. clients include government agencies, telecommunications companies,
  1025. computer manufacturers, software developers, cable TV broadcasters,
  1026. interactive video manufacturers, and satellite broadcast companies,
  1027. among others.
  1028.  
  1029. For more information about RSA Laboratories, call or write to 
  1030.                         RSA Laboratories
  1031.                         100 Marine Parkway
  1032.                         Redwood City, CA 94065
  1033.                         (415) 595-7703
  1034.                         (415) 595-4126 (fax)
  1035.  
  1036.  
  1037.  
  1038. PKCS, RSAREF and RSA Laboratories are trademarks of RSA Data
  1039. Security, Inc. All other trademarks belong to their respective 
  1040. companies.
  1041.  
  1042. This document is available in ASCII, Postscript, and Latex formats
  1043. via anonymous FTP to rsa.com:/pub/faq.
  1044.  
  1045. Please send comments and corrections to faq-editor@rsa.com.
  1046.  
  1047.  
  1048.  
  1049. ===
  1050. DISTRIBUTION: How to obtain this document
  1051.  
  1052. This document has been brought to you in part by CRAM, involved in the
  1053. redistribution of valuable information to a wider USENET audience (see
  1054. below). The most recent version of this document can be obtained via
  1055. the author's instructions above. The following directions apply to 
  1056. retrieve the possibly less-current USENET FAQ version.
  1057.  
  1058.   FTP
  1059.   ---
  1060.     This FAQ is available from the standard FAQ server rtfm.mit.edu via
  1061.     FTP in the directory /pub/usenet/news.answers/cryptography-faq/rsa/
  1062.  
  1063.   Email
  1064.   -----
  1065.     Email requests for FAQs go to mail-server@rtfm.mit.edu with commands
  1066.     on lines in the message body, e.g. `help' and `index'.
  1067.  
  1068.   Usenet
  1069.   ------
  1070.     This FAQ is posted every 21 days to the groups
  1071.  
  1072.       sci.crypt
  1073.       talk.politics.crypto
  1074.       alt.security.ripem
  1075.       sci.answers
  1076.       talk.answers
  1077.       alt.answers
  1078.       news.answers
  1079.  
  1080. _ _, _ ___ _, __,  _, _  _, ___ _  _, _, _ _  _, __,  _, _  _ ___ __,
  1081. | |\ | |_ / \ |_)  |\/| / \  |  | / \ |\ | | (_  |_) / \ |  | |_  | )
  1082. | | \| |  \ / | \  |  | |~|  |  | \ / | \| | , ) |   \ / |/\| |   |~\
  1083. ~ ~  ~ ~   ~  ~  ~ ~  ~ ~ ~  ~  ~  ~  ~  ~ ~  ~  ~    ~  ~  ~ ~~~ ~  ~
  1084.  
  1085. ===
  1086. CRAM: The Cyberspatial Reality Advancement Movement
  1087.  
  1088. In an effort to bring valuable information to the masses, and as a
  1089. service to motivated information compilers, a member of CRAM can help
  1090. others unfamiliar with Usenet `publish' their documents for
  1091. widespread dissemination via the FAQ structure, and act as a
  1092. `sponsor' knowledgable in the submissions process. This document is
  1093. being distributed under this arrangement.
  1094.  
  1095. We have found these compilations tend to appear on various mailing
  1096. lists and are valuable enough to deserve wider distribution. If you
  1097. know of an existing compilation of Internet information that is not
  1098. currently a FAQ, please contact us and we may `sponsor' it. The
  1099. benefits to the author include:
  1100.  
  1101. - use of the existing FAQ infrastructure for distribution:
  1102.   - automated mail server service
  1103.   - FTP archival
  1104.   - automated posting
  1105.  
  1106. - a far wider audience that can improve the quality, accuracy, and 
  1107.   coverage of the document enormously through email feedback
  1108.  
  1109. - potential professional inquiries for the use of your document in 
  1110.   other settings, such as newsletters, books, etc.
  1111.  
  1112. - with us as your sponsor, we will also take care of the 
  1113.   technicalities in the proper format of the posted version and 
  1114.   updating procedures, leaving you free of the `overhead' to focus on 
  1115.   the basic updates alone
  1116.  
  1117. The choice of who we `sponsor' is entirely arbitrary. You always have
  1118. the option of handling the submission process yourself.  See the FAQ
  1119. submission guidelines FAQ in news.answers. 
  1120.  
  1121. For information, send mail to <tmp@netcom.com>.
  1122.  
  1123.  \   \   \   \   \   \   \   \   \   |   /   /   /   /   /   /   /   /   /   /
  1124.           _______       ________          _____        _____  _____
  1125.          ///   \\\      |||   \\\        /// \\\       |||\\\///|||
  1126.         |||     ~~      |||   ///       |||   |||      ||| \\// |||
  1127.         |||     __      |||~~~\\\       |||~~~|||      |||  ~~  |||
  1128.          \\\   ///      |||    \\\      |||   |||      |||      |||
  1129.           ~~~~~~~       ~~~     ~~~     ~~~   ~~~      ~~~      ~~~
  1130.  /   /   /   /   /   /   /   /   /   |   \   \   \   \   \   \   \   \   \   \
  1131.  
  1132. C y b e r s p a t i a l  R e a l i t y  A d v a n c e m e n t  M o v e m e n t
  1133.  
  1134. * CIVILIZING CYBERSPACE: send `info cypherwonks' to majordomo@lists.eunet.fi *
  1135.  
  1136.  
  1137.