|
|
1.1 ! root 1: RSAREF(TM): A Cryptographic Toolkit ! 2: General Information ! 3: ! 4: RSA Laboratories ! 5: Revised March 25, 1994 ! 6: ! 7: Version 2.0 ! 8: ! 9: This document copyright (C) 1994 RSA Laboratories, a division of RSA ! 10: Data Security, Inc. License is granted to reproduce, copy, post, or ! 11: distribute in any manner, provided this document is kept intact and ! 12: no modifications, deletions, or additions are made. ! 13: ! 14: ! 15: WHAT IS IT? ! 16: ! 17: The name "RSAREF" means "RSA reference." RSA Laboratories intends ! 18: RSAREF to serve as a portable, educational, reference implementation ! 19: of cryptography. ! 20: ! 21: RSAREF supports the following algorithms: ! 22: ! 23: o RSA encryption and key generation, as defined by RSA ! 24: Laboratories' Public-Key Cryptography Standards (PKCS) ! 25: ! 26: o MD2 and MD5 message digests ! 27: ! 28: o DES (Data Encryption Standard) in cipher-block chaining mode ! 29: ! 30: o Diffie-Hellman key agreement ! 31: ! 32: o DESX, RSA Data Security's efficient, secure DES enhancement ! 33: ! 34: o Triple-DES, for added security with three DES operations ! 35: ! 36: Version 2.0 offers three other improvements over RSAREF 1.0: the ! 37: ability to process messages of arbitrary length in parts; the option ! 38: to process either binary data, or data encoded in printable ASCII; ! 39: and support for encrypting messages for more than one recipient. ! 40: ! 41: RSAREF is written in the C programming language as a library that can ! 42: be called from an application program. A simple Internet Privacy- ! 43: Enhanced Mail (PEM) implementation can be built directly on top of ! 44: RSAREF, together with message parsing and formatting routines and ! 45: certificate-management routines. RSAREF is distributed with a ! 46: demonstration program that shows how one might build such an ! 47: implementation. ! 48: ! 49: ! 50: WHAT YOU CAN (AND CANNOT) DO WITH RSAREF ! 51: ! 52: The RSAREF license agreement gives legal terms and conditions. Here's ! 53: the layman's interpretation, for information only and with no legal ! 54: weight: ! 55: ! 56: 1. You can use RSAREF for any purpose, as long as you follow ! 57: the interface described in the RSAREF documentation. You ! 58: can't sell RSAREF or provide a service of any type, where ! 59: you charge in any way. You can use RSAREF in a commercial ! 60: facility. ! 61: ! 62: For 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, or to improve its ! 73: performance, as long as you give a copy of the results to ! 74: RSA Laboratories. Other changes require 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 RSAREF license agreement and return a copy ! 86: 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", ! 104: compressed TAR format. When you receive it, store the contents of the ! 105: message in a file, and run your operating system's "uudecode", ! 106: "uncompress" and TAR programs. For example, suppose you store the ! 107: contents of your message in the file 'contents'. You would run the ! 108: commands: ! 109: ! 110: uudecode contents # produces rsaref.tar.Z ! 111: uncompress rsaref.tar.Z # produces rsaref.tar ! 112: tar xvf rsaref.tar ! 113: ! 114: You can also get a "uuencoded" PKZIP(TM) version of RSAREF. Just ask ! 115: for the ZIP file when you return the acknowledgment. ! 116: ! 117: RSAREF includes about 60 files organized into the following ! 118: subdirectories: ! 119: ! 120: doc documentation ! 121: install makefiles for various operating systems ! 122: rdemo demonstration programs and test scripts ! 123: source source code and include files ! 124: ! 125: RSAREF is also available via anonymous FTP to 'rsa.com'. Along with ! 126: RSAREF you can get RIPEM, Mark Riordan's RSAREF-based privacy-enhanced ! 127: mail application, and an Emacs command interface to RIPEM. See the ! 128: file 'README' in the FTP directory 'rsaref' for more information. ! 129: ! 130: ! 131: USERS' GROUP ! 132: ! 133: RSA Laboratories maintains the electronic-mail users' group ! 134: <[email protected]> for discussion of RSAREF applications, bug ! 135: fixes, etc. To join the users' group, send electronic mail to ! 136: <[email protected]>. ! 137: ! 138: ! 139: REGISTRATION ! 140: ! 141: RSAREF users who register with RSA Laboratories are entitled to free ! 142: RSAREF upgrades and bug fixes as soon as they become available and a ! 143: 50% discount on selected RSA Data Security products. To register, ! 144: send your name, address, and telephone number to ! 145: <[email protected]>. ! 146: ! 147: ! 148: PUBLIC-KEY CERTIFICATION ! 149: ! 150: RSA Data Security offers public-key certification services conforming ! 151: to PEM standards. For more information, please send electronic mail ! 152: to <[email protected]>. ! 153: ! 154: ! 155: PKCS: PUBLIC-KEY CRYPTOGRAPHY STANDARDS ! 156: ! 157: To obtain copies of RSA Laboratories' Public-Key Cryptography ! 158: Standards (PKCS), send electronic mail to <[email protected]>. ! 159: ! 160: ! 161: OTHER QUESTIONS ! 162: ! 163: If you have questions on RSAREF software, licenses, export ! 164: restrictions, or other RSA Laboratories offerings, send electronic ! 165: mail to <[email protected]>. ! 166: ! 167: ! 168: AUTHORS ! 169: ! 170: RSAREF is written and maintained by RSA Laboratories with assistance ! 171: from RSA Data Security's software engineers. The DES code was written ! 172: by Richard Outerbridge, with help from Phil Karn and Dan Hoey. Jim ! 173: Hwang of Stanford wrote parts of the arithmetic code under contract ! 174: to RSA Laboratories. ! 175: ! 176: ! 177: ABOUT RSA LABORATORIES ! 178: ! 179: RSA Laboratories is the research and development division of RSA Data ! 180: Security, Inc., the company founded by the inventors of the RSA ! 181: public-key cryptosystem. RSA Laboratories reviews, designs and ! 182: implements secure and efficient cryptosystems of all kinds. Its ! 183: clients include government agencies, telecommunications companies, ! 184: computer manufacturers, software developers, cable TV broadcasters, ! 185: interactive video manufacturers, and satellite broadcast companies, ! 186: among others. ! 187: ! 188: RSA Laboratories draws upon the talents of the following people: ! 189: ! 190: Len Adleman, distinguished associate - Ph.D., University of ! 191: California, Berkeley; Henry Salvatori professor of computer ! 192: science at University of Southern California; co-inventor of ! 193: RSA public-key cryptosystem; co-founder of RSA Data Security, Inc. ! 194: ! 195: Taher Elgamal, senior associate - Ph.D., Stanford University; ! 196: inventor of Elgamal public-key cryptosystem based on discrete ! 197: logarithms ! 198: ! 199: Martin Hellman, distinguished associate - Ph.D., Stanford University; ! 200: professor of electrical engineering at Stanford University; ! 201: co-inventor of public-key cryptography, exponential key exchange; ! 202: IEEE fellow; IEEE Centennial Medal recipient ! 203: ! 204: Burt Kaliski, chief scientist - Ph.D., MIT; former visiting assistant ! 205: professor at Rochester Institute of Technology; editor of Public-Key ! 206: Cryptography Standards; general chair of CRYPTO '91 ! 207: ! 208: Cetin Koc, associate - Ph.D., University of California, Santa ! 209: Barbara; assistant professor at Oregon State University ! 210: ! 211: Ron Rivest, distinguished associate - Ph.D., Stanford University; ! 212: professor of computer science at MIT; co-inventor of RSA public-key ! 213: cryptosystem; co-founder of RSA Data Security, Inc.; member of ! 214: National Academy of Engineering; director of International ! 215: Association for Cryptologic Research; program co-chair of ASIACRYPT ! 216: '91 ! 217: ! 218: Matt Robshaw, research scientist - Ph.D., University of London; member ! 219: of EUROCRYPT '91 organizing committee ! 220: ! 221: RSA Laboratories seeks the talents of other people as well. If you're ! 222: interested, please write or call. ! 223: ! 224: ! 225: ADDRESSES ! 226: ! 227: RSA Laboratories RSA Data Security, Inc. ! 228: 100 Marine Parkway 100 Marine Parkway ! 229: Redwood City, CA 94065 Redwood City, CA 94065 ! 230: ! 231: (415) 595-7703 (415) 595-8782 ! 232: (415) 595-4126 (fax) (415) 595-1873 (fax) ! 233: ! 234: PKCS, RSAREF and RSA Laboratories are trademarks of RSA Data ! 235: Security, Inc. All other company names and trademarks are not.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.