CryptKit change log CryptKit-8 -- Added prototypes for NSFEEPublicKey convenience methods to NSCryptors.h CryptKit-9 * Alpha version to dreece and crandall 13 Aug 1996 * FEE_KEY_VERSION 3, FEE_KEYSTRING_VERSION 1 CryptKit-10 -- Added KeyStringFormat.doc -- Deleted -publicKeyData, keyWithPublicKeyData (public keys now always represented as strings) -- Beefed up range and validity checking in: -- hexstr_to_giant() -- new_hexstr_from_key() -- +keyWithPublicKeyString -- Added check for valid_hexstr() and NULL hexstr_to_key() in +digitalSignatureWithDataRepresentation -- Added and enforced MAX_UNAME_LENGTH -- added key_equal(_plus, other->_plus) to -[NSFEEPublicKey isEqual:] -- last version with NSGiantIntegers.m, utilities.m, NSFastEllipticCurve.m as ObjC files CryptKit-11 * FEE_KEYSTRING_VERSION = 2 FEE_KEYSTRING_VERSION_MIN = 1 -- Major rewrite of all top-level classes; ported bulk of logic to portable C code. ObjC API (in NSCryptors.h, NSDESCryptor.h) unchanged. CryptKit-12 * Alpha version sent to REC 6 Sep 1996 and to dreece 12 Sep 96 -- Added platform.[ch] -- Fixed (bminBytes kludge from make_pad() -- was iszero(); is isZero() -- made bitlen() assertion conditional on FEE_DEBUG -- Trimmed plainBlockSize by one byte if q mod 8 = 0 in feeFEED, feeFEEEDExp. This is an incompatible change! But I don't think anyone was using the last version.... CryptKit-22 * Integrated into cryptdev master 31 Mar 1997 -- New NSMD5Hash class -- Rewrote NSDESCryptor using feeDES -- NSDataDigester was interface, is protocol -- Deleted digestObjectsWithKeys method from NSDataDigester -- Deleted NSRequestConcreteImplementation from NSDESCryptor and NSRandomNumberGenerator -- Rewrote NSRandomNumberGenerator using feeRandom -- Cleaned up misc. #ifdefs and stale code -- Put DES per-instance variables in struct _desInst -- Fixed memory leaks in feePubKeyCreateKeyString(), feeFEED.c -- Removed ANSI C headers from Public Header; framework is now strictly ObjC CryptKit-23 * Integrated into cryptdev master 1 May 1997 * Associated with ComDemo announcement 1 May 1997 -- No functional changes, only debugging printfs CryptKit-24 * Integrated into cryptdev master 11 June 1997 -- Mods to build on Mac CodeWarrior -- was #import, is #include -- mods to platform.[ch] -- lots of compiler warning fixes, mainly due to MW's inability to implicitly cast unsigned char * to char * CryptKit-25 * Integrated into cryptdev master 18 June 1997 -- New divg_via_recip(), modg_via_recip(), make_recip() -- new per-curveParams fields x1OrderPlusRecip and lesserX1OrderRecip -- Added lesserX1OrderJustify(), x1OrderPlusJustify(), binvg_cp() -- Added new multiple stack borrowGiant() mechanism -- All calls to borrowGiant() and newGiant() explicitly pass needed size; no more borrowGiant(0) -- Deleted old (i.e., obsolete and/or debugging) code from NSGiantIntegers.c and NSFastEllipticCurve.c -- Added description of FEED and FEEDExp ciphertext to ByteRep.doc -- Marked KeyStringFormat.doc as obsolete CryptKit-26 -- Implemented ECDSA in feeECDSA.[ch] -- Added binvg_orderPlus(), x1OrderPlusMod() -- Added generic signature encode/decode to byteRep.[ch]