| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- ___ _ _____ _ ___
- / __\__ _| |_ \_ \__| | / __\___ _ __ ___ _ __ ___ ___ _ __
- / / / _` | __| / /\/ _` | / / / _ \| '_ ` _ \| '_ ` _ \ / _ \| '_ \
- / /__| (_| | |_/\/ /_| (_| | / /__| (_) | | | | | | | | | | | (_) | | | |
- \____/\__,_|\__\____/ \__,_| \____/\___/|_| |_| |_|_| |_| |_|\___/|_| |_|
-
- ___ _ __ _ _ _ ___
- / __\___ __| | ___ / /(_) |__ _ __ __ _ _ __ _ _ / | / _ \
- / / / _ \ / _` |/ _ \ / / | | '_ \| '__/ _` | '__| | | | | || | | |
- / /__| (_) | (_| | __/ / /__| | |_) | | | (_| | | | |_| | | || |_| |
- \____/\___/ \__,_|\___| \____/_|_.__/|_| \__,_|_| \__, | |_(_)___/
- |___/
- CatId Common Code Library 1.0 07/23/2009
- Released under a BSD-style license
- ------------------------------------------------------------------------
- ======================= Contact the Author =============================
- ------------------------------------------------------------------------
- Christopher A. Taylor
- Email: mrcatid@gmail.com
- AIM: MrCatid
- MSN: MrCatid@hotmail.com
- WWW: http://catid.org
- ------------------------------------------------------------------------
- =========================== What's New =================================
- ------------------------------------------------------------------------
- Latest revisions are available in the SVN log at libcatid.googlecode.com
- ------------------------------------------------------------------------
- ============================== TODO ====================================
- ------------------------------------------------------------------------
- Tunnel:
- Update the documentation
- .docx and .pdfs with lots of pictures
- Portability:
- Port the code to Mac
- ------------------------------------------------------------------------
- ============================= History ==================================
- ------------------------------------------------------------------------
- 07/23/2009 - Added switches for demo of 384-bit and 512-bit security
- Fixed 384-bit version of BigRTL::Load and BigRTL::Store
- Implemented template metaprogramming Comba Multiply
- 07/22/2009 - Visual Studio 2005 version works again
- 07/21/2009 - Split math code across many source files
- Reorganized the project for easier reuse
- 07/20/2009 - New key agreement protocol "Tabby" is working
- New functions added to BigTwistedEdward to support it
- Added <cat/port/AlignedAlloc.hpp> to align all math regs
- Optimized 32-bit version; now twice as fast as before
- 07/19/2009 - Pulled out all the old Tunnel code and rewrote it
- 07/17/2009 - Added <cat/crypt/rand/Fortuna.hpp>
- 07/15/2009 - Half way through writing Fortuna
- Slightly faster scalar point multiplication precomputation
- Worked on basic outline for new AKE protocol
- 07/14/2009 - Implemented and tested HMAC-MD5; this is now the Tunnel MAC
- Several bug fixes
- 07/13/2009 - Fixed Tunnel vulnerability to active small subgroup attack
- Fixed a bug in MrNegate()
- 07/12/2009 - Added inline assembly code for MultiplyXAdd()
- Added fast timing-attack resistant modular inversion
- Optimized MrSquareRoot() with a smaller window
- 07/11/2009 - All the math code is working again! Woohoo! =)
- Added <cat/crypt/SecureCompare.hpp> to replace memcmp()
- 07/10/2009 - Wrote 64-bit assembly code version of Divide()
- 07/09/2009 - In the middle of getting math working again
- 07/07/2009 - Merged Skein256 and Skein512 into the same object
- 07/02/2009 - Refactored math code; put a lot of unused code in the attic
- Added specialized 256-bit assembly code to math library
- 06/25/2009 - Improved replay attack protection to 1024 bits
- 06/24/2009 - Increased IV bits to 24 and moved IV code to TunnelSession
- Tunnel now has replay attack protection
- Fix: Tunnel only updates remote IV if it increased
- Split BigInt source across many files
- 06/23/2009 - Tunnel uses Skein for a MAC
- Tunnel no longer requires a cookie exchange
- Removed support for SHA-2 in favor of Skein
- Added math/EndianNeutral.hpp to Common
- Added math/BitMath.hpp to Common
- Added threads/Atomic.hpp to Common
- 06/20/2009 - Supports 512-bit ECC
- CookieJar now Supports IPv6 and variable-length addresses
- Put CAT_ before global macros
- Split up library into even more projects
- 06/19/2009 - Now can select a bit-twiddling version of w-MOF
- 06/16/2009 - Implemented Skein-256 and Skein-512 and timing tests
- 06/15/2009 - Implemented SHA-512 (and SHA-384) and unit tests
- ChaCha cipher now accepts up to 384-bit keys
- Hash and PRNG objects are now implemented from an interface
- Improved lockless FIFO code with opportunistic algorithm
- Now supports 384-bit ECC
- 06/14/2009 - Added <cat/crypto/Tunnel.hpp> and /docs/tunnel.pdf
- 06/13/2009 - Added ChaCha::ReconstructIV
- 06/12/2009 - Fixed endian neutrality of the Sha256 hash, so also ECC
- Added full handshake demo to the ECC unit test
- 06/11/2009 - Split the math code off from the framework code
- 06/10/2009 - Merged my code into this library for the first time
|