u/mdw/catacomb
23 years agoRenamed from `rsa-decrypt', since the name was no longer appropriate.
mdw [Sat, 1 Jul 2000 11:23:20 +0000 (11:23 +0000)]
Renamed from `rsa-decrypt', since the name was no longer appropriate.
Add functions for doing padded RSA decryption and signing.

23 years agoRemove bad type name `rsa_param'.
mdw [Sat, 1 Jul 2000 11:22:22 +0000 (11:22 +0000)]
Remove bad type name `rsa_param'.

23 years agoMoved to `rsa-priv.c'.
mdw [Sat, 1 Jul 2000 11:21:56 +0000 (11:21 +0000)]
Moved to `rsa-priv.c'.

23 years agoNew interface for computing products of many (small) integers.
mdw [Sat, 1 Jul 2000 11:21:39 +0000 (11:21 +0000)]
New interface for computing products of many (small) integers.

23 years agoNew functions for freeing public and private keys.
mdw [Sat, 1 Jul 2000 11:20:51 +0000 (11:20 +0000)]
New functions for freeing public and private keys.

23 years agoRemove bad type name `bbs_param'.
mdw [Sat, 1 Jul 2000 11:20:36 +0000 (11:20 +0000)]
Remove bad type name `bbs_param'.

23 years agoNew functions for freeing public and private keys. Remove bad type name
mdw [Sat, 1 Jul 2000 11:20:24 +0000 (11:20 +0000)]
New functions for freeing public and private keys.  Remove bad type name
`bbs_param'.

23 years agoUse new interfaces for key manipulation.
mdw [Sat, 1 Jul 2000 11:18:51 +0000 (11:18 +0000)]
Use new interfaces for key manipulation.

23 years agoSupport for Optimal Asymmetric Encryption Padding.
mdw [Sat, 1 Jul 2000 11:18:30 +0000 (11:18 +0000)]
Support for Optimal Asymmetric Encryption Padding.

23 years agoNew support for PKCS#1 message encoding.
mdw [Sat, 1 Jul 2000 11:17:38 +0000 (11:17 +0000)]
New support for PKCS#1 message encoding.

23 years ago(pgen_gcd): Bug fix -- check the GCDs of the right things when deciding
mdw [Sat, 1 Jul 2000 11:09:20 +0000 (11:09 +0000)]
(pgen_gcd): Bug fix -- check the GCDs of the right things when deciding
whether to abort.

23 years ago(rslog): Ensure that log(1) = 0 (not 255, as previously). While the two
mdw [Mon, 26 Jun 2000 17:14:42 +0000 (17:14 +0000)]
(rslog): Ensure that log(1) = 0 (not 255, as previously).  While the two
are strictly equivalent, it means that the exp table is larger than it
otherwise needs to be.

23 years agoVersion bump.
mdw [Mon, 26 Jun 2000 07:54:52 +0000 (07:54 +0000)]
Version bump.

23 years agoPortability fix for the bug fix.
mdw [Mon, 26 Jun 2000 07:52:50 +0000 (07:52 +0000)]
Portability fix for the bug fix.

23 years agoFix cleaning of generated files.
mdw [Sun, 25 Jun 2000 13:02:07 +0000 (13:02 +0000)]
Fix cleaning of generated files.

23 years agoVersion bump.
mdw [Sun, 25 Jun 2000 12:59:09 +0000 (12:59 +0000)]
Version bump.

23 years ago(mpx_udiv): Fix bug in quotient digit estimation.
mdw [Sun, 25 Jun 2000 12:59:02 +0000 (12:59 +0000)]
(mpx_udiv): Fix bug in quotient digit estimation.

23 years agoNew tests for bugs.
mdw [Sun, 25 Jun 2000 12:58:34 +0000 (12:58 +0000)]
New tests for bugs.

23 years agoFix the derivation of `depth' commentary.
mdw [Sun, 25 Jun 2000 12:58:23 +0000 (12:58 +0000)]
Fix the derivation of `depth' commentary.

23 years agoMinor reformatting.
mdw [Sat, 24 Jun 2000 20:06:21 +0000 (20:06 +0000)]
Minor reformatting.

23 years agoFix daft error in the comment for @gfshare_get@.
mdw [Sat, 24 Jun 2000 19:11:47 +0000 (19:11 +0000)]
Fix daft error in the comment for @gfshare_get@.

23 years agoInterface change: allow shares to be extracted from a context on demand,
mdw [Sat, 24 Jun 2000 18:29:05 +0000 (18:29 +0000)]
Interface change: allow shares to be extracted from a context on demand,
rather than building them all up-front.

23 years agoFix Makefile to test mp-sqrt.c.
mdw [Thu, 22 Jun 2000 19:10:33 +0000 (19:10 +0000)]
Fix Makefile to test mp-sqrt.c.

23 years agoMore new functions to be added.
mdw [Thu, 22 Jun 2000 19:04:19 +0000 (19:04 +0000)]
More new functions to be added.

23 years agoUse the new @mp_odd@ function.
mdw [Thu, 22 Jun 2000 19:03:14 +0000 (19:03 +0000)]
Use the new @mp_odd@ function.

23 years agoNew function @mp_odd@ to extract powers of two from an integer. This is
mdw [Thu, 22 Jun 2000 19:02:53 +0000 (19:02 +0000)]
New function @mp_odd@ to extract powers of two from an integer.  This is
common code from the Rabin-Miller test, RSA key recovery and modular
square-root extraction.

23 years agoAdd new functions.
mdw [Thu, 22 Jun 2000 19:02:01 +0000 (19:02 +0000)]
Add new functions.

23 years agoCompute (approximations to) integer square roots.
mdw [Thu, 22 Jun 2000 19:01:44 +0000 (19:01 +0000)]
Compute (approximations to) integer square roots.

23 years agoCompute square roots in a prime field.
mdw [Thu, 22 Jun 2000 19:01:31 +0000 (19:01 +0000)]
Compute square roots in a prime field.

23 years agoNew test cases for square root functions.
mdw [Thu, 22 Jun 2000 19:01:14 +0000 (19:01 +0000)]
New test cases for square root functions.

23 years agoTwofish can handle keys with any byte-aligned size.
mdw [Thu, 22 Jun 2000 18:58:00 +0000 (18:58 +0000)]
Twofish can handle keys with any byte-aligned size.

23 years agoImprove secret reconstruction -- compute coefficients as needed rather
mdw [Thu, 22 Jun 2000 18:04:13 +0000 (18:04 +0000)]
Improve secret reconstruction -- compute coefficients as needed rather
than making a big array of them.

23 years agoRearrange build order to ensure that `mptypes.h' exists by the time it's
mdw [Sun, 18 Jun 2000 23:31:18 +0000 (23:31 +0000)]
Rearrange build order to ensure that `mptypes.h' exists by the time it's
needed.

23 years agoWhoops. Fix a typo.
mdw [Sun, 18 Jun 2000 23:26:09 +0000 (23:26 +0000)]
Whoops.  Fix a typo.

23 years agoChange typesetting of Galois Field names.
mdw [Sun, 18 Jun 2000 23:12:15 +0000 (23:12 +0000)]
Change typesetting of Galois Field names.

23 years agoMinor performance tweak: use Barrett reduction rather than Montgomery.
mdw [Sun, 18 Jun 2000 23:05:19 +0000 (23:05 +0000)]
Minor performance tweak: use Barrett reduction rather than Montgomery.
Fast secret sharing isn't done here, though: see `gfshare' instead.

