annotate LICENSE @ 1653:76189c9ffea2

External Public-Key Authentication API (#72) * Implemented dynamic loading of an external plug-in shared library to delegate public key authentication * Moved conditional compilation of the plugin infrastructure into the configure.ac script to be able to add -ldl to dropbear build only when the flag is enabled * Added tags file to the ignore list * Updated API to have the constructor to return function pointers in the pliugin instance. Added support for passing user name to the checkpubkey function. Added options to the session returned by the plugin and have dropbear to parse and process them * Added -rdynamic to the linker flags when EPKA is enabled * Changed the API to pass a previously created session to the checkPubKey function (created during preauth) * Added documentation to the API * Added parameter addrstring to plugin creation function * Modified the API to retrieve the auth options. Instead of having them as field of the EPKASession struct, they are stored internally (plugin-dependent) in the plugin/session and retrieved through a pointer to a function (in the session) * Changed option string to be a simple char * instead of unsigned char *
author fabriziobertocci <fabriziobertocci@gmail.com>
date Wed, 15 May 2019 09:43:57 -0400
parents acf444bcb115
children d32bcb5c557d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
74
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
1 Dropbear contains a number of components from different sources, hence there
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
2 are a few licenses and authors involved. All licenses are fairly
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
3 non-restrictive.
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
4
4
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
5
74
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
6 The majority of code is written by Matt Johnston, under the license below.
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
7
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
8 Portions of the client-mode work are (c) 2004 Mihnea Stoenescu, under the
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
9 same license:
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
10
1079
acf444bcb115 Fix no-writev fallback
Matt Johnston <matt@ucc.asn.au>
parents: 970
diff changeset
11 Copyright (c) 2002-2015 Matt Johnston
74
e3adf4cf5465 License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents: 69
diff changeset
12 Portions copyright (c) 2004 Mihnea Stoenescu
4
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
13 All rights reserved.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
14
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
15 Permission is hereby granted, free of charge, to any person obtaining a copy
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
16 of this software and associated documentation files (the "Software"), to deal
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
17 in the Software without restriction, including without limitation the rights
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
18 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
19 copies of the Software, and to permit persons to whom the Software is
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
20 furnished to do so, subject to the following conditions:
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
21
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
22 The above copyright notice and this permission notice shall be included in all
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
23 copies or substantial portions of the Software.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
24
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
25 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
26 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
27 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
28 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
29 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
30 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
31 SOFTWARE.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
32
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
33 =====
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
34
69
59d16db56e9f Simple text changes
Matt Johnston <matt@ucc.asn.au>
parents: 4
diff changeset
35 LibTomCrypt and LibTomMath are written by Tom St Denis, and are Public Domain.
4
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
36
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
37 =====
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
38
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
39 sshpty.c is taken from OpenSSH 3.5p1,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
40 Copyright (c) 1995 Tatu Ylonen <[email protected]>, Espoo, Finland
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
41 All rights reserved
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
42 "As far as I am concerned, the code I have written for this software
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
43 can be used freely for any purpose. Any derived versions of this
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
44 software must be clearly marked as such, and if the derived work is
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
45 incompatible with the protocol description in the RFC file, it must be
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
46 called by a name other than "ssh" or "Secure Shell". "
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
47
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
48 =====
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
49
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
50 loginrec.c
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
51 loginrec.h
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
52 atomicio.h
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
53 atomicio.c
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
54 and strlcat() (included in util.c) are from OpenSSH 3.6.1p2, and are licensed
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
55 under the 2 point BSD license.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
56
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
57 loginrec is written primarily by Andre Lucas, atomicio.c by Theo de Raadt.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
58
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
59 strlcat() is (c) Todd C. Miller
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
60
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
61 =====
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
62
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
63 Import code in keyimport.c is modified from PuTTY's import.c, licensed as
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
64 follows:
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
65
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
66 PuTTY is copyright 1997-2003 Simon Tatham.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
67
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
68 Portions copyright Robert de Bath, Joris van Rantwijk, Delian
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
69 Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
70 Justin Bradford, and CORE SDI S.A.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
71
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
72 Permission is hereby granted, free of charge, to any person
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
73 obtaining a copy of this software and associated documentation files
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
74 (the "Software"), to deal in the Software without restriction,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
75 including without limitation the rights to use, copy, modify, merge,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
76 publish, distribute, sublicense, and/or sell copies of the Software,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
77 and to permit persons to whom the Software is furnished to do so,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
78 subject to the following conditions:
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
79
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
80 The above copyright notice and this permission notice shall be
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
81 included in all copies or substantial portions of the Software.
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
82
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
83 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
84 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
85 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
86 NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
87 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
88 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
fe6bca95afa7 Makefile.in contains updated files required
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
89 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
861
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
90
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
91 =====
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
92
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
93 curve25519-donna:
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
94
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
95 /* Copyright 2008, Google Inc.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
96 * All rights reserved.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
97 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
98 * Redistribution and use in source and binary forms, with or without
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
99 * modification, are permitted provided that the following conditions are
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
100 * met:
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
101 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
102 * * Redistributions of source code must retain the above copyright
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
103 * notice, this list of conditions and the following disclaimer.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
104 * * Redistributions in binary form must reproduce the above
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
105 * copyright notice, this list of conditions and the following disclaimer
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
106 * in the documentation and/or other materials provided with the
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
107 * distribution.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
108 * * Neither the name of Google Inc. nor the names of its
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
109 * contributors may be used to endorse or promote products derived from
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
110 * this software without specific prior written permission.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
111 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
112 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
113 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
114 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
115 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
116 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
117 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
118 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
119 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
120 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
121 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
122 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
123 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
124 * curve25519-donna: Curve25519 elliptic curve, public key function
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
125 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
126 * http://code.google.com/p/curve25519-donna/
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
127 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
128 * Adam Langley <[email protected]>
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
129 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
130 * Derived from public domain C code by Daniel J. Bernstein <[email protected]>
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
131 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
132 * More information about curve25519 can be found here
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
133 * http://cr.yp.to/ecdh.html
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
134 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
135 * djb's sample implementation of curve25519 is written in a special assembly
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
136 * language called qhasm and uses the floating point registers.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
137 *
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
138 * This is, almost, a clean room reimplementation from the curve25519 paper. It
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
139 * uses many of the tricks described therein. Only the crecip function is taken
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
140 * from the sample implementation.
e894dbc015ba 2013.61test
Matt Johnston <matt@ucc.asn.au>
parents: 823
diff changeset
141 */