|
|
1.1 root 1:
2: RSAREF(TM):
3: A Cryptographic Toolkit for Privacy-Enhanced Mail
4:
5: RSA Laboratories
6: (A division of RSA Data Security, Inc.)
7: January 5, 1993
8:
9:
10: This document copyright (C) 1992 RSA Laboratories, a division of RSA
11: Data Security, Inc. License is granted to reproduce, copy, post, or
12: distribute in any manner, provided this document is kept intact and
13: no modifications, deletions, or additions are made.
14:
15:
16: WHAT IS IT?
17:
18: RSAREF is a cryptographic toolkit designed to facilitate rapid
19: deployment of Internet Privacy-Enhanced Mail (PEM) implementations.
20: RSAREF represents the fruits of RSA Data Security's commitment to the
21: U.S. Department of Defense's Advanced Research Projects Agency
22: (DARPA) to provide free cryptographic source code in support of a PEM
23: standard. RSA Laboratories offers RSAREF in expectation of PEM's
24: forthcoming publication as an Internet standard.
25:
26: Part of RSA's commitment to DARPA was to authorize Trusted Information
27: Systems of Glenwood, MD, to distribute a full PEM implementation. That
28: implementation will be available this spring.
29:
30: RSAREF supports the following PEM-specified algorithms:
31:
32: o RSA encryption and key generation, as defined by RSA
33: Laboratories' Public-Key Cryptography Standards (PKCS)
34:
35: o MD2 and MD5 message digests
36:
37: o DES (Data Encryption Standard) in cipher-block chaining mode
38:
39: RSAREF is written in the C programming language as a library that can
40: be called from an application program. A simple PEM implementation
41: can be built directly on top of RSAREF, together with message parsing
42: and formatting routines and certificate-management routines. RSAREF
43: is distributed with a demonstration program that shows how one might
44: build such an implementation.
45:
46: The name "RSAREF" means "RSA reference." RSA Laboratories intends
47: RSAREF to serve as a portable, educational, reference implementation
48: of cryptography.
49:
50:
51: WHAT YOU CAN (AND CANNOT) DO WITH RSAREF
52:
53: The license at the end of this note gives legal terms and conditions.
54: Here's the layman's interpretation, for information only and with no
55: legal weight:
56:
57: 1. You can use RSAREF in personal, non-commercial applications,
58: as long as you follow the interface described in the RSAREF
59: documentation. You can't use RSAREF in any commercial
60: (moneymaking) manner of any type, nor can you use it to
61: provide services of any kind to any other party. For
62: information on commercial licenses of RSAREF-compatible
63: products, please contact RSA Data Security. (Special
64: arrangements are available for educational institutions and
65: non-profit organizations.)
66:
67: 2. You can give others RSAREF and programs that interface to
68: RSAREF, under the same terms and conditions as your RSAREF
69: license.
70:
71: 3. You can modify RSAREF as required to port it to other
72: operating systems and compilers, as long as you give a copy
73: of the results to RSA Laboratories. Other changes require
74: written consent.
75:
76: 4. You can't send RSAREF outside the United States or Canada, or
77: give it to anyone who is not a U.S. or Canadian citizen and
78: doesn't have a U.S. "green card." (These are U.S. State and
79: Commerce Department requirements, because RSA and DES are
80: export-controlled technologies.)
81:
82:
83: HOW TO GET IT
84:
85: To obtain RSAREF, read the license at the end of the note and return a
86: copy of the following paragraph by electronic mail to
87: <[email protected]>:
88:
89: I acknowledge that I have read the RSAREF Program License
90: Agreement and understand and agree to be bound by its terms and
91: conditions, including without limitation its restrictions on
92: foreign reshipment of the Program and information related to the
93: Program. The electronic mail address to which I am requesting
94: that the program be transmitted is located in the United States
95: of America or Canada and I am a United States citizen, a Canadian
96: citizen, or a permanent resident of the United States. The RSAREF
97: Program License Agreement is the complete and exclusive agreement
98: between RSA Laboratories and me relating to the Program, and
99: supersedes any proposal or prior agreement, oral or written, and
100: any other communications between RSA Laboratories and me relating
101: to the Program.
102:
103: RSAREF is distributed by electronic mail in UNIX(TM) "uuencoded" TAR
104: format. When you receive it, store the contents of the message in a
105: file, and run your operating system's "uudecode" and TAR programs.
106: For example, suppose you store the contents of your message in the
107: file 'contents'. You would run the commands:
108:
109: uudecode contents # produces rsaref.tar
110: tar -xvf rsaref.tar
111:
112: RSAREF includes about 60 files organized into the following
113: subdirectories:
114:
115: doc documentation on RSAREF and RDEMO
116: install makefiles for various operating systems
117: rdemo RDEMO demonstration program
118: source RSAREF source code and include files
119: test test scripts for RDEMO
120:
121: RSAREF is also available via anonymous FTP to 'rsa.com'. Along with
122: RSAREF you can get RIPEM, Mark Riordan's RSAREF-based privacy-enhanced
123: mail application, and an Emacs command interface to RIPEM. See the
124: file 'README' in the FTP directory 'rsaref' for more information.
125:
126:
127: USERS' GROUP
128:
129: RSA Laboratories maintains the electronic-mail users' group
130: <[email protected]> for discussion of RSAREF applications, bug
131: fixes, etc. To join the users' group, send electronic mail to
132: <[email protected]>.
133:
134:
135: REGISTRATION
136:
137: RSAREF users who register with RSA Laboratories are entitled to free
138: RSAREF upgrades and bug fixes as soon as they become available and a
139: 50% discount on selected RSA Data Security products. To register,
140: send your name, address, and telephone number to
141: <[email protected]>.
142:
143:
144: INNOVATION PRIZES
145:
146: RSA Laboratories will award cash prizes for the best applications
147: built on RSAREF. If you'd like to submit an application, want to be
148: on the review panel, or would like more details, please send
149: electronic mail to <[email protected]>. Applications are due
150: December 31, 1992, and awards will be announced March 31, 1993. First
151: prize is $5000, second prize is $2000, and there are five prizes of
152: $1000.
153:
154:
155: PUBLIC-KEY CERTIFICATION
156:
157: RSA Data Security offers public-key certification services conforming
158: to forthcoming PEM standards. For more information, please send
159: electronic mail to <[email protected]>.
160:
161:
162: PKCS: PUBLIC-KEY CRYPTOGRAPHY STANDARDS
163:
164: To obtain copies of RSA Laboratories' Public-Key Cryptography
165: Standards (PKCS), send electronic mail to <[email protected]>.
166:
167:
168: OTHER QUESTIONS
169:
170: If you have questions on RSAREF software, licenses, export
171: restrictions, or other RSA Laboratories offerings, send electronic
172: mail to <[email protected]>.
173:
174:
175: AUTHORS
176:
177: RSAREF was written by the staff of RSA Laboratories with assistance
178: from RSA Data Security's software engineers. The DES code is based on
179: an implementation that Justin Reyneri did at Stanford University. Jim
180: Hwang of Stanford wrote parts of the arithmetic code under contract
181: to RSA Laboratories.
182:
183:
184: ABOUT RSA LABORATORIES
185:
186: RSA Laboratories is the research and development division of RSA Data
187: Security, Inc., the company founded by the inventors of the RSA
188: public-key cryptosystem. RSA Laboratories reviews, designs and
189: implements secure and efficient cryptosystems of all kinds. Its
190: clients include government agencies, telecommunications companies,
191: computer manufacturers, software developers, cable TV broadcasters,
192: interactive video manufacturers, and satellite broadcast companies,
193: among others.
194:
195: RSA Laboratories draws upon the talents of the following people:
196:
197: Len Adleman, distinguished associate - Ph.D., University of
198: California, Berkeley; Henry Salvatori professor of computer
199: science at University of Southern California; co-inventor of
200: RSA public-key cryptosystem; co-founder of RSA Data Security, Inc.
201:
202: Taher Elgamal, senior associate - Ph.D., Stanford University;
203: director of engineering at RSA Data Security, Inc.; inventor of
204: Elgamal public-key cryptosystem based on discrete logarithms
205:
206: Martin Hellman, distinguished associate - Ph.D., Stanford University;
207: professor of electrical engineering at Stanford University;
208: co-inventor of public-key cryptography, exponential key exchange;
209: IEEE fellow; IEEE Centennial Medal recipient
210:
211: Burt Kaliski, chief scientist - Ph.D., MIT; former visiting assistant
212: professor at Rochester Institute of Technology; author of Public-Key
213: Cryptography Standards; general chair of CRYPTO '91
214:
215: Cetin Koc, associate - Ph.D., University of California, Santa
216: Barbara; assistant professor at University of Houston
217:
218: Ron Rivest, distinguished associate - Ph.D., Stanford University;
219: professor of computer science, MIT; co-inventor of RSA public-key
220: cryptosystem; co-founder of RSA Data Security, Inc.; member of
221: National Academy of Engineering; director of International
222: Association for Cryptologic Research; program co-chair of ASIACRYPT
223: '91
224:
225: RSA Laboratories seeks the talents of other people as well. If you're
226: interested, please write or call.
227:
228: ADDRESSES
229:
230: RSA Laboratories RSA Data Security, Inc.
231: 100 Marine Parkway 100 Marine Parkway
232: Redwood City, CA 94065 Redwood City, CA 94065
233:
234: (415) 595-7703 (415) 595-8782
235: (415) 595-4126 (fax) (415) 595-1873 (fax)
236:
237: PKCS, RSAREF and RSA Laboratories are trademarks of RSA Data
238: Security, Inc. All other company names and trademarks are not.
239:
240: ----------------------------------------------------------------------
241: RSA LABORATORIES
242: PROGRAM LICENSE AGREEMENT
243:
244:
245: RSA LABORATORIES, A DIVISION OF RSA DATA SECURITY, INC. ("RSA")
246: GRANTS YOU A LICENSE AS FOLLOWS TO THE "RSAREF" PROGRAM:
247:
248: 1. LICENSE. RSA grants you a non-exclusive, non-transferable,
249: perpetual (subject to the conditions of section 8) license
250: for the "RSAREF" program (the "Program") and its associated
251: documentation, subject to all of the following terms and
252: conditions:
253:
254: a. to use the Program on any computer in your possession;
255:
256: b. to make copies of the Program for back-up purposes;
257:
258: c. to modify the Program in any manner for porting or
259: performance improvement purposes (subject to Section 2)
260: or to incorporate the Program into other computer programs
261: for your own personal or internal use, provided that you
262: provide RSA with a copy of any such modification or
263: Application Program by electronic mail, and grant RSA
264: a perpetual, royalty-free license to use and distribute
265: such modifications and Application Programs on the terms
266: set forth in this Agreement.
267:
268: d. to copy and distribute the Program and Application Programs
269: in accordance with the limitations set forth in Section 2.
270:
271: "Application Programs" are programs which incorporate all or any
272: portion of the Program in any form. The restrictions imposed on
273: Application Programs in this Agreement shall not apply to any software
274: which, through the mere aggregation on distribution media, is
275: co-located or stored with the Program.
276:
277: 2. LIMITATIONS ON LICENSE.
278:
279: a. RSA owns the Program and its associated documentation and
280: all copyrights therein. You may only use, copy, modify and
281: distribute the Program as expressly provided for in this
282: Agreement. You must reproduce and include this Agreement,
283: RSA's copyright notices and disclaimer of warranty on any
284: copy and its associated documentation.
285:
286: b. The Program and all Application Programs are to be used only
287: for non-commercial purposes. However, media costs associated
288: with the distribution of the Program or Application Programs
289: may be recovered.
290:
291: c. The Program, if modified, must carry prominent notices
292: stating that changes have been made, and the dates of any
293: such changes.
294:
295: d. Prior permission from RSA is required for
296: any modifications that access the Program through ways
297: other than the published Program interface or for
298: modifications to the Program interface. RSA will grant
299: all reasonable requests for permission to make such
300: modifications.
301:
302: 3. NO RSA OBLIGATION. You are solely responsible for all of your
303: costs and expenses incurred in connection with the distribution
304: of the Program or any Application Program hereunder, and RSA
305: shall have no liability, obligation or responsibility therefor.
306: RSA shall have no obligation to provide maintenance, support,
307: upgrades or new releases to you or to any distributee of the
308: Program or any Application Program.
309:
310: 4. NO WARRANTY OF PERFORMANCE. THE PROGRAM AND ITS ASSOCIATED
311: DOCUMENTATION ARE LICENSED "AS IS" WITHOUT WARRANTY AS TO THEIR
312: PERFORMANCE, MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
313: PURPOSE. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF
314: THE PROGRAM IS ASSUMED BY YOU AND YOUR DISTRIBUTEES. SHOULD THE
315: PROGRAM PROVE DEFECTIVE, YOU AND YOUR DISTRIBUTEES (AND NOT RSA)
316: ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR
317: CORRECTION.
318:
319: 5. LIMITATION OF LIABILITY. EXCEPT AS EXPRESSLY PROVIDED FOR IN
320: SECTION 6 HEREINUNDER, NEITHER RSA NOR ANY OTHER PERSON WHO HAS
321: BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THE
322: PROGRAM SHALL BE LIABLE TO YOU OR TO ANY OTHER PERSON FOR ANY
323: DIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF RSA HAS BEEN
324: ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
325:
326: 6. PATENT INFRINGEMENT OBLIGATION. Subject to the limitations set
327: forth below, RSA, at its own expense, shall: (i) defend, or at
328: its option settle, any claim, suit or proceeding against you on
329: the basis of infringement of any United States patent in the
330: field of cryptography by the unmodified Program; and (ii) pay
331: any final judgment or settlement entered against you on such
332: issue in any such suit or proceeding defended by RSA. The
333: obligations of RSA under this Section 6 are subject to:
334: (i) RSA's having sole control of the defense of any such claim,
335: suit or proceeding; (ii) your notifying RSA promptly in writing
336: of each such claim, suit or proceeding and giving RSA authority
337: to proceed as stated in this Section 6; and (iii) your giving
338: RSA all information known to you relating to such claim,
339: suit or proceeding and cooperating with RSA to defend any such
340: claim, suit or proceeding. RSA shall have no obligation under
341: this Section 6 with respect to any claim to the extent it is
342: based upon (A) use of the Program as modified by any person
343: other than RSA or use of any Application Program, where use
344: of the unmodified Program would not constitute an infringement,
345: or (B) use of the Program in a manner other than that permitted
346: by this Agreement. THIS SECTION 6 SETS FORTH RSA'S ENTIRE
347: OBLIGATION AND YOUR EXCLUSIVE REMEDIES CONCERNING CLAIMS FOR
348: PROPRIETARY RIGHTS INFRINGEMENT.
349:
350: NOTE: Portions of the Program practice methods described in and
351: subject to U.S. Patents Nos. 4,200,770, 4,218,582 and 4,405,829,
352: and all foreign counterparts and equivalents, issued to Leland
353: Stanford Jr. University and to Massachusetts Institute of
354: Technology. Such patents are licensed to RSA by Public Key
355: Partners of Sunnyvale, California, the holder of exclusive
356: licensing rights. This Agreement does not grant or convey any
357: interest whatsoever in such patents.
358:
359: 7. RSAREF is a non-commercial publication of cryptographic
360: techniques. Portions of RSAREF have been published in the
361: International Security Handbook and the August 1992 issue of Dr.
362: Dobb's Journal. Privacy applications developed with RSAREF may be
363: subject to export controls. If you are located in the United States
364: and develop such applications, you are advised to consult with the
365: State Department's Office of Defense Trade Controls.
366:
367: 8. TERM. The license granted hereunder is effective until
368: terminated. You may terminate it at anytime by destroying
369: the Program and its associated documentation. The termination
370: of your license will not result in the termination of the
371: licenses of any distributees who have received rights to the
372: Program through you so long as they are in compliance with
373: the provisions of this license.
374:
375: 9. GENERAL
376:
377: a. This Agreement shall be governed by the laws of the State of
378: California.
379:
380: b. Address all correspondence regarding this license to RSA's
381: electronic mail address <[email protected]>, or
382: to
383:
384: RSA Laboratories
385: ATTN: RSAREF Administrator
386: 100 Marine Parkway, Suite 500
387: Redwood City, CA 94065
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.