23 years agoWhoops. Too eager with the mLib version.
mdw [Sat, 17 Jun 2000 13:51:03 +0000 (13:51 +0000)]
Whoops.  Too eager with the mLib version.

23 years agoMinor tidying and fixing.
mdw [Sat, 17 Jun 2000 13:28:50 +0000 (13:28 +0000)]
Minor tidying and fixing.

23 years agoNew free counter noise generator, for use if /dev/random is
mdw [Sat, 17 Jun 2000 12:57:47 +0000 (12:57 +0000)]
New free counter noise generator, for use if /dev/random is
unavailable.

23 years agoAdd braces to shut compiler up. Reformat code slightly.
mdw [Sat, 17 Jun 2000 12:21:39 +0000 (12:21 +0000)]
Add braces to shut compiler up.  Reformat code slightly.

23 years agoIgnore uninteresting files.
mdw [Sat, 17 Jun 2000 12:12:29 +0000 (12:12 +0000)]
Ignore uninteresting files.

23 years agoBuild mLib test vector files from the AES files.
mdw [Sat, 17 Jun 2000 12:12:20 +0000 (12:12 +0000)]
Build mLib test vector files from the AES files.

23 years agoConvert AES test vector files to mLib format.
mdw [Sat, 17 Jun 2000 12:12:05 +0000 (12:12 +0000)]
Convert AES test vector files to mLib format.

