Hello,
just wish to report some strange things happening in Crypto++
On a VC++6.0 SP6 without Processor Pack Extensions I get this error on
Crypto++ 5.4 (strangely with no line number)
--------------------Configuration: cryptlib - Win32
Release--------------------
Compiling...
rdtables.cpp
fatal error C1600: unsupported data type
Error executing cl.exe.
rdtables.obj - 1 error(s), 0 warning(s)
--------------------Configuration: cryptlib - Win32
Release--------------------
Compiling...
rijndael.cpp
fatal error C1600: unsupported data type
Error executing cl.exe.
rijndael.obj - 1 error(s), 0 warning(s)
=======================================================================================
Another minor error in network.cpp:
float NetworkSink::GetMaxObservedSpeed() const
{
lword m = GetMaxBytesPerSecond();
return m ? STDMIN(m_maxObservedSpeed, float(m)) : m_maxObservedSpeed;
}
--------------------Configuration: cryptlib - Win32
Release--------------------
Compiling...
network.cpp
D:\Programmi\Microsoft Visual
Studio\VC98\MyProjects\cryptopp54\network.cpp(398) : error
C2520: conversion from unsigned __int64 to double not implemented, use
signed __int64
Error executing cl.exe.
network.obj - 1 error(s), 0 warning(s)
=======================================================================================
Finally on Crypto++5.2 (which is the latests I've been able to compile),
Camellia is behaving incorrectly and the following code throws an
exception on Put (it works with other ciphers):
const char *key = "0123456789ABCDEF0123456789ABCDEF"; // 32 bytes
const char *msg = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int msgsize = strlen(msg);
int keysize = strlen(key);
CryptoPP::ECB_Mode<CryptoPP::Camellia>::Encryption camenc;
camenc.SetKey((byte *)key,keysize);
CryptoPP::StreamTransformationFilter st( camenc );
// Put <== throws an exception, complains block not aligned
st.Put((byte *)msg, msgsize);
st.MessageEnd();
printf("Avaail: %d\n",st.MaxRetrievable());
I've also patched hrtimer.cpp (CryptoPP 5.2) to avoid the word64 unsigned
division error with this:
double TimerBase::ConvertTo(word64 t, Unit unit)
{
static unsigned long unitsPerSecondTable[] = {1, 1000, 1000*1000,
1000*1000*1000};
assert(unit < sizeof(unitsPerSecondTable) /
sizeof(unitsPerSecondTable[0]));
return (double)((__int64)t) * unitsPerSecondTable[unit] /
(__int64)TicksPerSecond();
}
since VC++6.0 does not support unsigned 64bit words divisions.
Regards and Merry Christmas,
Giuliano Bertoletti
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Crypto++
Users" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cryptopp-users?hl=en
-~----------~----~----~----~------~----~------~--~---