]>
Commit | Line | Data |
---|---|---|
b1ab9ed8 A |
1 | CryptKit change log |
2 | ||
3 | CryptKit-8 | |
4 | -- Added prototypes for NSFEEPublicKey convenience methods to NSCryptors.h | |
5 | ||
6 | CryptKit-9 | |
7 | * Alpha version to dreece and crandall 13 Aug 1996 | |
8 | * FEE_KEY_VERSION 3, FEE_KEYSTRING_VERSION 1 | |
9 | ||
10 | CryptKit-10 | |
11 | -- Added KeyStringFormat.doc | |
12 | -- Deleted -publicKeyData, keyWithPublicKeyData (public keys now always | |
13 | represented as strings) | |
14 | -- Beefed up range and validity checking in: | |
15 | -- hexstr_to_giant() | |
16 | -- new_hexstr_from_key() | |
17 | -- +keyWithPublicKeyString | |
18 | -- Added check for valid_hexstr() and NULL hexstr_to_key() in | |
19 | +digitalSignatureWithDataRepresentation | |
20 | -- Added and enforced MAX_UNAME_LENGTH | |
21 | -- added key_equal(_plus, other->_plus) to -[NSFEEPublicKey isEqual:] | |
22 | -- last version with NSGiantIntegers.m, utilities.m, NSFastEllipticCurve.m | |
23 | as ObjC files | |
24 | ||
25 | CryptKit-11 | |
26 | * FEE_KEYSTRING_VERSION = 2 | |
27 | FEE_KEYSTRING_VERSION_MIN = 1 | |
28 | -- Major rewrite of all top-level classes; ported bulk of logic to | |
29 | portable C code. ObjC API (in NSCryptors.h, NSDESCryptor.h) unchanged. | |
30 | ||
31 | CryptKit-12 | |
32 | * Alpha version sent to REC 6 Sep 1996 and to dreece 12 Sep 96 | |
33 | -- Added platform.[ch] | |
34 | -- Fixed (b<n), (sign<0) case in gmersennemod() to allow for arbitrary n. | |
35 | -- Added feeHashReinit() to feeHash.[hc]. | |
36 | -- Rewrote feeGenPrivate(). Hashes password and pads to (size of curve | |
37 | order)++, then takes result mod curve order. | |
38 | -- Added set_priv_key_data(), and removed its function from | |
39 | new_public_with_key(); deleted new_public_with_key(). | |
40 | -- Initial changes for compiling on NT. | |
41 | ||
42 | CryptKit-13 | |
43 | * Sent to REC for testing 1 Oct 96 | |
44 | -- first version to be (more or less) fully functional on NT | |
45 | -- tolerate non-hex leading and trailing characters in public key string | |
46 | -- Fixed --size underflow bug in normal_subg() | |
47 | -- Added enc64 routines | |
48 | ||
49 | CryptKit-14 | |
50 | * First version to compile & run OK on OpenStep/NT | |
51 | * Alpha version sent to dreece (17 Oct 96) and Avie (18 Oct 96) | |
52 | -- Added class names to CryptKit.def (was CryptKit.def.src - no longer | |
53 | builds C-only DLL from win.mak!) | |
54 | -- Updated to 4.1 pb_makefiles | |
55 | -- misc. Makefile tweaks to compile on NT | |
56 | -- Misc. tweaks for warning-free compile on NT | |
57 | -- ifdef'd out DllMain() | |
58 | ||
59 | CryptKit-15 | |
60 | * First integration into cryptdev master tree, 12 Nov 1996 | |
61 | * CFILE_VERSION = CFILE_MIN_VERSION = 1 | |
62 | -- Added feeCipherFile and NSCipherFile | |
63 | -- Added sigSigner out param to feePubKeyVerifySignature() | |
64 | -- Made enc64, dec64 more robust and more Microsoft-tolerant | |
65 | -- feeGenPrivate() returns error if private key data too short | |
66 | ||
67 | CryptKit-16 | |
68 | * Integrated into cryptdev master tree, 20 Dec 1996 | |
69 | * Sent to J. Landwehr with first NT version of ICE 20 Dec 1996 | |
70 | * COMMON_PUBLIC_KEY_STRING_VERSION = 2 | |
71 | * COMMON_FEE_SIG_VERSION | |
72 | * Major changes to keystring and signature format, compatible with | |
73 | JavaFEE-4 and backwards compatible with older CryptKit keys and | |
74 | signatures. | |
75 | * Verfified to work with ICE (JavaDemo-4) running on an NT server | |
76 | -- Added debugging code to DES.c, MD5.c | |
77 | -- Added mersennePrimes[24..26] | |
78 | -- Newlines optional in dec64() and isValidEnc64(). | |
79 | -- Added byteRep support to utilities.c | |
80 | ||
81 | CryptKit-17 | |
82 | -- New curveParams mechanism, with IEEE-approved curve parameters | |
83 | -- Old curve param 'a' is 'c'; new params b, c, x1OrderPlus x1OrderMinus | |
84 | -- This version doesn't *use* the new curve params in elliptic algebra; | |
85 | it's an interim version for testing. DVT suite (ckutils/cktest) still | |
86 | works at depths 0 thru 4. | |
87 | -- NO API CHANGES since CryptKit-16. | |
88 | -- key strings and signatures still compatible with CryptKit-16 and | |
89 | JavaFEE-4 | |
90 | -- Deleted mersennePrimes[], set_crypt_params(), new_public_com(), | |
91 | key_copy() | |
92 | -- Most fields in keystruct now superceded by curveParams *cp | |
93 | -- Added setGiantSize() kludge, replaces weird call to borrowGiant(*exp) | |
94 | in set_crypt_params() | |
95 | -- Added copyGiant(), giant_to_int() | |
96 | -- Removed a bunch of dead files from project | |
97 | -- Removed *_to_hexstr() from utilities.c | |
98 | -- Fixed "pad too short bug" in small depth cases in feePubKeyCreatePad() | |
99 | ||
100 | CryptKit-18 | |
101 | * Integrated into cryptdev master tree, 31 Jan 1997 | |
102 | * Completely broke backward compatibility with old key strings and | |
103 | signatures. | |
104 | * FEE_SIG_VERSION = 3 | |
105 | * PUBLIC_KEY_STRING_VERSION = 3 | |
106 | * Old 2:1 FEED renamed feeFEEDExp (feeFEEDExp.c, names start with | |
107 | feeFEEDExp). New 1:1 FEE is feeFEED.c. A #define in feeFEED.h redirects | |
108 | client's feeFEED calls to feeFEEDexp | |
109 | -- New elliptic math using all curveParams fields | |
110 | -- Cleaned up all which_curve/twist code to use CURVE_MINUS/CURVE_PLUS | |
111 | -- plus curves now used exclusively except for in FEED decrypt, which | |
112 | uses both curves | |
113 | -- Moved all byteRep code from utilities.c to byteRep.c. | |
114 | -- Added curveOrderJustify(), use it to trim private key data and | |
115 | signature random data to [2, curveOrder] | |
116 | -- curveParams[4] now has full parameters | |
117 | -- ENGINE_127_BITS version, with hard-coded 127 bit elliptic() in | |
118 | engineNSA127.c, no longer builds - obsolete (hopefully) | |
119 | -- Fixed negation bug in gmersennemod() (a long-standing FEE bug) | |
120 | -- Fixed n[words-1] == 0 bug in extractbits() (ditto) | |
121 | -- Added keyWithPrivateString:depth:usageName: to NSFEEPublicKey | |
122 | -- Deleted obsolete #defines from NSFastEllipticCurve.c, including those | |
123 | for signature_compare() | |
124 | -- Added FEE_PROFILE logic | |
125 | -- Now have unified giant-to-byteRep mechanism via serializeGiant and | |
126 | deserializeGiant. Deleted canonicalize_ints(), canonicalize_shorts(), | |
127 | giant_cleanse(), data_to_giant() | |
128 | -- Removed all *_to_hexstr and hexstr_to* code | |
129 | ||
130 | CryptKit-19 | |
131 | * First version known to be bit-for-bit compatible with JavaFEE. | |
132 | keys, signatures, ciphertext, and cipherfiles. Tested against | |
133 | JavaFEE-5. | |
134 | * Integrated in cryptdev master 13 Feb 1997. | |
135 | -- Broke backward compatibility with CipherFiles. CFILE_VERSION = 1. | |
136 | -- First working 1:1 FEED, in feeFEED.c. Old 2:1 FEED, now in feeFEEDExp.c, | |
137 | unchanged. | |
138 | -- Fixed zero bug in gcompg(). | |
139 | -- CipherFile uses portable byte rep; added CFE_FEED and CFE_FEEDExp types | |
140 | -- New optimized numer_plus(), denom_double(), and numer_times() | |
141 | -- Added maxShorts and minBytes to curveParams | |
142 | -- Added explicit SIGN_PLUS, SIGN_MINUS as 's' arg to elliptic_add() | |
143 | -- newGiant() no longer modifies CurrentMaxShorts or giant stack | |
144 | -- Added FEE_DEPTH_192_M529891 | |
145 | -- Added feeFEEDCipherTextSize(), feeFEEDExpCipherTextSize() | |
146 | -- Fixed platform dependencies in MD5.c | |
147 | -- All borrowGiant() calls in NSFastEllipticCurve,c specify explicit | |
148 | giant size (usually curveParams.maxShorts) | |
149 | -- #ifdef'd out matric math routines in NSGiantIntegers.c | |
150 | -- Added FEE_DEPTH_192_M529891 | |
151 | -- CurveParams.c now assumes all fields have valid giants | |
152 | -- feeCipherfile now has four encrTypes - CFE_PublicDES, CFE_RandDES, | |
153 | CFE_FEED, CFE_FEEDExp | |
154 | ||
155 | CryptKit-20 | |
156 | * Integrated in cryptdev master 20 Feb 1997. | |
157 | -- CipherFile - was {key1,key2}, is {sendPubKey,otherKey} | |
158 | -- Broke out common defines into CipherFileTypes.h | |
159 | -- NSCipher returns nil properly on otherKeyData, sigSata, sendPubKeyData | |
160 | -- Added enc64WithLines; dec64 ignores all whitespace | |
161 | -- Broke out encrType-specific functions in CipherFile{FEED,DES} | |
162 | ||
163 | CryptKit-21 | |
164 | * Integrated in cryptdev master 7 Mar 1997. | |
165 | * Sent to REC 7 Mar 1997. | |
166 | -- Added curve depth = 3; q=40, k=213 | |
167 | -- cleaned up CryptKit.h, NSCryptors.h | |
168 | -- updated Makefile for backup purposes | |
169 | -- Moved NSFEEPublicKey interface into its own file | |
170 | -- Added mulgTime profiling stat | |
171 | -- Deleted len = par->minBytes kludge from make_pad() | |
172 | -- was iszero(); is isZero() | |
173 | -- made bitlen() assertion conditional on FEE_DEBUG | |
174 | -- Trimmed plainBlockSize by one byte if q mod 8 = 0 in feeFEED, | |
175 | feeFEEEDExp. This is an incompatible change! But I don't think anyone | |
176 | was using the last version.... | |
177 | ||
178 | CryptKit-22 | |
179 | * Integrated into cryptdev master 31 Mar 1997 | |
180 | -- New NSMD5Hash class | |
181 | -- Rewrote NSDESCryptor using feeDES | |
182 | -- NSDataDigester was interface, is protocol | |
183 | -- Deleted digestObjectsWithKeys method from NSDataDigester | |
184 | -- Deleted NSRequestConcreteImplementation from NSDESCryptor and | |
185 | NSRandomNumberGenerator | |
186 | -- Rewrote NSRandomNumberGenerator using feeRandom | |
187 | -- Cleaned up misc. #ifdefs and stale code | |
188 | -- Put DES per-instance variables in struct _desInst | |
189 | -- Fixed memory leaks in feePubKeyCreateKeyString(), feeFEED.c | |
190 | -- Removed ANSI C headers from Public Header; framework is now strictly | |
191 | ObjC | |
192 | ||
193 | CryptKit-23 | |
194 | * Integrated into cryptdev master 1 May 1997 | |
195 | * Associated with ComDemo announcement 1 May 1997 | |
196 | -- No functional changes, only debugging printfs | |
197 | ||
198 | CryptKit-24 | |
199 | * Integrated into cryptdev master 11 June 1997 | |
200 | -- Mods to build on Mac CodeWarrior | |
201 | -- was #import, is #include | |
202 | -- mods to platform.[ch] | |
203 | -- lots of compiler warning fixes, mainly due to MW's inability to | |
204 | implicitly cast unsigned char * to char * | |
205 | ||
206 | CryptKit-25 | |
207 | * Integrated into cryptdev master 18 June 1997 | |
208 | -- New divg_via_recip(), modg_via_recip(), make_recip() | |
209 | -- new per-curveParams fields x1OrderPlusRecip and lesserX1OrderRecip | |
210 | -- Added lesserX1OrderJustify(), x1OrderPlusJustify(), binvg_cp() | |
211 | -- Added new multiple stack borrowGiant() mechanism | |
212 | -- All calls to borrowGiant() and newGiant() explicitly pass needed size; | |
213 | no more borrowGiant(0) | |
214 | -- Deleted old (i.e., obsolete and/or debugging) code from | |
215 | NSGiantIntegers.c and NSFastEllipticCurve.c | |
216 | -- Added description of FEED and FEEDExp ciphertext to ByteRep.doc | |
217 | -- Marked KeyStringFormat.doc as obsolete | |
218 | ||
219 | CryptKit-26 | |
220 | -- Implemented ECDSA in feeECDSA.[ch] | |
221 | -- Added binvg_orderPlus(), x1OrderPlusMod() | |
222 | -- Added generic signature encode/decode to byteRep.[ch] |