aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2011-04-19 18:36:38 +0000
committerlloyd <[email protected]>2011-04-19 18:36:38 +0000
commit7530ebcc5a3ffddf00cef432d6ff409783ae9902 (patch)
tree5c16cfe3bb97136211d3eb4c4be19e4023decb37
parent73d4e7850e38228d25589dc154039dd4fced59a9 (diff)
Document changes to passhash9 and ECDSA keys that I forgot to include
in the 1.9.16 change notes. Update the passhash9 ref to match reality.
-rw-r--r--doc/log.txt19
-rw-r--r--doc/passhash.txt27
2 files changed, 34 insertions, 12 deletions
diff --git a/doc/log.txt b/doc/log.txt
index 4c9e5e054..b8a23079b 100644
--- a/doc/log.txt
+++ b/doc/log.txt
@@ -40,6 +40,21 @@ Version 1.9.16, 2011-04-11
* ``EC_Group``'s string constructor didn't understand the standard
names like "secp160r1", forcing use of the OIDs.
+* Two constructors for ECDSA private keys, the one that creates a new
+ random key, and the one that provides a preset private key as a
+ ``BigInt``, have been merged. This matches the existing interface
+ for DSA and DH keys. If you previously used the version taking a
+ ``BigInt`` private key, you'll have to additionally pass in a
+ ``RandomNumberGenerator`` object starting in this release.
+
+* It is now possible to create ECDH keys with a preset ``BigInt``
+ private key; previously no method for this was available.
+
+* The overload of ``generate_passhash9`` that takes an explicit
+ algorithm identifier has been merged with the one that does not.
+ The algorithm identifier code has been moved from the second
+ parameter to the fourth. See :ref:`passhash9` for details.
+
* Change shared library versioning to match the normal Unix
conventions. Instead of ``libbotan-X.Y.Z.so``, the shared lib is
named ``libbotan.so.X.Y.Z``; this allows the runtime linker to do
@@ -98,7 +113,7 @@ Version 1.9.13, 2011-02-19
* Update Keccak to the round 3 variant
* Fix ordering in GOST 34.10 signatures to match DNSSEC specifications
* Use ``size_t`` instead of ``u32bit`` for small integers in DER/BER codecs
-* Add new build option --distribution-info
+* Add new build option ``--distribution-info``
* Fix problems in the amalgamation build
* Fix building under Clang 2.9 and Sun Studio 12
@@ -209,7 +224,7 @@ Version 1.9.8, 2010-06-14
* Use constant time multiplication in IDEA
* Avoid possible timing attack against OAEP decoding
* Removed FORK-256; rarely used and it has been broken
-* Rename --use-boost-python to --with-boost-python
+* Rename ``--use-boost-python`` to ``--with-boost-python``
* Skip building shared libraries on MinGW/Cygwin
* Fix creation of 512 and 768 bit DL groups using the DSA kosherizer
* Fix compilation on GCC versions before 4.3 (missing cpuid.h)
diff --git a/doc/passhash.txt b/doc/passhash.txt
index 005043e44..e9a179c1a 100644
--- a/doc/passhash.txt
+++ b/doc/passhash.txt
@@ -133,23 +133,30 @@ Here is an example of using bcrypt:
.. literalinclude:: examples/bcrypt.cpp
+.. _passhash9:
+
Passhash9
----------------------------------------
Botan also provides a password hashing technique called passhash9, in
-``passhash9.h``, which is based on PBKDF2.
+``passhash9.h``, which is based on PBKDF2. Its outputs look like::
-.. cpp:function:: std::string generate_passhash9(const std::string& password, \
- RandomNumberGenerator& rng, u16bit work_factor = 10)
-
- Functions much like ``generate_bcrypt``
+ "$9$AAAKxwMGNPSdPkOKJS07Xutm3+1Cr3ytmbnkjO6LjHzCMcMQXvcT"
.. cpp:function:: std::string generate_passhash9(const std::string& password, \
- byte alg_id, RandomNumberGenerator& rng, u16bit work_factor = 10)
-
- Like the other ``generate_passhash9``, but taking a parameter that
- specifies which PRF to use. Currently defined values are 0
- ("HMAC(SHA-1)"), 1 ("HMAC(SHA-256)"), and 2 ("CMAC(Blowfish)").
+ RandomNumberGenerator& rng, u16bit work_factor = 10, byte alg_id = 0)
+
+ Functions much like ``generate_bcrypt``. The last parameter,
+ ``alg_id``, specifies which PRF to use. Currently defined values
+ are
+
+ ======= ==============
+ Value PRF algorithm
+ ======= ==============
+ 0 HMAC(SHA-1)
+ 1 HMAC(SHA-256)
+ 2 CMAC(Blowfish)
+ ======= ==============
.. cpp:function:: bool check_passhash9(const std::string& password, \
const std::string& hash)