diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/aes.cpp | 1 | ||||
-rw-r--r-- | src/arc4.cpp | 2 | ||||
-rw-r--r-- | src/bit_ops.cpp | 68 | ||||
-rw-r--r-- | src/buf_es.cpp | 2 | ||||
-rw-r--r-- | src/cbc.cpp | 2 | ||||
-rw-r--r-- | src/cbc_mac.cpp | 2 | ||||
-rw-r--r-- | src/cfb.cpp | 2 | ||||
-rw-r--r-- | src/cmac.cpp | 2 | ||||
-rw-r--r-- | src/ctr.cpp | 2 | ||||
-rw-r--r-- | src/cts.cpp | 2 | ||||
-rw-r--r-- | src/des.cpp | 2 | ||||
-rw-r--r-- | src/dl_group.cpp | 2 | ||||
-rw-r--r-- | src/dlies.cpp | 2 | ||||
-rw-r--r-- | src/dsa_gen.cpp | 15 | ||||
-rw-r--r-- | src/eax.cpp | 2 | ||||
-rw-r--r-- | src/hmac.cpp | 2 | ||||
-rw-r--r-- | src/lion.cpp | 2 | ||||
-rw-r--r-- | src/lubyrack.cpp | 2 | ||||
-rw-r--r-- | src/md2.cpp | 2 | ||||
-rw-r--r-- | src/mgf1.cpp | 2 | ||||
-rw-r--r-- | src/numthry.cpp | 28 | ||||
-rw-r--r-- | src/ofb.cpp | 2 | ||||
-rw-r--r-- | src/pkcs5.cpp | 2 | ||||
-rw-r--r-- | src/policy.cpp | 283 | ||||
-rw-r--r-- | src/randpool.cpp | 2 | ||||
-rw-r--r-- | src/rsa.cpp | 2 | ||||
-rw-r--r-- | src/rw.cpp | 2 | ||||
-rw-r--r-- | src/safer_sk.cpp | 1 | ||||
-rw-r--r-- | src/symkey.cpp | 2 | ||||
-rw-r--r-- | src/turing.cpp | 2 | ||||
-rw-r--r-- | src/util.cpp | 34 | ||||
-rw-r--r-- | src/wid_wake.cpp | 2 | ||||
-rw-r--r-- | src/x919_mac.cpp | 2 | ||||
-rw-r--r-- | src/x931_rng.cpp | 2 |
34 files changed, 255 insertions, 229 deletions
diff --git a/src/aes.cpp b/src/aes.cpp index 18a3afbf1..24f1f6213 100644 --- a/src/aes.cpp +++ b/src/aes.cpp @@ -5,7 +5,6 @@ #include <botan/aes.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> namespace Botan { diff --git a/src/arc4.cpp b/src/arc4.cpp index f317239c0..238567cdc 100644 --- a/src/arc4.cpp +++ b/src/arc4.cpp @@ -4,7 +4,7 @@ *************************************************/ #include <botan/arc4.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/parsing.h> namespace Botan { diff --git a/src/bit_ops.cpp b/src/bit_ops.cpp deleted file mode 100644 index 5fd14704e..000000000 --- a/src/bit_ops.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************* -* Bit/Word Operations Source File * -* (C) 1999-2008 Jack Lloyd * -*************************************************/ - -#include <botan/bit_ops.h> -#include <botan/loadstor.h> - -namespace Botan { - -/************************************************* -* Return true iff arg is 2**n for some n > 0 * -*************************************************/ -bool power_of_2(u64bit arg) - { - if(arg == 0 || arg == 1) - return false; - if((arg & (arg-1)) == 0) - return true; - return false; - } - -/************************************************* -* Return the index of the highest set bit * -*************************************************/ -u32bit high_bit(u64bit n) - { - for(u32bit count = 64; count > 0; --count) - if((n >> (count - 1)) & 0x01) - return count; - return 0; - } - -/************************************************* -* Return the index of the lowest set bit * -*************************************************/ -u32bit low_bit(u64bit n) - { - for(u32bit count = 0; count != 64; ++count) - if((n >> count) & 0x01) - return (count + 1); - return 0; - } - -/************************************************* -* Return the number of significant bytes in n * -*************************************************/ -u32bit significant_bytes(u64bit n) - { - for(u32bit j = 0; j != 8; ++j) - if(get_byte(j, n)) - return 8-j; - return 0; - } - -/************************************************* -* Return the Hamming weight of n * -*************************************************/ -u32bit hamming_weight(u64bit n) - { - u32bit weight = 0; - for(u32bit j = 0; j != 64; ++j) - if((n >> j) & 0x01) - ++weight; - return weight; - } - -} diff --git a/src/buf_es.cpp b/src/buf_es.cpp index 9f7be3e9b..19f30e22c 100644 --- a/src/buf_es.cpp +++ b/src/buf_es.cpp @@ -4,7 +4,7 @@ *************************************************/ #include <botan/buf_es.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/util.h> #include <algorithm> diff --git a/src/cbc.cpp b/src/cbc.cpp index 5561aa0e0..9ad598bed 100644 --- a/src/cbc.cpp +++ b/src/cbc.cpp @@ -5,7 +5,7 @@ #include <botan/cbc.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/cbc_mac.cpp b/src/cbc_mac.cpp index 0f403b9b3..d5275b0ed 100644 --- a/src/cbc_mac.cpp +++ b/src/cbc_mac.cpp @@ -5,7 +5,7 @@ #include <botan/cbc_mac.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/cfb.cpp b/src/cfb.cpp index 357dce6f7..dbfbff6ae 100644 --- a/src/cfb.cpp +++ b/src/cfb.cpp @@ -6,7 +6,7 @@ #include <botan/cfb.h> #include <botan/lookup.h> #include <botan/parsing.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/cmac.cpp b/src/cmac.cpp index 5e0b56db5..210fa6768 100644 --- a/src/cmac.cpp +++ b/src/cmac.cpp @@ -5,7 +5,7 @@ #include <botan/cmac.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/ctr.cpp b/src/ctr.cpp index e30d07d24..8b8c5f35f 100644 --- a/src/ctr.cpp +++ b/src/ctr.cpp @@ -5,7 +5,7 @@ #include <botan/ctr.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/cts.cpp b/src/cts.cpp index 56ea8f06c..8af775713 100644 --- a/src/cts.cpp +++ b/src/cts.cpp @@ -5,7 +5,7 @@ #include <botan/cts.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/des.cpp b/src/des.cpp index feb5df037..d09752854 100644 --- a/src/des.cpp +++ b/src/des.cpp @@ -5,7 +5,7 @@ #include <botan/des.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/dl_group.cpp b/src/dl_group.cpp index f1a7cb26e..b37bc238c 100644 --- a/src/dl_group.cpp +++ b/src/dl_group.cpp @@ -87,7 +87,7 @@ DL_Group::DL_Group(RandomNumberGenerator& rng, const MemoryRegion<byte>& seed, u32bit pbits, u32bit qbits) { if(!generate_dsa_primes(rng, p, q, pbits, qbits, seed)) - throw Invalid_Argument("DL_Group: The seed/counter given does not " + throw Invalid_Argument("DL_Group: The seed given does not " "generate a DSA group"); g = make_dsa_generator(p, q); diff --git a/src/dlies.cpp b/src/dlies.cpp index 22e606403..2a2f33925 100644 --- a/src/dlies.cpp +++ b/src/dlies.cpp @@ -6,7 +6,7 @@ #include <botan/dlies.h> #include <botan/lookup.h> #include <botan/look_pk.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <memory> namespace Botan { diff --git a/src/dsa_gen.cpp b/src/dsa_gen.cpp index d0b60f73c..baaba66ee 100644 --- a/src/dsa_gen.cpp +++ b/src/dsa_gen.cpp @@ -19,12 +19,15 @@ namespace { *************************************************/ bool fips186_3_valid_size(u32bit pbits, u32bit qbits) { - if(pbits == 1024 && qbits == 160) - return true; - if(pbits == 2048 && (qbits == 224 || qbits == 256)) - return true; - if(pbits == 3072 && qbits == 256) - return true; + if(qbits == 160) + return (pbits == 512 || pbits == 768 || pbits == 1024); + + if(qbits == 224) + return (pbits == 2048); + + if(qbits == 256) + return (pbits == 2048 || pbits == 3072); + return false; } diff --git a/src/eax.cpp b/src/eax.cpp index f244f0290..c5ae5e9fa 100644 --- a/src/eax.cpp +++ b/src/eax.cpp @@ -5,7 +5,7 @@ #include <botan/eax.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/parsing.h> #include <algorithm> diff --git a/src/hmac.cpp b/src/hmac.cpp index 5604145f4..b8c76e8f6 100644 --- a/src/hmac.cpp +++ b/src/hmac.cpp @@ -6,7 +6,7 @@ #include <botan/hmac.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/lion.cpp b/src/lion.cpp index 65b8560ae..009e98408 100644 --- a/src/lion.cpp +++ b/src/lion.cpp @@ -5,7 +5,7 @@ #include <botan/lion.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/parsing.h> namespace Botan { diff --git a/src/lubyrack.cpp b/src/lubyrack.cpp index 66a7ba2bd..4a5408e1d 100644 --- a/src/lubyrack.cpp +++ b/src/lubyrack.cpp @@ -5,7 +5,7 @@ #include <botan/lubyrack.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/md2.cpp b/src/md2.cpp index ff7d5436c..c609eda10 100644 --- a/src/md2.cpp +++ b/src/md2.cpp @@ -4,7 +4,7 @@ *************************************************/ #include <botan/md2.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/mgf1.cpp b/src/mgf1.cpp index c6f30eee9..70f5a50a0 100644 --- a/src/mgf1.cpp +++ b/src/mgf1.cpp @@ -6,7 +6,7 @@ #include <botan/mgf1.h> #include <botan/lookup.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> #include <memory> diff --git a/src/numthry.cpp b/src/numthry.cpp index 2b900e96c..9f05b6114 100644 --- a/src/numthry.cpp +++ b/src/numthry.cpp @@ -1,9 +1,10 @@ /************************************************* * Number Theory Source File * -* (C) 1999-2007 Jack Lloyd * +* (C) 1999-2008 Jack Lloyd * *************************************************/ #include <botan/numthry.h> +#include <botan/bit_ops.h> #include <algorithm> namespace Botan { @@ -73,12 +74,27 @@ u32bit miller_rabin_test_iterations(u32bit bits, bool verify) *************************************************/ u32bit low_zero_bits(const BigInt& n) { - if(n.is_zero()) return 0; + if(n.is_negative() || n.is_zero()) return 0; - u32bit bits = 0, max_bits = n.bits(); - while((n.get_bit(bits) == 0) && bits < max_bits) - ++bits; - return bits; + u32bit low_zero = 0; + + if(n.is_positive() && n.is_nonzero()) + { + for(u32bit i = 0; i != n.size(); ++i) + { + word x = n[i]; + + if(x) + { + low_zero += __builtin_ctzl(x); + break; + } + else + low_zero += BOTAN_MP_WORD_BITS; + } + } + + return low_zero; } /************************************************* diff --git a/src/ofb.cpp b/src/ofb.cpp index 568bd02fa..db254d329 100644 --- a/src/ofb.cpp +++ b/src/ofb.cpp @@ -5,7 +5,7 @@ #include <botan/ofb.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/pkcs5.cpp b/src/pkcs5.cpp index 77d8c9200..8a6e7b5a8 100644 --- a/src/pkcs5.cpp +++ b/src/pkcs5.cpp @@ -6,7 +6,7 @@ #include <botan/pkcs5.h> #include <botan/lookup.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/hmac.h> #include <algorithm> #include <memory> diff --git a/src/policy.cpp b/src/policy.cpp index 5f94098c6..834ea8442 100644 --- a/src/policy.cpp +++ b/src/policy.cpp @@ -242,128 +242,201 @@ void set_default_config(Library_State& config) void set_default_dl_groups(Library_State& config) { config.set("dl", "modp/ietf/768", - "-----BEGIN X942 DH PARAMETERS-----" - "MIHIAmEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxObIlFK" - "CHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjo2IP//" - "////////AgECAmB//////////+SH7VEQtGEaYmMxRcBuDmiUgScERTPmOgEF31Md" - "ic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4obp/Catrao4SLyQtq7MS8/Y3omIXTT" - "HRsQf/////////8=" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIHIAmEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxObIlFK" + "CHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjo2IP//" + "////////AgECAmB//////////+SH7VEQtGEaYmMxRcBuDmiUgScERTPmOgEF31Md" + "ic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4obp/Catrao4SLyQtq7MS8/Y3omIXTT" + "HRsQf/////////8=" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "modp/ietf/1024", - "-----BEGIN X942 DH PARAMETERS-----" - "MIIBCgKBgQD//////////8kP2qIhaMI0xMZii4DcHNEpAk4IimfMdAILvqY7E5si" - "UUoIeY40BN3vlRmzzTpDGzArCm3yXxQ3T+E1bW1RwkXkhbV2Yl5+xvRMQummN+1r" - "C/9ctvQGt+3uOGv7Womfpa6fJBF8Sx/mSShmUezmU4H//////////wIBAgKBgH//" - "////////5IftURC0YRpiYzFFwG4OaJSBJwRFM+Y6AQXfUx2JzZEopQQ8xxoCbvfK" - "jNnmnSGNmBWFNvkvihun8Jq2tqjhIvJC2rsxLz9jeiYhdNMb9rWF/65begNb9vcc" - "Nf2tRM/S10+SCL4lj/MklDMo9nMpwP//////////" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIIBCgKBgQD//////////8kP2qIhaMI0xMZii4DcHNEpAk4IimfMdAILvqY7E5si" + "UUoIeY40BN3vlRmzzTpDGzArCm3yXxQ3T+E1bW1RwkXkhbV2Yl5+xvRMQummN+1r" + "C/9ctvQGt+3uOGv7Womfpa6fJBF8Sx/mSShmUezmU4H//////////wIBAgKBgH//" + "////////5IftURC0YRpiYzFFwG4OaJSBJwRFM+Y6AQXfUx2JzZEopQQ8xxoCbvfK" + "jNnmnSGNmBWFNvkvihun8Jq2tqjhIvJC2rsxLz9jeiYhdNMb9rWF/65begNb9vcc" + "Nf2tRM/S10+SCL4lj/MklDMo9nMpwP//////////" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "modp/ietf/1536", - "-----BEGIN X942 DH PARAMETERS-----" - "MIIBigKBwQD//////////8kP2qIhaMI0xMZii4DcHNEpAk4IimfMdAILvqY7E5si" - "UUoIeY40BN3vlRmzzTpDGzArCm3yXxQ3T+E1bW1RwkXkhbV2Yl5+xvRMQummN+1r" - "C/9ctvQGt+3uOGv7Womfpa6fJBF8Sx/mSShmUezkWz3CAHy4oWO/BZjaSDYcVdOa" - "aRY/qP0kz1+DZV0j3KOtlhxi81YghVK7ntUpB3CWlm1nDDVOSryYBPF0bAjKI3Mn" - "//////////8CAQICgcB//////////+SH7VEQtGEaYmMxRcBuDmiUgScERTPmOgEF" - "31Mdic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4obp/Catrao4SLyQtq7MS8/Y3om" - "IXTTG/a1hf+uW3oDW/b3HDX9rUTP0tdPkgi+JY/zJJQzKPZyLZ7hAD5cULHfgsxt" - "JBsOKunNNIsf1H6SZ6/Bsq6R7lHWyw4xeasQQqldz2qUg7hLSzazhhqnJV5MAni6" - "NgRlEbmT//////////8=" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIIBigKBwQD//////////8kP2qIhaMI0xMZii4DcHNEpAk4IimfMdAILvqY7E5si" + "UUoIeY40BN3vlRmzzTpDGzArCm3yXxQ3T+E1bW1RwkXkhbV2Yl5+xvRMQummN+1r" + "C/9ctvQGt+3uOGv7Womfpa6fJBF8Sx/mSShmUezkWz3CAHy4oWO/BZjaSDYcVdOa" + "aRY/qP0kz1+DZV0j3KOtlhxi81YghVK7ntUpB3CWlm1nDDVOSryYBPF0bAjKI3Mn" + "//////////8CAQICgcB//////////+SH7VEQtGEaYmMxRcBuDmiUgScERTPmOgEF" + "31Mdic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4obp/Catrao4SLyQtq7MS8/Y3om" + "IXTTG/a1hf+uW3oDW/b3HDX9rUTP0tdPkgi+JY/zJJQzKPZyLZ7hAD5cULHfgsxt" + "JBsOKunNNIsf1H6SZ6/Bsq6R7lHWyw4xeasQQqldz2qUg7hLSzazhhqnJV5MAni6" + "NgRlEbmT//////////8=" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "modp/ietf/2048", - "-----BEGIN X942 DH PARAMETERS-----" - "MIICDAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" - "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" - "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" - "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" - "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" - "5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAgKCAQB//////////+SH7VEQtGEa" - "YmMxRcBuDmiUgScERTPmOgEF31Mdic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4ob" - "p/Catrao4SLyQtq7MS8/Y3omIXTTG/a1hf+uW3oDW/b3HDX9rUTP0tdPkgi+JY/z" - "JJQzKPZyLZ7hAD5cULHfgsxtJBsOKunNNIsf1H6SZ6/Bsq6R7lHWyw4xeasQQqld" - "z2qUg7hLSzazhhqnJV5MAni6NgRlDBC+GUgvIxcbZx3xzzuWDAdDAc2TwdF2A9FH" - "2uKu+DemKWTvFeX7SqwLjBzKpL51SrVyiukTDEx9AogKuUctRVZVNH//////////" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIICDAKCAQEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" + "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" + "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" + "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" + "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" + "5RXSJhiY+gUQFXKOWoqsqmj//////////wIBAgKCAQB//////////+SH7VEQtGEa" + "YmMxRcBuDmiUgScERTPmOgEF31Mdic2RKKUEPMcaAm73yozZ5p0hjZgVhTb5L4ob" + "p/Catrao4SLyQtq7MS8/Y3omIXTTG/a1hf+uW3oDW/b3HDX9rUTP0tdPkgi+JY/z" + "JJQzKPZyLZ7hAD5cULHfgsxtJBsOKunNNIsf1H6SZ6/Bsq6R7lHWyw4xeasQQqld" + "z2qUg7hLSzazhhqnJV5MAni6NgRlDBC+GUgvIxcbZx3xzzuWDAdDAc2TwdF2A9FH" + "2uKu+DemKWTvFeX7SqwLjBzKpL51SrVyiukTDEx9AogKuUctRVZVNH//////////" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "modp/ietf/3072", - "-----BEGIN X942 DH PARAMETERS-----" - "MIIDDAKCAYEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" - "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" - "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" - "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" - "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" - "5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM" - "fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq" - "ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqTrS" - "yv//////////AgECAoIBgH//////////5IftURC0YRpiYzFFwG4OaJSBJwRFM+Y6" - "AQXfUx2JzZEopQQ8xxoCbvfKjNnmnSGNmBWFNvkvihun8Jq2tqjhIvJC2rsxLz9j" - "eiYhdNMb9rWF/65begNb9vccNf2tRM/S10+SCL4lj/MklDMo9nItnuEAPlxQsd+C" - "zG0kGw4q6c00ix/UfpJnr8GyrpHuUdbLDjF5qxBCqV3PapSDuEtLNrOGGqclXkwC" - "eLo2BGUMEL4ZSC8jFxtnHfHPO5YMB0MBzZPB0XYD0Ufa4q74N6YpZO8V5ftKrAuM" - "HMqkvnVKtXKK6RMMTH0CiAq5Ry1FVWIW1pmLhoIoPRnUKpDV745dMnZ9woIsbfeF" - "RXU4q66DBj7Zy4fC03DyY9X610ZthJnrj0ZKcCUSsM7ncekTDWl3NfiX/QNsxQQy" - "bDsBOZ9kNTIpD5WMC72QBl3wi6u9MK62O4TEYF1so3EEcSfQOnLVmKHtrf5wfohH" - "JcFokFSdaWV//////////w==" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIIDDAKCAYEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" + "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" + "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" + "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" + "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" + "5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM" + "fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq" + "ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqTrS" + "yv//////////AgECAoIBgH//////////5IftURC0YRpiYzFFwG4OaJSBJwRFM+Y6" + "AQXfUx2JzZEopQQ8xxoCbvfKjNnmnSGNmBWFNvkvihun8Jq2tqjhIvJC2rsxLz9j" + "eiYhdNMb9rWF/65begNb9vccNf2tRM/S10+SCL4lj/MklDMo9nItnuEAPlxQsd+C" + "zG0kGw4q6c00ix/UfpJnr8GyrpHuUdbLDjF5qxBCqV3PapSDuEtLNrOGGqclXkwC" + "eLo2BGUMEL4ZSC8jFxtnHfHPO5YMB0MBzZPB0XYD0Ufa4q74N6YpZO8V5ftKrAuM" + "HMqkvnVKtXKK6RMMTH0CiAq5Ry1FVWIW1pmLhoIoPRnUKpDV745dMnZ9woIsbfeF" + "RXU4q66DBj7Zy4fC03DyY9X610ZthJnrj0ZKcCUSsM7ncekTDWl3NfiX/QNsxQQy" + "bDsBOZ9kNTIpD5WMC72QBl3wi6u9MK62O4TEYF1so3EEcSfQOnLVmKHtrf5wfohH" + "JcFokFSdaWV//////////w==" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "modp/ietf/4096", - "-----BEGIN X942 DH PARAMETERS-----" - "MIIEDAKCAgEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" - "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" - "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" - "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" - "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" - "5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM" - "fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq" - "ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI" - "ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O" - "+S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI" - "HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0BjGZ//////////8CAQICggIA" - "f//////////kh+1RELRhGmJjMUXAbg5olIEnBEUz5joBBd9THYnNkSilBDzHGgJu" - "98qM2eadIY2YFYU2+S+KG6fwmra2qOEi8kLauzEvP2N6JiF00xv2tYX/rlt6A1v2" - "9xw1/a1Ez9LXT5IIviWP8ySUMyj2ci2e4QA+XFCx34LMbSQbDirpzTSLH9R+kmev" - "wbKuke5R1ssOMXmrEEKpXc9qlIO4S0s2s4YapyVeTAJ4ujYEZQwQvhlILyMXG2cd" - "8c87lgwHQwHNk8HRdgPRR9rirvg3pilk7xXl+0qsC4wcyqS+dUq1corpEwxMfQKI" - "CrlHLUVVYhbWmYuGgig9GdQqkNXvjl0ydn3Cgixt94VFdTirroMGPtnLh8LTcPJj" - "1frXRm2EmeuPRkpwJRKwzudx6RMNaXc1+Jf9A2zFBDJsOwE5n2Q1MikPlYwLvZAG" - "XfCLq70wrrY7hMRgXWyjcQRxJ9A6ctWYoe2t/nB+iEclwWiQVJCEAI05HglTw/Nr" - "xDjNCF7dLZNM4ZOMNXpxHg1KNBpbCoXtEsH05RVqJnRt3eFtgm9HfJdHfgoP32VT" - "FD4so6c14C7M2Usn0Ehh0RGd0MMorfP2j7CUuGdxa9fcDe67ELgkDmgDSJPq2C1U" - "ydp1TEbH7uDDf9vuSFNgR6b6GuSaAxjM//////////8=" - "-----END X942 DH PARAMETERS-----"); + "-----BEGIN X942 DH PARAMETERS-----" + "MIIEDAKCAgEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb" + "IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft" + "awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT" + "mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh" + "fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq" + "5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM" + "fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq" + "ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI" + "ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O" + "+S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI" + "HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0BjGZ//////////8CAQICggIA" + "f//////////kh+1RELRhGmJjMUXAbg5olIEnBEUz5joBBd9THYnNkSilBDzHGgJu" + "98qM2eadIY2YFYU2+S+KG6fwmra2qOEi8kLauzEvP2N6JiF00xv2tYX/rlt6A1v2" + "9xw1/a1Ez9LXT5IIviWP8ySUMyj2ci2e4QA+XFCx34LMbSQbDirpzTSLH9R+kmev" + "wbKuke5R1ssOMXmrEEKpXc9qlIO4S0s2s4YapyVeTAJ4ujYEZQwQvhlILyMXG2cd" + "8c87lgwHQwHNk8HRdgPRR9rirvg3pilk7xXl+0qsC4wcyqS+dUq1corpEwxMfQKI" + "CrlHLUVVYhbWmYuGgig9GdQqkNXvjl0ydn3Cgixt94VFdTirroMGPtnLh8LTcPJj" + "1frXRm2EmeuPRkpwJRKwzudx6RMNaXc1+Jf9A2zFBDJsOwE5n2Q1MikPlYwLvZAG" + "XfCLq70wrrY7hMRgXWyjcQRxJ9A6ctWYoe2t/nB+iEclwWiQVJCEAI05HglTw/Nr" + "xDjNCF7dLZNM4ZOMNXpxHg1KNBpbCoXtEsH05RVqJnRt3eFtgm9HfJdHfgoP32VT" + "FD4so6c14C7M2Usn0Ehh0RGd0MMorfP2j7CUuGdxa9fcDe67ELgkDmgDSJPq2C1U" + "ydp1TEbH7uDDf9vuSFNgR6b6GuSaAxjM//////////8=" + "-----END X942 DH PARAMETERS-----"); + + config.set("dl", "modp/ietf/6144", + "-----BEGIN X942 DH PARAMETERS-----" + "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" + "jzbmIBJ//////////wIBAg==" + "-----END X942 DH PARAMETERS-----"); config.set("dl", "dsa/jce/512", - "-----BEGIN DSA PARAMETERS-----" - "MIGdAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQT" - "xeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqOuyYO5rahJtk0bjjFAkEA" - "3gtU76vylwh+5iPVylWIxkgo70/eT/uuHs0gBndrBbEbgeo83pvDlkwWh8UyW/Q9" - "fM76DQqGvl3/3dDRFD3NdQ==" - "-----END DSA PARAMETERS-----"); + "-----BEGIN DSA PARAMETERS-----" + "MIGdAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQT" + "xeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqOuyYO5rahJtk0bjjFAkEA" + "3gtU76vylwh+5iPVylWIxkgo70/eT/uuHs0gBndrBbEbgeo83pvDlkwWh8UyW/Q9" + "fM76DQqGvl3/3dDRFD3NdQ==" + "-----END DSA PARAMETERS-----"); config.set("dl", "dsa/jce/768", - "-----BEGIN DSA PARAMETERS-----" - "MIHdAmEA6eZCWZ01XzfJf/01ZxILjiXJzUPpJ7OpZw++xdiQFBki0sOzrSSACTeZ" - "hp0ehGqrSfqwrSbSzmoiIZ1HC859d31KIfvpwnC1f2BwAvPO+Dk2lM9F7jaIwRqM" - "VqsSej2vAhUAnNvYTJ8awvOND4D0KrlS5zOL9RECYQDe7p717RUWzn5pXmcrjO5F" - "5s17NuDmOF+JS6hhY/bz5sbU6KgRRtQBfe/dccvZD6Akdlm4i3zByJT0gmn9Txqs" - "CjBTjf9rP8ds+xMcnnlltYhYqwpDtVczWRKoqlR/lWg=" - "-----END DSA PARAMETERS-----"); + "-----BEGIN DSA PARAMETERS-----" + "MIHdAmEA6eZCWZ01XzfJf/01ZxILjiXJzUPpJ7OpZw++xdiQFBki0sOzrSSACTeZ" + "hp0ehGqrSfqwrSbSzmoiIZ1HC859d31KIfvpwnC1f2BwAvPO+Dk2lM9F7jaIwRqM" + "VqsSej2vAhUAnNvYTJ8awvOND4D0KrlS5zOL9RECYQDe7p717RUWzn5pXmcrjO5F" + "5s17NuDmOF+JS6hhY/bz5sbU6KgRRtQBfe/dccvZD6Akdlm4i3zByJT0gmn9Txqs" + "CjBTjf9rP8ds+xMcnnlltYhYqwpDtVczWRKoqlR/lWg=" + "-----END DSA PARAMETERS-----"); config.set("dl", "dsa/jce/1024", - "-----BEGIN DSA PARAMETERS-----" - "MIIBHgKBgQD9f1OBHXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9" - "jVj6v8X1ujD2y5tVbNeBO4AdNG/yZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX" - "58aophUPBPuD9tPFHsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd0UgBxwIVAJdgUI8V" - "IwvMspK5gqLrhAvwWBz1AoGARpYDUS4wJ4zTlHWV2yLuyYJqYyKtyXNE9B10DDJX" - "JMj577qn1NgD/4xgnc0QDrxb38+tfGpCX66nhuogUOvpg1HqH9of3yTWlHqmuaoj" - "dmlTgC9NfUqOy6BtGXaKJJH/sW0O+cQ6mbX3FnL/bwoktETQc20E04oaEyLa9s3Y" - "jJ0=" - "-----END DSA PARAMETERS-----"); + "-----BEGIN DSA PARAMETERS-----" + "MIIBHgKBgQD9f1OBHXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9" + "jVj6v8X1ujD2y5tVbNeBO4AdNG/yZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX" + "58aophUPBPuD9tPFHsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd0UgBxwIVAJdgUI8V" + "IwvMspK5gqLrhAvwWBz1AoGARpYDUS4wJ4zTlHWV2yLuyYJqYyKtyXNE9B10DDJX" + "JMj577qn1NgD/4xgnc0QDrxb38+tfGpCX66nhuogUOvpg1HqH9of3yTWlHqmuaoj" + "dmlTgC9NfUqOy6BtGXaKJJH/sW0O+cQ6mbX3FnL/bwoktETQc20E04oaEyLa9s3Y" + "jJ0=" + "-----END DSA PARAMETERS-----"); + + config.set("dl", "dsa/botan/2048", + "-----BEGIN DSA PARAMETERS-----" + "MIICLAKCAQEAkcSKT9+898Aq6V59oSYSK13Shk9Vm4fo50oobVL1m9HeaN/WRdDg" + "DGDAgAMYkZgDdO61lKUyv9Z7mgnqxLhmOgeRDmjzlGX7cEDSXfE5MuusQ0elMOy6" + "YchU+biA08DDZgCAWHxFVm2t4mvVo5S+CTtMDyS1r/747GxbPlf7iQJam8FnaZMh" + "MeFtPJTvyrGNDfBhIDzFPmEDvHLVWUv9QMplOA9EqahR3LB1SV/AM6ilgHGhvXj+" + "BS9mVVZI60txnSr+i0iA+NrW8VgYuhePiSdMhwvpuW6wjEbEAEDMLv4d+xsYaN0x" + "nePDSjKmOrbrEiQgmkGWgMx5AtFyjU354QIhAIzX1FD4bwrZTu5M5GmodW0evRBY" + "JBlD6v+ws1RYXpJNAoIBAA2fXgdhtNvRgz1qsalhoJlsXyIwP3LYTBQPZ8Qx2Uq1" + "cVvqgaDJjTnOS8941rnryJXTT+idlAkdWEhhXvFfXobxHZb2yWniA936WDVkIKSc" + "tES1lbkBqTPP4HZ7WU8YoHt/kd7NukRriJkPePL/kfL+fNQ/0uRtGOraH3u2YCxh" + "f27zpLKE8v2boQo2BC3o+oeiyjZZf+yBFXoUheRAQd8CgwERy4gLvm7UlIFIhvll" + "zcMTX1zPE4Nyi/ZbgG+WksCxDWxMCcdabKO0ATyxarLBBfa+I66pAA6rIXiYX5cs" + "mAV+HIbkTnIYaI6krg82NtzKdFydzU5q/7Z8y8E9YTE=" + "-----END DSA PARAMETERS-----"); + + config.set("dl", "dsa/botan/3072", + "-----BEGIN DSA PARAMETERS-----" + "MIIDLAKCAYEA5LUIgHWWY1heFCRgyi2d/xMviuTIQN2jomZoiRJP5WOLhOiim3rz" + "+hIJvmv8S1By7Tsrc4e68/hX9HioAijvNgC3az3Pth0g00RlslBtLK+H3259wM6R" + "vS0Wekb2rcwxxTHk+cervbkq3fNbCoBsZikqX14X6WTdCZkDczrEKKs12A6m9oW/" + "uovkBo5UGK5eytno/wc94rY+Tn6tNciptwtb1Hz7iNNztm83kxk5sKtxvVWVgJCG" + "2gFVM30YWg5Ps2pRmxtiArhZHmACRJzxzTpmOE9tIHOxzXO+ypO68eGmEX0COPIi" + "rh7X/tGFqJDn9n+rj+uXU8wTSlGD3+h64llfe1wtn7tCJJ/dWVE+HTOWs+sv2GaE" + "8oWoRI/nV6ApiBxAdguU75Gb35dAw4OJWZ7FGm6btRmo4GhJHpzgovz+PLYNZs8N" + "+tIKjsaEBIaEphREV1vRck1zUrRKdgB3s71r04XOWwpyUMwL92jagpI4Buuc+7E4" + "hDcxthggjHWbAiEAs+vTZOxp74zzuvZDt1c0sWM5suSeXN4bWcHp+0DuDFsCggGA" + "K+0h7vg5ZKIwrom7px2ffDnFL8gim047x+WUTTKdoQ8BDqyee69sAJ/E6ylgcj4r" + "Vt9GY+TDrIAOkljeL3ZJ0gZ4KJP4Ze/KSY0u7zAHTqXop6smJxKk2UovOwuaku5A" + "D7OKPMWaXcfkNtXABLIuNQKDgbUck0B+sy1K4P1Cy0XhLQ7O6KJiOO3iCCp7FSIR" + "PGbO+NdFxs88uUX4TS9N4W1Epx3hmCcOE/A1U8iLjTI60LlIob8hA6lJl5tu0W+1" + "88lT2Vt8jojKZ9z1pjb7nKOdkkIV96iE7Wx+48ltjZcVQnl0t8Q1EoLhPTdz99KL" + "RS8QiSoTx1hzKN6kgntrNpsqjcFyrcWD9R8qZZjFSD5bxGewL5HQWcQC0Y4sJoD3" + "dqoG9JKAoscsF8xC1bbnQMXEsas8UcLtCSviotiwU65Xc9FCXtKwjwbi3VBZLfGk" + "eMFVkc39EVZP+I/zi3IdQjkv2kcyEtz9jS2IqXagCv/m//tDCjWeZMorNRyiQSOU" + "-----END DSA PARAMETERS-----"); } - } /************************************************* diff --git a/src/randpool.cpp b/src/randpool.cpp index 24086c984..69ef3b9e7 100644 --- a/src/randpool.cpp +++ b/src/randpool.cpp @@ -6,7 +6,7 @@ #include <botan/randpool.h> #include <botan/lookup.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/util.h> #include <botan/stl_util.h> #include <algorithm> diff --git a/src/rsa.cpp b/src/rsa.cpp index 7f2e15892..8faec9972 100644 --- a/src/rsa.cpp +++ b/src/rsa.cpp @@ -55,7 +55,7 @@ SecureVector<byte> RSA_PublicKey::verify(const byte in[], u32bit len) const RSA_PrivateKey::RSA_PrivateKey(RandomNumberGenerator& rng, u32bit bits, u32bit exp) { - if(bits < 1024) + if(bits < 512) throw Invalid_Argument(algo_name() + ": Can't make a key that is only " + to_string(bits) + " bits long"); if(exp < 3 || exp % 2 == 0) diff --git a/src/rw.cpp b/src/rw.cpp index 4cbed6097..39cbcdd6e 100644 --- a/src/rw.cpp +++ b/src/rw.cpp @@ -55,7 +55,7 @@ SecureVector<byte> RW_PublicKey::verify(const byte in[], u32bit len) const RW_PrivateKey::RW_PrivateKey(RandomNumberGenerator& rng, u32bit bits, u32bit exp) { - if(bits < 1024) + if(bits < 512) throw Invalid_Argument(algo_name() + ": Can't make a key that is only " + to_string(bits) + " bits long"); if(exp < 2 || exp % 2 == 1) diff --git a/src/safer_sk.cpp b/src/safer_sk.cpp index c861cfdda..639130714 100644 --- a/src/safer_sk.cpp +++ b/src/safer_sk.cpp @@ -6,6 +6,7 @@ #include <botan/safer_sk.h> #include <botan/bit_ops.h> #include <botan/parsing.h> +#include <botan/rotate.h> namespace Botan { diff --git a/src/symkey.cpp b/src/symkey.cpp index f07421bef..7cc1bce64 100644 --- a/src/symkey.cpp +++ b/src/symkey.cpp @@ -4,7 +4,7 @@ *************************************************/ #include <botan/symkey.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <botan/rng.h> #include <botan/pipe.h> #include <botan/hex.h> diff --git a/src/turing.cpp b/src/turing.cpp index 53881d9a5..017b5cf1d 100644 --- a/src/turing.cpp +++ b/src/turing.cpp @@ -5,7 +5,7 @@ #include <botan/turing.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/util.cpp b/src/util.cpp index e340ee7f4..dea0778a1 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6,7 +6,6 @@ #include <botan/util.h> #include <botan/bit_ops.h> #include <algorithm> -#include <cmath> namespace Botan { @@ -29,23 +28,26 @@ u32bit round_down(u32bit n, u32bit align_to) } /************************************************* -* Return the work required for solving DL * +* Choose the exponent size for a DL group *************************************************/ -u32bit dl_work_factor(u32bit n_bits) +u32bit dl_work_factor(u32bit bits) { - const u32bit MIN_ESTIMATE = 64; - - if(n_bits < 32) - return 0; - - const double log_x = n_bits / 1.44; - - const double strength = - 2.76 * std::pow(log_x, 1.0/3.0) * std::pow(std::log(log_x), 2.0/3.0); - - if(strength > MIN_ESTIMATE) - return static_cast<u32bit>(strength); - return MIN_ESTIMATE; + /* + These values were taken from RFC 3526 + */ + if(bits <= 1536) + return 90; + else if(bits <= 2048) + return 110; + else if(bits <= 3072) + return 130; + else if(bits <= 4096) + return 150; + else if(bits <= 6144) + return 170; + else if(bits <= 8192) + return 190; + return 256; } /************************************************* diff --git a/src/wid_wake.cpp b/src/wid_wake.cpp index 7e69cf457..d7ebdece0 100644 --- a/src/wid_wake.cpp +++ b/src/wid_wake.cpp @@ -5,7 +5,7 @@ #include <botan/wid_wake.h> #include <botan/loadstor.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> namespace Botan { diff --git a/src/x919_mac.cpp b/src/x919_mac.cpp index b9c6fd2c5..92ec7b7b8 100644 --- a/src/x919_mac.cpp +++ b/src/x919_mac.cpp @@ -5,7 +5,7 @@ #include <botan/x919_mac.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { diff --git a/src/x931_rng.cpp b/src/x931_rng.cpp index 8f454dcb8..f4b0f71a9 100644 --- a/src/x931_rng.cpp +++ b/src/x931_rng.cpp @@ -5,7 +5,7 @@ #include <botan/x931_rng.h> #include <botan/lookup.h> -#include <botan/bit_ops.h> +#include <botan/xor_buf.h> #include <algorithm> namespace Botan { |