114 lines
5.5 KiB
Plaintext
114 lines
5.5 KiB
Plaintext
___ _ _____ _ ___
|
|
/ __\__ _| |_ \_ \__| | / __\___ _ __ ___ _ __ ___ ___ _ __
|
|
/ / / _` | __| / /\/ _` | / / / _ \| '_ ` _ \| '_ ` _ \ / _ \| '_ \
|
|
/ /__| (_| | |_/\/ /_| (_| | / /__| (_) | | | | | | | | | | | (_) | | | |
|
|
\____/\__,_|\__\____/ \__,_| \____/\___/|_| |_| |_|_| |_| |_|\___/|_| |_|
|
|
|
|
___ _ __ _ _ _ ___
|
|
/ __\___ __| | ___ / /(_) |__ _ __ __ _ _ __ _ _ / | / _ \
|
|
/ / / _ \ / _` |/ _ \ / / | | '_ \| '__/ _` | '__| | | | | || | | |
|
|
/ /__| (_) | (_| | __/ / /__| | |_) | | | (_| | | | |_| | | || |_| |
|
|
\____/\___/ \__,_|\___| \____/_|_.__/|_| \__,_|_| \__, | |_(_)___/
|
|
|___/
|
|
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
|
|
|