input produces different results between Windows and Linux.
with KnSize = 3072, kpSize = 1536,
Following fucntion call:
ippStatus = ippsRSAGetSize(knSize, kpSize, IppRSApublic, &pRSASize);
produces pRSASize = 34997 on Windows, and, pRSASize = 34163 On Linux
I am using ipp 184.108.40.206_ia32
Any one can explain to me why the difference ? is this difference will cause authentication problem later on ?
I do experience later on DCP signature verification failure with following call:
// Verify the Signature
ippStatus =ippsRSASSAVerify_SHA256_PKCSv15((const Ipp8u*)pMsg,msg_sz_bytes,pSign, Result, pRSApub);
On Windows we will have Result = ippTrue and On Linux we have Result = ippFalse. The behavior is the same even I manually modified the pRSASize on Linux to match iwth its value on Windows (try to
avoid the problem of ippsRSAGetSize).
Anyone in the IPP cryptography team can help ?
Here is some investigation result from IPP team,
We decided that package 220.127.116.11_ia32 corresponds to IPP 205.23 build.
We've tried static seriallibrary version of ippsRSAGetSize() and found:
1) size of RSA context for both win32 and linux32 is the same.
2) it has 33491 bytes long, if RSA has bitsize(N)=3072 and bitsize(P)=1536 correspondingly.
3) and it's correct value.
If your problem insists, could you provide us as much infolike,
1) your IPP version information.
const IppLibraryVersion* pVerion = ippcpGetLibVersion();
2) how do you link the library? (static/threaded static/ dynamic) nor theirprocessor specific
3) the platform information, ia32 or x64, the cpu type and OS?