23 years agoNew cipher.
mdw [Sat, 17 Jun 2000 12:11:49 +0000 (12:11 +0000)]
New cipher.

23 years agoMore regression tests.
mdw [Sat, 17 Jun 2000 12:11:39 +0000 (12:11 +0000)]
More regression tests.

23 years agoMore regression tests. Test binary I/O.
mdw [Sat, 17 Jun 2000 12:11:34 +0000 (12:11 +0000)]
More regression tests.  Test binary I/O.

23 years agoMake the `.catacomb' directory if it doesn't exist.
mdw [Sat, 17 Jun 2000 12:10:32 +0000 (12:10 +0000)]
Make the `.catacomb' directory if it doesn't exist.

23 years agoAdd some argument checking. Use MP secure memory interface.
mdw [Sat, 17 Jun 2000 12:10:09 +0000 (12:10 +0000)]
Add some argument checking.  Use MP secure memory interface.

23 years agoShamir's secret sharing system.
mdw [Sat, 17 Jun 2000 12:09:38 +0000 (12:09 +0000)]
Shamir's secret sharing system.

23 years agoSet up Makefile in `tests' subdirectory. Copy the public release key.
mdw [Sat, 17 Jun 2000 12:09:25 +0000 (12:09 +0000)]
Set up Makefile in `tests' subdirectory.  Copy the public release key.

23 years agoRestructure handling of cipher-based generators. Add counter-mode
mdw [Sat, 17 Jun 2000 12:08:28 +0000 (12:08 +0000)]
Restructure handling of cipher-based generators.  Add counter-mode
ciphers and MGF-1 hash functions.  Add FIPS 140-1 and Maurer's tests.

23 years agoAdd key fetching interface. Add new rsa_decrypt interface.
mdw [Sat, 17 Jun 2000 12:07:36 +0000 (12:07 +0000)]
Add key fetching interface.  Add new rsa_decrypt interface.

23 years agoFix a bug in argument validation. Force %$p > q$% in output. Use
mdw [Sat, 17 Jun 2000 12:07:19 +0000 (12:07 +0000)]
Fix a bug in argument validation.  Force %$p > q$% in output.  Use
%$\lambda(n) = \lcm(p - 1, q - 1)$% rather than the more traditional
%$\phi(n) = (p - 1)(q - 1)$% when computing the decryption exponent.

23 years agoLots of changes:
mdw [Sat, 17 Jun 2000 12:05:15 +0000 (12:05 +0000)]
Lots of changes:

  * Apply limits on %$\gcd(p - 1, q - 1)$% to reduce the space of
    equivalent decryption exponents.

  * Force %$e = F_4 = 2^{16} + 1$% to avoid small-encryption-exponent
    attacks.

  * Ensure that %$p > q$% and that %$p - q$% is large to deter
    square-root-based factoring methods.

  * Use %$e d \equiv 1 \pmod{\lambda(n)}$%, where %$\lambda(n)$% is
    %$\lcm(p - 1, q - 1)$%, as recommended in PKCS#1, rather than the
    more usual %$\varphi(n) = (p - 1)(q - 1)$%.

  * Handle aborts from pgen_jump.

23 years agoImprove bulk performance by making better use of Montgomery
mdw [Sat, 17 Jun 2000 11:57:56 +0000 (11:57 +0000)]
Improve bulk performance by making better use of Montgomery
multiplication and separating out initialization and finalization from
the main code.

23 years agoNew cipher.
mdw [Sat, 17 Jun 2000 11:56:07 +0000 (11:56 +0000)]
New cipher.

23 years agoNew key size interface. Use secure arena for memory allocation.
mdw [Sat, 17 Jun 2000 11:56:00 +0000 (11:56 +0000)]
New key size interface.  Use secure arena for memory allocation.

23 years agoNew key size interface. Add notes about the cipher.
mdw [Sat, 17 Jun 2000 11:55:50 +0000 (11:55 +0000)]
New key size interface.  Add notes about the cipher.

23 years agoNew key size interface. Allow key material to be combined with an
mdw [Sat, 17 Jun 2000 11:55:22 +0000 (11:55 +0000)]
New key size interface.  Allow key material to be combined with an
existing initialized context.  Use secure arena for memory allocation.

