Import of old SSLeay release: SSLeay 0.8.1b
[openssl.git] / doc / legal.doc
1 From eay@mincom.com Thu Jun 27 00:25:45 1996
2 Received: by orb.mincom.oz.au id AA15821
3   (5.65c/IDA-1.4.4 for eay); Wed, 26 Jun 1996 14:25:45 +1000
4 Date: Wed, 26 Jun 1996 14:25:45 +1000 (EST)
5 From: Eric Young <eay@mincom.oz.au>
6 X-Sender: eay@orb
7 To: Ken Toll <ktoll@ren.digitalage.com>
8 Cc: Eric Young <eay@mincom.oz.au>, ssl-talk@netscape.com
9 Subject: Re: Unidentified subject!
10 In-Reply-To: <9606261950.ZM28943@ren.digitalage.com>
11 Message-Id: <Pine.SOL.3.91.960626131156.28573K-100000@orb>
12 Mime-Version: 1.0
13 Content-Type: TEXT/PLAIN; charset=US-ASCII
14 Status: O
15 X-Status: 
16
17
18 This is a little off topic but since SSLeay is a free implementation of
19 the SSLv2 protocol, I feel it is worth responding on the topic of if it 
20 is actually legal for Americans to use free cryptographic software.
21
22 On Wed, 26 Jun 1996, Ken Toll wrote:
23 > Is the U.S the only country that SSLeay cannot be used commercially 
24 > (because of RSAref) or is that going to be an issue with every country 
25 > that a client/server application (non-web browser/server) is deployed 
26 > and sold?
27
28 >From what I understand, the software patents that apply to algorithms 
29 like RSA and DH only apply in the USA.  The IDEA algorithm I believe is 
30 patened in europe (USA?), but considing how little it is used by other SSL 
31 implementations, it quite easily be left out of the SSLeay build
32 (this can be done with a compile flag).
33
34 Actually if the RSA patent did apply outside the USA, it could be rather
35 interesting since RSA is not alowed to let RSA toolkits outside of the USA
36 [1], and since these are the only forms that they will alow the algorithm
37 to be used in, it would mean that non-one outside of the USA could produce
38 public key software which would be a very strong statment for
39 international patent law to make :-).  This logic is a little flawed but
40 it still points out some of the more interesting permutations of USA
41 patent law and ITAR restrictions. 
42
43 Inside the USA there is also the unresolved issue of RC4/RC2 which were
44 made public on sci.crypt in Sep 1994 (RC4) and Feb 1996 (RC2).  I have
45 copies of the origional postings if people are interested.  RSA I believe 
46 claim that they were 'trade-secrets' and that some-one broke an NDA in 
47 revealing them.  Other claim they reverse engineered the algorithms from 
48 compiled binaries.  If the algorithms were reverse engineered, I belive 
49 RSA had no legal leg to stand on.  If an NDA was broken, I don't know.
50 Regardless, RSA, I belive, is willing to go to court over the issue so 
51 licencing is probably the best idea, or at least talk to them.
52 If there are people who actually know more about this, pease let me know, I 
53 don't want to vilify or spread miss-information if I can help it.
54
55 If you are not producing a web browser, it is easy to build SSLeay with
56 RC2/RC4 removed. Since RC4 is the defacto standard cipher in 
57 all web software (and it is damn fast) it is more or less required for 
58 www use. For non www use of SSL, especially for an application where 
59 interoperability with other vendors is not critical just leave it out.
60
61 Removing IDEA, RC2 and RC4 would only leave DES and Triple DES but 
62 they should be ok.  Considing that Triple DES can encrypt at rates of
63 410k/sec on a pentium 100, and 940k/sec on a P6/200, this is quite 
64 reasonable performance.  Single DES clocks in at 1160k/s and 2467k/s
65 respectivly is actually quite fast for those not so paranoid (56 bit key).[1]
66
67 > Is it possible to get a certificate for commercial use outside of the U.S.?
68 yes.
69
70 Thawte Consulting issues certificates (they are the people who sell the
71         Sioux httpd server and are based in South Africa)
72 Verisign will issue certificates for Sioux (sold from South Africa), so this
73         proves that they will issue certificate for OS use if they are
74         happy with the quality of the software.
75
76 (The above mentioned companies just the ones that I know for sure are issuing
77  certificates outside the USA).
78
79 There is always the point that if you are using SSL for an intra net, 
80 SSLeay provides programs that can be used so you can issue your own 
81 certificates.  They need polishing but at least it is a good starting point.
82
83 I am not doing anything outside Australian law by implementing these
84 algorithms (to the best of my knowedge).  It is another example of how 
85 the world legal system does not cope with the internet very well.
86
87 I may start making shared libraries available (I have now got DLL's for 
88 Windows).  This will mean that distributions into the usa could be 
89 shipped with a version with a reduced cipher set and the versions outside 
90 could use the DLL/shared library with all the ciphers (and without RSAref).
91
92 This could be completly hidden from the application, so this would not 
93 even require a re-linking.
94
95 This is the reverse of what people were talking about doing to get around 
96 USA export regulations :-)
97
98 eric
99
100 [1]:    The RSAref2.0 tookit is available on at least 3 ftp sites in Europe
101         and one in South Africa.
102
103 [2]:    Since I always get questions when I post benchmark numbers :-),
104         DES performace figures are in 1000's of bytes per second in cbc 
105         mode using an 8192 byte buffer.  The pentium 100 was running Windows NT 
106         3.51 DLLs and the 686/200 was running NextStep.
107         I quote pentium 100 benchmarks because it is basically the
108         'entry level' computer that most people buy for personal use.
109         Windows 95 is the OS shipping on those boxes, so I'll give
110         NT numbers (the same Win32 runtime environment).  The 686
111         numbers are present as an indication of where we will be in a
112         few years.
113 --
114 Eric Young                  | BOOL is tri-state according to Bill Gates.
115 AARNet: eay@mincom.oz.au    | RTFM Win32 GetMessage().
116
117