Commit Graph

523 Commits

Author SHA1 Message Date
nelsonb%netscape.com
5fe44c9349 Checkin a big speedup for sparc v8 CPUs when compiled with Workshop
compilers.  Be sure to use -DMP_NO_MP_WORD with v8 CPUs.
2000-08-31 04:59:05 +00:00
nelsonb%netscape.com
eb2a2982e3 Fix mpi.h so that it compiles when MP_NO_MP_WORD is defined on the command
line (or prior to including mpi.h).
2000-08-31 03:59:48 +00:00
nelsonb%netscape.com
1b6110f143 Add missing copyright notice. Doh! 2000-08-31 03:45:39 +00:00
nelsonb%netscape.com
9b2c335e20 Some cleanup. Check error codes for all functions that return them. 2000-08-31 02:52:23 +00:00
nelsonb%netscape.com
8b0c1dcf1e Big changes for performance. mp_digits are now always unsigned ints.
mp_words are used only on machines that support long long arithmetic.
s_mp_mod_d() was deleted.  It was not being used and was not part of the
public API. The code that computes squares in s_mp_sqr was broken out
into a separate new function s_mpv_sqr_add_prop(), which is a target for
assembly language optimization.  New function s_mpv_div_2dx1d(), also a
target for assembly optimization.  These changes made X86 benchmark time
go from 22.5 seconds to 8.3 seconds on my reference test system.
2000-08-31 02:51:23 +00:00
nelsonb%netscape.com
52652e08a5 Add support for Linux on X86 CPUs. Use assembler code on MIPS CPUs. 2000-08-31 02:43:56 +00:00
nelsonb%netscape.com
5e06b71329 Gnu assembler implementations of all s_mpv_ functions for Intel X86 CPUs. 2000-08-31 02:41:20 +00:00
nelsonb%netscape.com
118024af9e Add implementation of s_mpv_sqr_add_prop. 2000-08-31 02:40:32 +00:00
cotter%netscape.com
737eb34e8c Updated release notes for PSM 1.3. 2000-08-30 04:33:05 +00:00
mcgreer%netscape.com
0be7764833 added fingerprints to list of things dumped with cert, bug 45303 2000-08-30 01:07:12 +00:00
mcgreer%netscape.com
dffd0ca3c8 moved fingerprint handling to secutil.c, see bug 45303 2000-08-30 01:06:00 +00:00
ddrinan%netscape.com
3cd59d7d92 Move PSM data files into psmdata directory 2000-08-30 00:25:49 +00:00
javi%netscape.com
6039578b5a Clean up the password setting routines so that forming the URL only happens in one place. 2000-08-29 23:54:26 +00:00
nelsonb%netscape.com
41b3d16d17 Change mpi-test to check the return values from most functions-under-test
explicitly for errors.
2000-08-29 04:26:23 +00:00
javi%netscape.com
9902cfe19b Make the PSM project build on the tip now. 2000-08-28 22:30:33 +00:00
javi%netscape.com
3a78e35001 Remove debugging alert 2000-08-28 21:37:13 +00:00
javi%netscape.com
4309a2faab Whomp the MAC_SECURITY_BRANCH onto tip. 2000-08-28 21:13:06 +00:00
javi%netscape.com
61f1350845 Update version number in properties file for About Personal Security Manager. 2000-08-28 18:25:04 +00:00
javi%netscape.com
1b8bd1d112 Update Version String. 2000-08-28 18:18:04 +00:00
javi%netscape.com
5cb2de637d Update version number in psm.rc file. 2000-08-28 18:17:14 +00:00
nelsonb%netscape.com
bb088780f3 Initial Checkin. 2000-08-26 23:50:58 +00:00
javi%netscape.com
6b8d30070f Make PSM smart enough to only display S/MIME information when it's talking to
an agent that we know takes advantage of S/MIME reatures.
2000-08-25 22:37:34 +00:00
javi%netscape.com
090240080f When setting a new password, warn the user right away when they goof instead
of submitting the form and waiting for the PSM CGI to send back a response.
2000-08-24 01:19:29 +00:00
javi%netscape.com
7c044d7e11 When changing Passwords, if there are multiple tokens, then ask the
user to select the token first. Plus other fixes/ compiler warning cleanups.
2000-08-23 23:52:34 +00:00
cotter%netscape.com
7c333b26e1 Correx from John Myers & to fix bug 48065 (communicator-specific terms) 2000-08-23 18:47:23 +00:00
mcgreer%netscape.com
609c9bf7d4 don't zero input to random update (RNG_SystemInfoForRNG uses environment as input). Fix for bug 49898. 2000-08-23 18:11:47 +00:00
nelsonb%netscape.com
3431bd1245 Fix two uninitialized variables, found while porting to Linux. 2000-08-23 01:20:15 +00:00
nelsonb%netscape.com
7c623513e6 des.c wants _X86_ defined for intel CPUs.
coreconf does this for windows, but not for Linux, FreeBSD, etc.
2000-08-23 00:06:08 +00:00
thayes%netscape.com
c4e33fa30f Add SDR Context resource type. 2000-08-22 17:17:20 +00:00
nelsonb%netscape.com
f28d74b9ab Big changes for performance.
- In mpi-priv.h, declare new 3 argument versions of s_mp_add and s_mp_sub.
Also declare new set of s_mpv_ functions that operate on vectors (arrays)
of mp_digits instead of on mp_ints.  These functions are candidates for
implementation in assembler.
- In mpi.c reimplement mp_add and mp_sub using the new 3arg functions.
Implement 3 argument versions of s_mp_add and s_mp_sub.
This eliminates all need for temporary variables in mp_add and mp_sub.
Implement c language reference implementations of new s_mpv vector multiply
and multiply and add functions.  Change mp_mul and mp_sqr so they no longer
pre-zero the output variable.  It's no longer nececssary with the new s_mpv
functions.  s_mp_pad no longer zeros out the new padded space.
-In mpmontg.c, implement variable width exponetiation windows.  Implement
a new function to compute the multiply and Montgomery reduction in a
single pass.  This is "Improvement 2" from Dusse' and Kaliski's paper
"A Cryptographic Library for the Motorola DSP56000".  Performance impact
is negligible in this c implementation.  However, this function is another
target for assembly language optimization.
2000-08-22 01:57:34 +00:00
nelsonb%netscape.com
a61f1b73ab Overhaul Makefile. Change it to use gmake's "static pattern rules",
instead of having explicit individual rules for every program. Also,
build .o files for programs, and link them in a separate step. This
speeds building after changing a .c file in the library.
2000-08-22 01:45:25 +00:00
nelsonb%netscape.com
4cf2feb015 Get these tests to build with the current mpi API. 2000-08-22 01:19:26 +00:00
thayes%netscape.com
4b809a5c35 Add SDR Context resource to hold information during processing of
SDR encrypt, decrypt and change password commands.  These changes
enable use of the context field of the SDR messages by clients.
2000-08-22 01:16:42 +00:00
nelsonb%netscape.com
67da52ab59 Go back to using gmake. 2000-08-22 01:15:41 +00:00
nelsonb%netscape.com
ddb4786c4a MIPS assembler code to optimize inner multiply loops for mips3 CPUs. 2000-08-22 00:55:10 +00:00
mcgreer%netscape.com
5585f66cd2 initial checkin of DSA implementation. 2000-08-18 18:32:33 +00:00
javi%netscape.com
9077b46633 Remove some unnecessary access paths from the project file. 2000-08-16 00:56:53 +00:00
jgmyers%netscape.com
7753e1ed88 remove 'no acceptable authetication' dialog box: bug 31737 r=javi a=lord 2000-08-15 21:23:49 +00:00
javi%netscape.com
b063828074 Whomp the SECURITY_MAC_BRANCH onto the tip. 2000-08-15 21:10:38 +00:00
javi%netscape.com
02df045057 Whomp SECURITY_MAC_BRANCH onto tip 2000-08-15 21:09:21 +00:00
mcgreer%netscape.com
0bc13d686f should be able to set negative offset during cert creation 2000-08-15 05:08:13 +00:00
mcgreer%netscape.com
6ac335d3cd wrong header 2000-08-14 22:50:36 +00:00
nelsonb%netscape.com
99c2fa3f33 Build des.c and desblapi.c. 2000-08-14 22:28:10 +00:00
nelsonb%netscape.com
792d99fbaa The Initial Developer of the Original Code is Nelson B. Bolyard,
nelsonb@iname.com.  Portions created by Nelson B. Bolyard are
Copyright (C) 1990, 2000  Nelson B. Bolyard, All Rights Reserved.
2000-08-14 22:27:20 +00:00
mcgreer%netscape.com
e547a95932 *** empty log message *** 2000-08-14 22:04:22 +00:00
nelsonb%netscape.com
9cc24caab8 "clean" target will also remove primes.c from mpi. 2000-08-14 21:04:46 +00:00
thayes%netscape.com
edeb93ad2f Add Pragma: no-cache to PSM UI pages. This prevents caching by the client
and avoids bugs due to missing UI Events, and display of stale content.
2000-08-11 17:32:25 +00:00
nelsonb%netscape.com
c8c44aff3b Add commented-out lines to build on other platforms.
Clean target now removes libmpi.a also.
2000-08-11 05:01:59 +00:00
nelsonb%netscape.com
8f6b77ce4d Change mp_add and mp_sub to not allocate a temporary variable unless it's
really necessary.
2000-08-11 01:58:20 +00:00
nelsonb%netscape.com
d2a30db497 Replace s_mp_ispow2d with faster version. Change s_mp_mul_d to detect
multiplication by 0, 1, and powers of 2, and handle them without actual
multiplication.
2000-08-10 21:43:16 +00:00
nelsonb%netscape.com
67cf3588f2 Eliminate one more warning. Add missing f suffix to float constant. 2000-08-09 22:45:51 +00:00
wtc%netscape.com
611e91f329 Bugzilla bug #48245: removed the -mno-486 compiler flag.
Modified files: FreeBSD2.mk, Linux.mk
This bug was reported by Steven T. Hatton <hattons@bellatlantic.net>.
2000-08-09 21:53:45 +00:00
nelsonb%netscape.com
5826c388d2 - Change mp_mul to minimize number of outer loops when multipliers are
of unequal length.
- Fix s_mp_fixup_reciprocal to not truncate the result.
- Use new macros in mpi-priv.h
2000-08-09 20:55:39 +00:00
nelsonb%netscape.com
203d540004 Use new MP_HOWMANY macro instead of equivalent code. 2000-08-09 20:53:25 +00:00
nelsonb%netscape.com
3f16031cb2 Comment out call to unimplemented function, so this will compile. 2000-08-09 20:46:59 +00:00
nelsonb%netscape.com
60e7af5b8b Some unix platform kshells don't understand export VAR=value
So instead use                                VAR=value; export VAR
2000-08-09 20:44:05 +00:00
nelsonb%netscape.com
6e65d05e51 Add new macros: MP_MIN, MP_MAX, MP_HOWMANY, MP_ROUNDUP. 2000-08-09 20:42:18 +00:00
javi%netscape.com
e1a150e2ef Don't call the callback function if one is not stored. 2000-08-09 17:17:42 +00:00
javi%netscape.com
05485feff7 Implement the poll loop on UNIX for the PKCS7 Decoder when finishing up
just in case PSM is a little slow to shove data back at us.
2000-08-08 23:08:53 +00:00
nelsonb%netscape.com
6449cf0e9f Emulate an SSL3 client more closely after a server negotiates down to 3.0. 2000-08-08 22:54:02 +00:00
ddrinan%netscape.com
588ef0b7ac Disable to TLS because some servers do not implement version rollback correctly 2000-08-08 21:10:20 +00:00
mcgreer%netscape.com
a4c0bd7e17 zero the correct amount of input bytes 2000-08-08 20:30:56 +00:00
nelsonb%netscape.com
1a81db9b8a Fix crash caused by zeroing a larger buffer than the caller passed in. 2000-08-08 05:56:56 +00:00
nelsonb%netscape.com
1818f084e5 Fix crash caused by uninitialized variable. 2000-08-08 05:56:10 +00:00
nelsonb%netscape.com
53ac6c5c98 - Change mpi private function s_mp_mul_d_add_offset into a macro.
- Declare and implement new function s_mp_mul_add, which is a candidate
  for replacement with assembler code.