23 years agoNew key size interface. Allow key material to be combined with an
mdw [Sat, 17 Jun 2000 11:55:13 +0000 (11:55 +0000)]
New key size interface.  Allow key material to be combined with an
existing initialized context.

23 years agoUse new MP memory management functions.
mdw [Sat, 17 Jun 2000 11:54:27 +0000 (11:54 +0000)]
Use new MP memory management functions.

23 years agoDeprecate `rand_getgood'. Provide a new interface to ensure that a pool
mdw [Sat, 17 Jun 2000 11:53:55 +0000 (11:53 +0000)]
Deprecate `rand_getgood'.  Provide a new interface to ensure that a pool
is well seeded.  Use secure arena for memory allocation.

23 years agoDeprecate `rand_getgood'. Provide a new interface to ensure that a pool
mdw [Sat, 17 Jun 2000 11:53:38 +0000 (11:53 +0000)]
Deprecate `rand_getgood'.  Provide a new interface to ensure that a pool
is well seeded.

23 years agoTypesetting fix.
mdw [Sat, 17 Jun 2000 11:52:48 +0000 (11:52 +0000)]
Typesetting fix.

23 years agoSignal a pgen abort if the jump and base share a common factor.
mdw [Sat, 17 Jun 2000 11:52:36 +0000 (11:52 +0000)]
Signal a pgen abort if the jump and base share a common factor.

23 years agoAdd the GCD filter.
mdw [Sat, 17 Jun 2000 11:52:12 +0000 (11:52 +0000)]
Add the GCD filter.

23 years agoFilter which imposes additional restrictions on GCD of %$(p - 1)/2$%
mdw [Sat, 17 Jun 2000 11:51:53 +0000 (11:51 +0000)]
Filter which imposes additional restrictions on GCD of %$(p - 1)/2$%
with a given integer.

23 years agoQuick compilation tool.
mdw [Sat, 17 Jun 2000 11:51:05 +0000 (11:51 +0000)]
Quick compilation tool.

23 years agoNew pixie protocol allowing application to request passphrases and send
mdw [Sat, 17 Jun 2000 11:50:53 +0000 (11:50 +0000)]
New pixie protocol allowing application to request passphrases and send
them to the pixie.  Use the secure arena interface for the input
buffer.  Extend the input buffer.  Other minor fixes.

23 years agoNew pixie protocol allowing application to request passphrases and send
mdw [Sat, 17 Jun 2000 11:49:49 +0000 (11:49 +0000)]
New pixie protocol allowing application to request passphrases and send
them to the pixie.

23 years agoChange buffer offset to be unsigned.
mdw [Sat, 17 Jun 2000 11:48:24 +0000 (11:48 +0000)]
Change buffer offset to be unsigned.

23 years agoUse secure arena for memory allocation. Rearrange setiv slightly.
mdw [Sat, 17 Jun 2000 11:48:02 +0000 (11:48 +0000)]
Use secure arena for memory allocation.  Rearrange setiv slightly.

23 years agoConvenience macros for producing debugging output containing MP
mdw [Sat, 17 Jun 2000 11:46:58 +0000 (11:46 +0000)]
Convenience macros for producing debugging output containing MP
integers.

23 years agoNew and much faster stack-based algorithm for reading integers. Support
mdw [Sat, 17 Jun 2000 11:46:19 +0000 (11:46 +0000)]
New and much faster stack-based algorithm for reading integers.  Support
reading and writing binary integers in bases between 2 and 256.

23 years agoMajor memory management overhaul. Added arena support. Use the secure
mdw [Sat, 17 Jun 2000 11:45:09 +0000 (11:45 +0000)]
Major memory management overhaul.  Added arena support.  Use the secure
arena for secret integers.  Replace and improve the MP management macros
(e.g., replace MP_MODIFY by MP_DEST).

23 years agoMoved the Karatsuba macros into a separate file for better sharing.
mdw [Sat, 17 Jun 2000 11:42:54 +0000 (11:42 +0000)]
Moved the Karatsuba macros into a separate file for better sharing.
Fixed some comments.  Use an improved technique so that all the
operations are squarings.

23 years agoMoved the Karatsuba macros into a separate file for better sharing.
mdw [Sat, 17 Jun 2000 11:42:11 +0000 (11:42 +0000)]
Moved the Karatsuba macros into a separate file for better sharing.
Fixed some comments.

