On Friday, October 23, 2015 at 7:56:20 PM UTC-4, Jeffrey Walton wrote:Hi Everyone,
We added RDSEED to the library. We reused the RDRAND gear since nearly everything was the same. That means <rdrand.h> provides both RDRAND and RDSEED.
We also reused the RDRAND wiki page. The page was modifed to discuss both RDRAND and RDSEED. You can find it at https://cryptopp.com/wiki/RDRAND . The wiki page also includes a discussion of issuing the opcodes by hand, and how to use an assembler like YASM to generate them for you.
The RDRAND/RDSEED source files are available as stand-alone download from the wiki page.
We'll have an RC6 soon since the additional functionality modified rdand.h, rdand.cpp, rdrand.asm, test.cpp and validat1.cpp.
I forgot to mention... I've got some odd configurations. I've got a MacBook that has AES-NI and CLMUL, but it lacks RDRAND. I have an Asus laptop that has RDRAND, but lacks RDSEED. So don't be surprised if you see the following (under Windows).
passed: Your machine is little endian.
passed: Your machine allows unaligned data access.
passed: sizeof(byte) == 1
passed: sizeof(word16) == 2
passed: sizeof(word32) == 4
passed: sizeof(word64) == 8
passed: sizeof(hword) == 2, sizeof(word) == 4, sizeof(dword) == 8
passed: hasMMX == 1, hasISSE == 1, hasSSE2 == 1, hasSSSE3 == 1, hasAESNI == 1,
hasRDRAND == 1, hasRDSEED == 0, hasCLMUL == 1, isP4 == 0, cacheLineSize == 64,
AESNI_INTRINSICS == 1
No operating system provided blocking random number generator, skipping test.
Testing operating system provided nonblocking random number generator...
passed: 100000 generated bytes compressed to 100020 bytes by DEFLATE
Testing AutoSeeded generator...
passed: 100000 generated bytes compressed to 100020 bytes by DEFLATE
passed: discarded 10000 bytes
Testing RDRAND generator...
passed: 100000 generated bytes compressed to 100020 bytes by DEFLATE
passed: discarded 10000 bytes
RDSEED generator not available, skipping test.
...
--
--
You received this message because you are subscribed to the "Crypto++ Users" Google Group.
To unsubscribe, send an email to cryptopp-user...@googlegroups.com.
More information about Crypto++ and this group is available at http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups "Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
This isn't odd.
On Friday, October 23, 2015 at 7:56:20 PM UTC-4, Jeffrey Walton wrote:Hi Everyone,
We added RDSEED to the library. We reused the RDRAND gear since nearly everything was the same. That means <rdrand.h> provides both RDRAND and RDSEED.
We also reused the RDRAND wiki page. The page was modifed to discuss both RDRAND and RDSEED. You can find it at https://cryptopp.com/wiki/RDRAND . The wiki page also includes a discussion of issuing the opcodes by hand, and how to use an assembler like YASM to generate them for you.
The RDRAND/RDSEED source files are available as stand-alone download from the wiki page.
We'll have an RC6 soon since the additional functionality modified rdand.h, rdand.cpp, rdrand.asm, test.cpp and validat1.cpp.
I forgot to mention... I've got some odd configurations. I've got a MacBook that has AES-NI and CLMUL, but it lacks RDRAND. I have an Asus laptop that has RDRAND, but lacks RDSEED. So don't be surprised if you see the following (under Windows).
AES-NI and CLMUL were introduced in the late first Gen Intel Core i processors (desktop i7 and one desktop i5 didn't have it, the rest of this gen had it - at least the i5s). So chances are if you have a Sandy Bridge CPU (Intel Core i 2XXX) you have AES-NI and no RDRAND.
RDRAND was introduced with Ivy Bridge (Intel Core i 3XXX excluding 39XX series).
RDSEED was introduced with Broadwell (Intel Core i 5XXX, excluding the 59XX and 599X Haswell-Es)
The first generation with mass availability (on non-(cheap laptops)) will be Skylake (Intel Core i 6XXX) which is getting mass available right now.