SUNWlibgcrypt.copyright revision 12673
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFor the avoidance of doubt, except that if any license choice other
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox Userthan GPL or LGPL is available it will apply instead, Sun elects to
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrewsuse only the General Public License version 2 (GPLv2) at this time
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinfor any software where a choice of GPL license versions is made
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updateravailable with the language indicating that GPLv2 or any later
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinversion may be used, or where a choice of which version of the GPL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinis applied is otherwise unspecified.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein--------------------------------------------------------------------
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein longlong.h -- definitions for mixed size 32/64 bit arithmetic.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note: I added some stuff for use with gnupg
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCopyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThis file is free software; you can redistribute it and/or modify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinit under the terms of the GNU Lesser General Public License as published by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthe Free Software Foundation; either version 2.1 of the License, or (at your
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinoption) any later version.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntThis file is distributed in the hope that it will be useful, but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinor FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLicense for more details.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinYou should have received a copy of the GNU Library General Public License
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinalong with this file; see the file COPYING.LIB. If not, write to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthe Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMA 02111-1307, USA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein You have to define the following before including this file:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UWtype -- An unsigned type, default type for operations (typically a "word")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UHWtype -- An unsigned type, at least half the size of UWtype.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UDWtype -- An unsigned type, at least twice as large a UWtype
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein W_TYPE_SIZE -- size in bits of UWtype
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SItype, USItype -- Signed and unsigned 32 bit types.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DItype, UDItype -- Signed and unsigned 64 bit types.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User On a 32 bit machine UWtype should typically be USItype;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User on a 64 bit machine, UWtype should typically be UDItype.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt--------------------------------------------------------------------
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntautogen.sh:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Run this to generate all the initial makefiles, etc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Copyright (C) 2003, 2004 g10 Code GmbH
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is free software; as a special exception the author gives
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User unlimited permission to copy and/or distribute it, with or without
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User modifications, as long as this notice is preserved.
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User This program is distributed in the hope that it will be useful, but
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt--------------------------------------------------------------------
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Usertests/random.c, tests/prime.c:
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Copyright (C) 2005 Free Software Foundation, Inc.
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater random.c - part of the Libgcrypt test suite.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater prime.c - part of the Libgcrypt test suite.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This program is free software; you can redistribute it and/or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User modify it under the terms of the GNU General Public License as
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User published by the Free Software Foundation; either version 2 of the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User License, or (at your option) any later version.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This program is distributed in the hope that it will be useful, but
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User WITHOUT ANY WARRANTY; without even the implied warranty of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User General Public License for more details.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User You should have received a copy of the GNU General Public License
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User along with this program; if not, write to the Free Software
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt USA.
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User--------------------------------------------------------------------
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User Copyright (C) 2002, 2003, 2004 g10 Code GmbH
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ath.h - Thread-safeness library.
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User ath.c - Thread-safeness library.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This file is part of Libgcrypt.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Libgcrypt is free software; you can redistribute it and/or modify
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User it under the terms of the GNU Lesser General Public License as
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User published by the Free Software Foundation; either version 2.1 of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the License, or (at your option) any later version.
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Libgcrypt is distributed in the hope that it will be useful, but
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater WITHOUT ANY WARRANTY; without even the implied warranty of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User General Public License for more details.
bcf15a19ae0efa72a22cdfb50666a3c6ce39eb9fTinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt You should have received a copy of the GNU Lesser General Public
bcf15a19ae0efa72a22cdfb50666a3c6ce39eb9fTinderbox User License along with Libgcrypt; if not, write to the Free Software
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 02111-1307, USA.
983df82baf1d7d0b668c98cf45928a19f175c6e7Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User--------------------------------------------------------------------
983df82baf1d7d0b668c98cf45928a19f175c6e7Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Copyright Peter Gutmann, Matt Thomlinson and Blake Coverett 1996-1999
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Copyright Peter Gutmann, Paul Kendall, and Chris Wedgwood 1996-1999. *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein copyright notice:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein***************************************************************************
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Unix Randomness-Gathering Code *
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User *
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Heavily modified for GnuPG by Werner Koch *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt *
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ***************************************************************************
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This module is part of the cryptlib continuously seeded pseudorandom
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User number generator. For usage conditions, see lib_rand.c
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [Here is the notice from lib_rand.c:]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt rndw32.c - W32 entropy gatherer
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is part of Libgcrypt.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User************************************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The code here is based on code from Cryptlib 3.0 beta by Peter Gutmann.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Source file misc/rndwin32.c "Win32 Randomness-Gathering Code" with this
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This module is part of the cryptlib continuously seeded pseudorandom
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt number generator. For usage conditions, see lib_rand.c
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [Here is the notice from lib_rand.c, which is now called dev_sys.c]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This module and the misc/rnd*.c modules represent the cryptlib
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein continuously seeded pseudorandom number generator (CSPRNG) as described in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein my 1998 Usenix Security Symposium paper "The generation of random numbers
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User for cryptographic purposes".
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The CSPRNG code is copyright Peter Gutmann (and various others) 1996,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 1997, 1998, 1999, all rights reserved. Redistribution of the CSPRNG
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein modules and use in source and binary forms, with or without modification,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are permitted provided that the following conditions are met:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews 1. Redistributions of source code must retain the above copyright notice
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and this permission notice in its entirety.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater 2. Redistributions in binary form must reproduce the copyright notice in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the documentation and/or other materials provided with the distribution.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater 3. A copy of any bugfixes or enhancements made must be provided to the
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater author, <pgut001@cs.auckland.ac.nz> to allow them to be added to the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt baseline version of the code.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater ALTERNATIVELY, the code may be distributed under the terms of the GNU
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User General Public License, version 2 or any later version published by the
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater Free Software Foundation, in which case the provisions of the GNU GPL are
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater required INSTEAD OF the above restrictions.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Although not required under the terms of the GPL, it would still be nice if
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt you could make any changes available to the author to allow a consistent
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater code base to be maintained
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Fixme: We use plain mallocs here beucase it may be used as a module
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User * should be changed.
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater General includes
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater************************************************************************
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein--------------------------------------------------------------------
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmpi/powerpc32/syntax.h:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein gmp2-2.0.2-ppc/mpn/powerpc-linux/syntax.h Tue Oct 6 19:27:01 1998
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User From glibc's sysdeps/unix/sysv/linux/powerpc/sysdep.h
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Copyright (C) 1992, 1997, 1998 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is part of the GNU C Library.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The GNU C Library is free software; you can redistribute it and/or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein modify it under the terms of the GNU Library General Public License as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein published by the Free Software Foundation; either version 2 of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein License, or (at your option) any later version.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The GNU C Library is distributed in the hope that it will be useful,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein but WITHOUT ANY WARRANTY; without even the implied warranty of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Library General Public License for more details.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein You should have received a copy of the GNU Library General Public
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein License along with the GNU C Library; see the file COPYING.LIB. If not,
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater Boston, MA 02111-1307, USA.
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein--------------------------------------------------------------------
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Copyright (C) 1997, 1998, 1999 by Werner Koch (dd9jn)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Copyright (C) 1992, 1994-2006 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Copyright (C) 2003 Nikos Mavroyanopoulos
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pubkey.c - pubkey dispatcher
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User tiger.c - The TIGER hash function
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pubkey.c - Public key encryption/decryption tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein md4.c - MD4 Message-Digest Algorithm
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cipher.c - cipher dispatcher
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews arcfour.c - The arcfour stream cipher
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt mpihelp-add_1.c - MPI helper functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2000, 2002 Free Software Foundation, Inc.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein keygen.c - key generation regression tests
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User mpi-div.c - MPI functions
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 2003 Free Software Foundation, Inc.
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User md.c - message digest dispatcher
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt rand-internal.h - header to glue the random functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mpicoder.c - Coder for the external representation of MPIs
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 2003 Free Software Foundation, Inc.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User random.h - random functions
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User serpent.c - Implementation of the Serpent encryption algorithm.
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt asm.h -- Definitions for 68k syntax variations.
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 2001, 2002 Free Software Foundation, Inc.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User crc.c - Cyclic redundancy checks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stdmem.c - private memory allocator
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Elgamal.c - ElGamal Public Key encryption
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein random.c - random number generator
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 2004, 2005 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User cipher.h
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stdmem.h - internal definitions for stdmem
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein gcrypt.h - GNU cryptographic library interface -*- c -*-
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2004, 2006 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mpi-inline.h - Internal to the Multi Precision Integers
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 2001, 2002 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is part of Libgcrypt.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews rfc2268.c - The cipher described in rfc2268; aka Ron's Cipher 2.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is part of Libgcrypt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt types.h - some common typedefs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User basic.c - basic regression tests
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein benchmark.c - for libgcrypt
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User mpihelp-add_2.c - MPI helper functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2002 Free Software Foundation, Inc.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews mpih-w-sdiv -- implement udiv_qrnnd on machines with only signed
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews division.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Contributed by Peter L. Montgomery.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein rsa.c - RSA function
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein t-mpi-bit.c - Tests for bit level functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pubkey.c - Public key encryption/decryption tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein bithelp.h - Some bit manipulation helpers
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ac.c - Alternative interface for asymmetric cryptography.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews mpi.h - Multi Precision Integers
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mpi-mpow.c - MPI functions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein testapi.c - for libgcrypt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mpih-mul2.c - MPI helper functions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2002 Free Software Foundation, Inc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein tsexp.c - S-expression regression tests
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews mpihelp-mul_1.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2002 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User rmd.h - RIPE-MD hash functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User sha1.c - SHA1 hash function
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User rmd160.c - RIPE-MD160
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User secmem.h - internal definitions for secmem
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User secmem.c - memory allocation from a secure heap
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User cast5.c - CAST5 cipher (RFC2144)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User primegen.c - prime number generator
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 2004 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpih-mul3.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2002 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-gcd.c - MPI functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User sha512.c - SHA384 and SHA512 hash functions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Please see below for more legal information!
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User sexp.c - S-Expression handling
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2004 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User blowfish.c - Blowfish encryption
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-scan.c - MPI functions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User global.c - global control functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2004, 2005, 2006 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-mul.c - MPI functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User mpi-pow.c - MPI functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Rijndael (AES) for GnuPG
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-bit.c - MPI bit level fucntions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Twofish for GPG
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Written by Matthew Skala <mskala@ansuz.sooke.bc.ca>, July 26, 1998
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 256-bit key length added March 20, 1999
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Some modifications to reduce the text size by Werner Koch, April, 1998
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User dsa.c - DSA signature scheme
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User misc.c
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User mpiutil.ac - Utility functions for MPI
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User g10lib.h - internal defintions for libgcrypt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This header is to be used inside of libgcrypt in place of gcrypt.h.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User This way we can better distinguish between internal and external
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User usage of gcrypt.h
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpih-div.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2001, 2002 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-internal.h - Internal to the Multi Precision Integers
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User module.c - Module management for libgcrypt.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-add.c - MPI functions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpih-mul.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2001, 2002 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-cmp.c - MPI functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-inline.c
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User syntax.h -- Definitions for x86 syntax variations.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2001, 2002 Free Software Foundation, Inc.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt rndegd.c - interface to the EGD
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User missing-string.c - missing string utilities
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt mpih-rshift.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2000, 2001, 2002 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User rndlinux.c - raw random number for OSes with /dev/random
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User register.c - Test for registering of additional cipher modules.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User sha256.c - SHA256 hash function
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User gcrypt-module.h - GNU cryptographic library interface
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt md5.c - MD5 Message-Digest Algorithm
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 2003 Free Software Foundation, Inc.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User mpi-lshift.c - MPI helper functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt mpi-inv.c - MPI functions
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User des.c - DES and Triple-DES encryption/decryption Algorithm
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This file is part of Libgcrypt.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Libgcrypt is free software; you can redistribute it and/or modify
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User it under the terms of the GNU Lesser general Public License as
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User published by the Free Software Foundation; either version 2.1 of
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User the License, or (at your option) any later version.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Libgcrypt is distributed in the hope that it will be useful,
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User but WITHOUT ANY WARRANTY; without even the implied warranty of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein GNU Lesser General Public License for more details.
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce You should have received a copy of the GNU Lesser General Public
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein License along with this program; if not, write to the Free Software
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Based on md5.c in libgcrypt, but rewritten to compute md4 checksums
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce using a public domain md4 implementation with the following comments:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Modified by Wei Dai from Andrew M. Kuchling's md4.c
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The original code and all modifications are in the public domain.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce This is the original introductory comment:
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater md4.c : MD4 hash algorithm.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Part of the Python Cryptography Toolkit, version 1.1
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Distribute and use freely; there are no restrictions on further
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce dissemination and usage except those imposed by the laws of your
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce country of residence.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater MD4 test suite:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater MD4 ("message digest") = d9130a8164549fe818874806e1c7014b
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce 043f8582f241db351ce627e153e7f0e4
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce MD4 ("123456789012345678901234567890123456789012345678901234567890123456
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater 78901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce For a description of the algorithm, see:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Bruce Schneier: Applied Cryptography. John Wiley & Sons, 1996.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ISBN 0-471-11709-9. Pages 397 ff.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Note: This code is heavily based on the GNU MP Library.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Actually it's the same code with only minor changes in the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce way the data is stored; this is to support the abstraction
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce of an optional secure memory allocation which may be used
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce to avoid revealing of sensitive data due to paging etc.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce 02111-1307, USA.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ISBN 0-471-11709-9. Pages 476 ff.
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce***************
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce This random number generator is modelled after the one described in
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Peter Gutmann's paper: "Software Generation of Practically Strong
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Random Numbers". See also chapter 6 in his book "Cryptographic
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Security Architecture", New York, 2004, ISBN 0-387-95387-6.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein USA.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User This implementation was written by Nikos Mavroyanopoulos for GNUTLS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as a Libgcrypt module (gnutls/lib/x509/rc2.c) and later adapted for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein direct use by Libgcrypt by Werner Koch. This implementation is
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce only useful for pkcs#12 descryption.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce The implementation here is based on Peter Gutmann's RRC.2 paper.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce This code uses an algorithm protected by U.S. Patent #4,405,829
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater which expired on September 20, 2000. The patent holder placed that
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater patent into the public domain on Sep 6th, 2000.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater MA 02110-1301, USA.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Test vectors:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce "abc"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce A999 3E36 4706 816A BA3E 2571 7850 C26C 9CD0 D89D
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater 8498 3E44 1C3B D26E BAAE 4AA1 F951 29E5 E546 70F1
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Test vectors:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce 128-bit key = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce plaintext = 01 23 45 67 89 AB CD EF
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ciphertext = 23 8B 4F E5 84 7E 44 B2
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce 80-bit key = 01 23 45 67 12 34 56 78 23 45
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce = 01 23 45 67 12 34 56 78 23 45 00 00 00 00 00 00
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce plaintext = 01 23 45 67 89 AB CD EF
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ciphertext = EB 6A 71 1A 2C 02 27 1B
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 40-bit key = 01 23 45 67 12
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User = 01 23 45 67 12 00 00 00 00 00 00 00 00 00 00 00
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User plaintext = 01 23 45 67 89 AB CD EF
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ciphertext = 7A C8 16 D1 6E 9B 30 2E
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ***********************************************************************
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce The algorithm used to generate practically save primes is due to
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Lim and Lee as described in the CRYPTO '97 proceedings (ISBN3540633847)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein page 260.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User You should have received a copy of the GNU General Public License
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User along with this program; if not, write to the Free Software
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Test vectors from FIPS-180-2:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User "abc"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 384:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User CB00753F 45A35E8B B5A03D69 9AC65007 272C32AB 0EDED163
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 1A8B605A 43FF5BED 8086072B A1E7CC23 58BAECA1 34C825A7
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 512:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User DDAF35A1 93617ABA CC417349 AE204131 12E6FA4E 89A97EA2 0A9EEEE6 4B55D39A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2192992A 274FC1A8 36BA3C23 A3FEEBBD 454D4423 643CE80E 2A9AC94F A54CA49F
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 384:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 09330C33 F71147E8 3D192FC7 82CD1B47 53111B17 3B3B05D2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2FA08086 E3B0F712 FCC7C71A 557E2DB9 66C3E9FA 91746039
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 512:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 8E959B75 DAE313DA 8CF4F728 14FC143F 8F7779C6 EB9F7FA1 7299AEAD B6889018
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 501D289E 4900F7E4 331B99DE C4B5433A C7D329EE B6DD2654 5E96E55B 874BE909
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User "a" x 1000000
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 384:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 9D0E1809 716474CB 086E834E 310A4A1C ED149E9C 00F24852
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 7972CEC5 704C2A5B 07B8B3DC 38ECC4EB AE97DDD8 7F3D8985
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User 512:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User E718483D 0CE76964 4E2E42C7 BC15B463 8E1F98B1 3B204428 5632A803 AFA973EB
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User DE0FF244 877EA60A 4CB0432C E577C31B EB009C5C 2C49AA2E 4EADB217 AD8CC09B
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ISBN 0-471-11709-9. Pages 336 ff.
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Test values:
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User key "abcdefghijklmnopqrstuvwxyz";
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User plain "BLOWFISH"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User cipher 32 4E D0 FE F4 13 A2 03
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein******************************************************************
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The code here is based on the optimized implementation taken from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ on Oct 2, 2000,
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User which carries this notice:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User------------------------------------------
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User rijndael-alg-fst.c v2.3 April '2000
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User Optimised ANSI C code
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User authors: v1.0: Antoon Bosselaers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein v2.0: Vincent Rijmen
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User v2.3: Paulo Barreto
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User This code is placed in the public domain.
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User------------------------------------------
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User