23 years agoOverhaul to use mLib's arena system underneath.
mdw [Sat, 17 Jun 2000 11:35:48 +0000 (11:35 +0000)]
Overhaul to use mLib's arena system underneath.

23 years agoMore hacking for the signs of the outputs.
mdw [Sat, 17 Jun 2000 11:34:46 +0000 (11:34 +0000)]
More hacking for the signs of the outputs.

23 years agoMGF-1 support, as defined in PKCS#1.
mdw [Sat, 17 Jun 2000 11:33:11 +0000 (11:33 +0000)]
MGF-1 support, as defined in PKCS#1.

23 years agoChange buffer offset to be unsigned.
mdw [Sat, 17 Jun 2000 11:32:52 +0000 (11:32 +0000)]
Change buffer offset to be unsigned.

23 years agoPortability fix for broken compilers.
mdw [Sat, 17 Jun 2000 11:31:43 +0000 (11:31 +0000)]
Portability fix for broken compilers.

23 years agoMaurer's universal statistical test.
mdw [Sat, 17 Jun 2000 11:29:49 +0000 (11:29 +0000)]
Maurer's universal statistical test.

23 years agoAdd arena support.
mdw [Sat, 17 Jun 2000 11:29:38 +0000 (11:29 +0000)]
Add arena support.

23 years agoAdd the flags word to the generic generator.
mdw [Sat, 17 Jun 2000 11:29:03 +0000 (11:29 +0000)]
Add the flags word to the generic generator.

23 years agoAmend the notes slightly.
mdw [Sat, 17 Jun 2000 11:28:51 +0000 (11:28 +0000)]
Amend the notes slightly.

23 years agoUse secure memory interface from MP library. `rand_getgood' is
mdw [Sat, 17 Jun 2000 11:28:22 +0000 (11:28 +0000)]
Use secure memory interface from MP library.  `rand_getgood' is
deprecated.

23 years agoKey size table interpretation.
mdw [Sat, 17 Jun 2000 11:27:52 +0000 (11:27 +0000)]
Key size table interpretation.

23 years agoAdd key fetching interface.
mdw [Sat, 17 Jun 2000 11:27:43 +0000 (11:27 +0000)]
Add key fetching interface.

23 years agoUse secure memory interface from MP library.
mdw [Sat, 17 Jun 2000 11:27:20 +0000 (11:27 +0000)]
Use secure memory interface from MP library.

23 years ago`rand_getgood' is deprecated.
mdw [Sat, 17 Jun 2000 11:26:35 +0000 (11:26 +0000)]
`rand_getgood' is deprecated.

23 years agoAdd the key packing interface.
mdw [Sat, 17 Jun 2000 11:26:18 +0000 (11:26 +0000)]
Add the key packing interface.

23 years agokey_structfind: track minor data structure change, and cope if the
mdw [Sat, 17 Jun 2000 11:26:03 +0000 (11:26 +0000)]
key_structfind: track minor data structure change, and cope if the
subkey isn't available.

23 years agoNew key size interface.
mdw [Sat, 17 Jun 2000 11:24:08 +0000 (11:24 +0000)]
New key size interface.

23 years agoUse secure arena for memory allocation. Minor changes in the generic
mdw [Sat, 17 Jun 2000 11:23:44 +0000 (11:23 +0000)]
Use secure arena for memory allocation.  Minor changes in the generic
hash interface.

23 years agoPortability fix for broken compilers.
mdw [Sat, 17 Jun 2000 11:23:27 +0000 (11:23 +0000)]
Portability fix for broken compilers.

23 years agoTypesetting fix. Add a flags word to the generic generator.
mdw [Sat, 17 Jun 2000 11:23:11 +0000 (11:23 +0000)]
Typesetting fix.  Add a flags word to the generic generator.

23 years agoMinor changes in the generic hash and MAC interfaces.
mdw [Sat, 17 Jun 2000 11:22:46 +0000 (11:22 +0000)]
Minor changes in the generic hash and MAC interfaces.

23 years agoMinor changes in the generic hash interface.
mdw [Sat, 17 Jun 2000 11:22:17 +0000 (11:22 +0000)]
Minor changes in the generic hash interface.

23 years agoAdd a commentary on the system.
mdw [Sat, 17 Jun 2000 11:05:27 +0000 (11:05 +0000)]
Add a commentary on the system.