LIBCAT.README.txt 5.5 KB

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