Thanks for this report. I've fixed the problems with compiling 5.4 using VC6 without the Processor Pack and placed a patch on http://www.cryptopp.com.

The problem with Camellia in 5.2 is known, and should already be fixed in 5.4. Please recompile 5.4 after applying the patch and let us know if you have any more problems.

I also checked into CVS a fix to the problem of using HMAC with MD2.

----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Sunday, December 24, 2006 6:17 PM
Subject: Potential bugs in Crypto++ 5.2 and 5.4




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
-~----------~----~----~----~------~----~------~--~---

Reply via email to