- Convert mp_mul, mp_sqr, etc. to use s_mp_mul_add.
- New implementation of mp_invmod for odd moduli. Algorithm from paper
  "Fast Modular Reciprocals" by Richard Schroeppel (a.k.a. Captain Nemo).
- New function s_mp_invmod_32b in mpi.c, computes inverse mod 2**32, also
  from same paper. Used in mp_invmod and mp_exptmod.
2000-08-08 03:20:35 +00:00
javi%netscape.com
97d62f44f5 A fix for Windows where the client stops trying to read decrypted data back from the client before it's ready. 2000-08-08 01:26:44 +00:00
nelsonb%netscape.com
0bade04ba3 Platform independent performance enhancements to functions that multiply,
square, subtract, right shift, compare, mul_d_add_offset.  This lib's
Modular Exponentiation performance now compares favorably with most (not
all) other open source bignum libs on IRIX/R5000.  No assembler code is
presently being used.  Comparison on other platforms will now commence.
2000-08-05 03:37:46 +00:00
nelsonb%netscape.com
e30a05c7bf Minor performance tweaks. 2000-08-04 19:58:20 +00:00
nelsonb%netscape.com
f5478e8ae0 Add new signed mp_word type, mp_sword. Used to get arithmetic right
shifts when doing subtraction.
2000-08-04 19:57:24 +00:00
cotter%netscape.com
fd5e3a7502 Corrected date at top. 2000-08-03 17:24:43 +00:00
cotter%netscape.com
1eb2b4b0c2 Updated platforms supported (deleted Solaris 2.5.1). 2000-08-03 17:23:45 +00:00
nelsonb%netscape.com
a8b9681335 mpl_rsh now calls s_mp_div_2d instead of duplicating its logic.
mpl_lsh now calls s_mp_mul_2d instead of duplicating its logic.
2000-08-02 20:52:17 +00:00
nelsonb%netscape.com
26a0e342f4 - Implement s_mp_mul_2d, which complements s_mp_div_2d.
- Rewrite and speed up mp_sqr, most-frequently used in mp_exptmod().
- Speed up mp_sqrt by starting with a much better initial estimate.
2000-08-02 20:50:57 +00:00
nelsonb%netscape.com
da54a36647 Accept input args in hex, not decimal. Line up output into columns. 2000-08-02 20:48:28 +00:00
nelsonb%netscape.com
9620ef0ca4 Declare s_mp_mul_2d(), which is complementary to s_mp_div_2d(). 2000-08-02 20:47:05 +00:00
relyea%netscape.com
4bd8d5f202 Put modutil back into the daily builds 2000-08-02 18:42:32 +00:00
relyea%netscape.com
0ae2a22271 Remove old communicator stuff from libjar so modutil will build now. 2000-08-02 18:41:31 +00:00
cotter%netscape.com
6af181aba5 Added latest PSM license. 2000-08-02 16:46:16 +00:00
nelsonb%netscape.com
886543402f Reduced the number of temporary variables allocated and freed during a
modular exponentiation by over 99%.  Modified mp_mul and mp_sqr to only
allocate temporary variables when absolutely needed.  Changed mp_copy
and mp_init_copy to allocate space according to the amount allocated
in the source, reducing the need to grow the variable later.
2000-08-02 01:03:14 +00:00
nelsonb%netscape.com
147b7451ec Investigating allocation of temporary variables. 2000-08-02 01:01:01 +00:00
ddrinan%netscape.com
f3fa519172 Initialize pointer! 2000-08-02 00:20:24 +00:00
nelsonb%netscape.com
e24f34f2c8 Declare mp_int function arguments "const" as appropriate. 2000-08-01 01:38:30 +00:00
nelsonb%netscape.com
9caea97bd1 Change default value for MP_ARGCHK to depend on whether or not DEBUG is
defined.  Raise the default "precision" to reduce reallocations.
2000-08-01 01:36:30 +00:00
nelsonb%netscape.com
cb72925c4a Fix initalizers in logtab.h to be "float" values, not "double" values. 2000-07-31 20:36:41 +00:00
nelsonb%netscape.com
1ebd55b401 Fix build problem caused by the fact that including stdlib.h implicitly
includes stdio.h on some platforms, but not on others.
2000-07-31 20:08:46 +00:00
nelsonb%netscape.com
4e92230a97 Use Windowed computation of exponent in mp_exptmod(). 2000-07-30 06:37:14 +00:00
nelsonb%netscape.com
71be9cf03c Add function mpl_get_bits(). Returns value of contiguous subset of bits
of bignum.  Useful for windowed modular exponentiation.
2000-07-30 06:35:38 +00:00
nelsonb%netscape.com
78256a8fa7 MPI Arbitrary Precision Integer Arithmetic library.
The Initial Developer of the Original Code is
Michael J. Fromberger <sting@linguist.dartmouth.edu>
2000-07-30 02:05:19 +00:00
nelsonb%netscape.com
97ef19c3b8 MPI Arbitrary Precision Integer Arithmetic library.
The Initial Developer of the Original Code is
Michael J. Fromberger <sting@linguist.dartmouth.edu>
2000-07-30 01:56:35 +00:00
nelsonb%netscape.com
792ad45230 Build mpi library files in freebl. 2000-07-29 19:07:22 +00:00
nelsonb%netscape.com
df9c21a9de Separate DH implementation for use with BSAFE and mpi-based implementation
into two files.
2000-07-29 19:06:54 +00:00
nelsonb%netscape.com
534ec52daa Build libmpi.a. Include mpmontg.o in libmpi.a. Build programs with
libmpi.a.  Fix dependencies so lib is rebuilt when headers change.
2000-07-28 23:11:12 +00:00
nelsonb%netscape.com
6b24794435 Modular exponentiation with Montgomery reduction for MPI.
The Initial Developer of the Original Code is
Netscape Communications Corporation.  Portions created by Netscape are
Copyright (C) 2000 Netscape Communications Corporation.
All Rights Reserved.
2000-07-28 23:09:02 +00:00
nelsonb%netscape.com
71fb2fa5e4 Disambiguoate error messages in mod-expt test. 2000-07-28 23:04:23 +00:00
nelsonb%netscape.com
385fd4fc86 - Renamed mp_exptmod to s_mp_exptmod. This function is now used only in
when the modulus is even. mp_exptmod is now in mpmontg.c.
- Declare and define new function s_mp_mul_d_add_offset(), which computes
the product of an mp_digit and an mp_int, shifts the product to the left
by a number of digits, and adds the shifted product to another mp_int.
Used in multiplication and Montgomery reduction.  Numerous platform
vendors have assembly language versions of this function.
- Removed some ANDs with DIGIT_MAX.  Casting to mp_digit is necessary
and sufficient.  The AND doesn't help.
2000-07-28 23:03:12 +00:00
nelsonb%netscape.com
f554a212b4 Use unsigned int for mp_digit instead of unsigned long when both are
32-bits.  This reduced warnings.  Use mp_size instead of unsigned int
in function declarations. Fix MP_DIGIT_FMT for 32-bit digits.
2000-07-28 22:55:56 +00:00
nelsonb%netscape.com
a38b5ec52f Use mp_size instead of unsigned int in function prototypes. 2000-07-28 22:49:42 +00:00
mcgreer%netscape.com
ce6f724504 merge changes from 3.0 branch 2000-07-27 18:26:28 +00:00
nelsonb%netscape.com
99f3a8bf86 Add new function s_mp_add_offset().
Very handy in Montgomery reduction using Dusse' and Kalski's method.
2000-07-27 03:02:42 +00:00
nelsonb%netscape.com
b05581f7ec Moved the declarations of many private defines and functions out of mpi.c
and into mpi-priv.h.  Previously, mplogic.c and mpprime.c had duplicate
copies of some of those declarations.  Now, they include mpi-priv.h
2000-07-27 02:38:54 +00:00