Hey everyone,
Happy New Year. (2015)
First of all:
I've got some things finished.
The current state of the library is zipped and appended.
Please also read the changelog (the other appended file).
Highlights of this version of Crypto++ (we'll discuss shorty about the naming):
-Inclusion of the patch for HMAC, HMAC now works for SHA-3 and Ciphers without BlockSize / BLOCKSIZE-constant
-Changed ECIES, you can now use other hash-functions than SHA-1 for keystream generation.
-Added framework for Tweakable Block Ciphers, they're a specialization of Block Ciphers with tweakable properties
-Implemented Threefish with all three key sizes as tweak able block ciphers
-Implemented Skein on top of Threefish
Known Issues:
-Variable block sizes are not supported by Crypto++ and if you use them you can't use ayn of the "good" modes (CTR & co) -> no generic Threefish, only Threefish_256,..
Now to the naming:
I propose: Crypto++ 5.7.0 beta 1 (for current release)
and incrementing the value after beta to reflect number of releases already done
@jeffrey:
I'm not sure if I will incorporate the Cross-Compile patches.
I will look into them and decide afterwards.
Concerning the license of FHMQV: please place the implementation in the public domain. All files in Crypto++ are placed in the public domain.
I think I will incorporate the PEM-Pack, maybe even the ECIES Bouncy-Castle-Pack.
@Mouse:
I've already patched the cpu.h file but somehow I get errors as I try to patch the GNUMakefile. Could you please post the 5.6.2 makefile with your changes applied?
Concerning PQ-Crypto: This is one of the last things I will include. But if I include McEliece, I'll use Kobara-Imai's GAMMA-Conversion (
http://www.e-reading.link/bookreader.php/135832/Post_Quantum_Cryptography.pdf, page 142) with a nice decoding method I found in another paper, they use it for HyMES (
http://www.cayrel.net/IMG/pdf/hymes_cw_buescher_meub.pdf).
Current roadmap looks like this:
- Redesign PBKDF interface for long-term compability with PHC winners
- apply various patches to Crypto++ (PEM, ...)
- implement BLAKE2 family
So there are some questions open I need to ask you:
- Do you want Skein-MAC?
- Do you want BLAKE and BLAKE2 or just BLAKE2 ?
And I've got some work (sorry for that) for you:
Please test the implementation of Threefish and Skein for Correctness on Big-Endian-Platforms as I don't have access to any of them.
Test vector check routines are appended.
Please also test my PKCS 1 v2 RSA signature scheme implementation for correctness.
BR
JPM
Am Montag, 29. Dezember 2014 02:33:22 UTC+1 schrieb Jeffrey Walton:
We also have a few patches for cross-compiling. You can find them at:
http://www.cryptopp.com/wiki/Category:Cross_Compile.
The cross-compiling pages are missing two pages on Windows RT and Windows Phone. I have the procedures and patches, but I have not written them up yet.
I asked Wei about incorporating the cross-compile stuff a couple of times (like what's his idea of the best way to approach cross-compilation), but I did not get a reply.
Also, you might want to reach out to Wei about it since he might be willing to incorporate this into the official Crypto++ release.
Jeff
On Tuesday, December 23, 2014 9:47:21 AM UTC-5, Jean-Pierre Münch wrote:
Hey Guys,
I'm currently working on something that might interest you:
The modernization of Crypto++ !
I'm accumulating source code and sometimes writing some of my own in preparation of integration into the library.
The current new things (that have yet been finished) are:
- Threefish, with tweak as part of key
- RSA signature with PKCS#1 v2.0
- HMAC support for SHA3 and co.
Yet unfinished modules:
- Threefish as a whole new class of tweakable block ciphers (ay result in zeroing the tweak for classic ciphers/modes)
- scrypt, there're still some design issues I've to deal with, but this is rather sooner than later finished.
Stuff that may cause some problems:
- Skein (as I would like to use the original files, which are unfortunaly multiple files, need to clarify this at time with WeiDai)
- Fortuna (Submitted the request for allowance of usage at codeproject, after permission has been granted there's still some work to do to bring this to Crypto++)
Post as reply if you think something needs to be added to the list.