I've noticed the Sapphire cipher classes seems to be incomplete in Crypto++ 
5.0. Is this on purpose, or am I missing something here?

Specifically, a bunch of virtual methods from StreamTransformation aren't 
implemented in Sapphire: 

void StreamTransformation::ProcessData(byte*, const byte*, unsigned int)
bool StreamTransformation::IsRandomAccess() const
bool StreamTransformation::IsSelfInverting() const
bool StreamTransformation::IsForwardInverting() const

I assume this was an oversight, as there are no tests for the Sapphire cipher 
in any of the benchmarks. 

Any suggestion for a fix? Would using something like taking ProcessData() from 
ARC4_Base, modifying it a bit and using it in SapphireBase work? As for the 
Is*() methods, what should they be returning for Sapphire, 'cause I don't 
have a clue. (I don't use Sapphire at all, I'm just using it for 
completeness.)

J

Reply via email to