Binary compatibility report for the BeeCrypt library between 1.1.2 and 2.0.0 versions on x86

Test Info


Library NameBeeCrypt
Version #11.1.2
Version #22.0.0
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files27
Total Shared Libraries1
Total Symbols / Types245 / 182
VerdictIncompatible
(31%)

Problem Summary


SeverityCount
Added Symbols-72
Removed SymbolsHigh29
Problems with
Data Types
High1
Medium8
Low6
Problems with
Symbols
High0
Medium4
Low30
Problems with
Constants
Low1
Other Changes
in Constants
-2

Added Symbols (72)


beecrypt.h, libbeecrypt.so.2.0.0
hashFunctionContextDigestMatch ( struct hashFunctionContext* p1, struct mp32number const* p2 )
keyedHashFunctionContextDigestMatch ( struct keyedHashFunctionContext* p1, struct mp32number const* p2 )
keyedHashFunctionContextSetup ( struct keyedHashFunctionContext* p1, uint32 const* p2, int p3 )

blockpad.h, libbeecrypt.so.2.0.0
pkcs5Pad int p1, struct memchunk const* p2 )
pkcs5PadInline int p1, struct memchunk* p2 )
pkcs5Unpad int p1, struct memchunk const* p2 )
pkcs5UnpadInline int p1, struct memchunk* p2 )

dhaes.h, libbeecrypt.so.2.0.0
dhaes_pDecrypt ( struct dhaes_p* p1, struct mp32number const* p2, struct mp32number const* p3, struct mp32number const* p4, struct memchunk const* p5 )
dhaes_pEncrypt ( struct dhaes_p* p1, struct mp32number const* p2, struct mp32number* p3, struct mp32number* p4, struct memchunk const* p5 )
dhaes_pFree struct dhaes_p* p1 )
dhaes_pInit ( struct dhaes_p* p1, struct dldp_p const* p2, struct blockCipher const* p3, struct keyedHashFunction const* p4, struct hashFunction const* p5, struct randomGenerator const* p6 )
dhaes_usable ( struct blockCipher const* p1, struct keyedHashFunction const* p2, struct hashFunction const* p3 )

dlkp.h, libbeecrypt.so.2.0.0
dlkp_pInit struct dlkp_p* p1 )

dlpk.h, libbeecrypt.so.2.0.0
dlpk_pInit struct dlpk_p* p1 )

endianness.h, libbeecrypt.so.2.0.0
encodeIntsPartial ( javaint const* p1, byte* p2, int p3 )

hmacmd5.h, libbeecrypt.so.2.0.0
hmacmd5 [data]
hmacmd5Digest ( struct hmacmd5Param* p1, uint32* p2 )
hmacmd5Reset struct hmacmd5Param* p1 )
hmacmd5Setup ( struct hmacmd5Param* p1, uint32 const* p2, int p3 )
hmacmd5Update ( struct hmacmd5Param* p1, byte const* p2, int p3 )

hmacsha1.h, libbeecrypt.so.2.0.0
hmacsha1 [data]
hmacsha1Digest ( struct hmacsha1Param* p1, uint32* p2 )
hmacsha1Reset struct hmacsha1Param* p1 )
hmacsha1Setup ( struct hmacsha1Param* p1, uint32 const* p2, int p3 )
hmacsha1Update ( struct hmacsha1Param* p1, byte const* p2, int p3 )

hmacsha256.h, libbeecrypt.so.2.0.0
hmacsha256 [data]
hmacsha256Digest ( struct hmacsha256Param* p1, uint32* p2 )
hmacsha256Reset struct hmacsha256Param* p1 )
hmacsha256Setup ( struct hmacsha256Param* p1, uint32 const* p2, int p3 )
hmacsha256Update ( struct hmacsha256Param* p1, byte const* p2, int p3 )

mp32.h, libbeecrypt.so.2.0.0
mp32gcd_w uint32 p1, uint32 const* p2, uint32 const* p3, uint32* p4, uint32* p5 )
mp32istwo uint32 p1, uint32 const* p2 )

mp32barrett.h, libbeecrypt.so.2.0.0
mp32baddmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5, uint32* p6, uint32* p7 )
mp32bcopy ( struct mp32barrett* p1, struct mp32barrett const* p2 )
mp32binv_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32* p4, uint32* p5 )
mp32bmod_w ( struct mp32barrett const* p1, uint32 const* p2, uint32* p3, uint32* p4 )
mp32bmu_w ( struct mp32barrett* p1, uint32* p2 )
mp32bmulmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5, uint32* p6, uint32* p7 )
mp32bnpowmodsld ( struct mp32barrett const* p1, uint32 const* p2, struct mp32number const* p3, struct mp32number* p4 )
mp32bnrnd ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, struct mp32number* p3 )
mp32bpowmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5, uint32* p6, uint32* p7 )
mp32bpowmodsld_w ( struct mp32barrett const* p1, uint32 const* p2, uint32 p3, uint32 const* p4, uint32* p5, uint32* p6 )
mp32bpprime_w ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, int p3, uint32* p4 )
mp32brnd_w ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, uint32* p3, uint32* p4 )
mp32brndinv_w ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, uint32* p3, uint32* p4, uint32* p5 )
mp32brndodd_w ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, uint32* p3, uint32* p4 )
mp32bsethex ( struct mp32barrett* p1, char const* p2 )
mp32bsqrmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32* p4, uint32* p5 )
mp32bsubmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5, uint32* p6, uint32* p7 )
mp32bsubone ( struct mp32barrett const* p1, uint32* p2 )
mp32btwopowmod_w ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32* p4, uint32* p5 )

mp32number.h, libbeecrypt.so.2.0.0
mp32ncopy ( struct mp32number* p1, struct mp32number const* p2 )
mp32nwipe struct mp32number* p1 )

mp32prime.h, libbeecrypt.so.2.0.0
mp32pmilrab_w ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, int p3, uint32* p4 )
mp32prnd_w ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4, struct mp32number const* p5, uint32* p6 )
mp32prndconone_w ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4, struct mp32barrett const* p5, struct mp32number const* p6, struct mp32number* p7, int p8, uint32* p9 )
mp32prndsafe_w ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4, uint32* p5 )

rsa.h, libbeecrypt.so.2.0.0
rsapri ( struct rsakp const* kp, struct mp32number const* m, struct mp32number* c )
rsapricrt ( struct rsakp const* kp, struct mp32number const* m, struct mp32number* c )
rsavrfy ( struct rsapk const* pk, struct mp32number const* m, struct mp32number const* c )

rsakp.h, libbeecrypt.so.2.0.0
rsakpCopy ( struct rsakp* p1, struct rsakp const* p2 )
rsakpFree struct rsakp* p1 )
rsakpInit struct rsakp* p1 )
rsakpMake ( struct rsakp* p1, struct randomGeneratorContext* p2, int p3 )

rsapk.h, libbeecrypt.so.2.0.0
rsapkCopy ( struct rsapk* p1, struct rsapk const* p2 )
rsapkFree struct rsapk* p1 )
rsapkInit struct rsapk* p1 )

sha256.h, libbeecrypt.so.2.0.0
sha256 [data]
sha256Digest ( struct sha256Param* p1, uint32* p2 )
sha256Process struct sha256Param* p1 )
sha256Reset struct sha256Param* p1 )
sha256Update ( struct sha256Param* p1, byte const* p2, int p3 )

to the top

Removed Symbols (29)


mp32.h, libbeecrypt.so.1
mp32gcd uint32* p1, uint32 p2, uint32 const* p3, uint32 const* p4, uint32* p5 )

mp32barrett.h, libbeecrypt.so.1
mp32baddmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5 )
mp32binv ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3 )
mp32bmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3 )
mp32bmodsubone struct mp32barrett const* p1 )
mp32bmu struct mp32barrett* p1 )
mp32bmulmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5 )
mp32bmulmodres ( struct mp32barrett const* p1, uint32* p2, uint32 p3, uint32 const* p4, uint32 p5, uint32 const* p6 )
mp32bnmulmodres ( struct mp32barrett const* p1, uint32* p2, struct mp32number const* p3, struct mp32number const* p4 )
mp32bnsqrmodres ( struct mp32barrett const* p1, uint32* p2, struct mp32number const* p3 )
mp32bpowmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5 )
mp32bpprime ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, int p3 )
mp32brnd ( struct mp32barrett const* p1, struct randomGeneratorContext* p2 )
mp32brndinvres ( struct mp32barrett const* p1, uint32* p2, struct randomGeneratorContext* p3 )
mp32brndoddres ( struct mp32barrett const* p1, uint32* p2, struct randomGeneratorContext* p3 )
mp32brndres ( struct mp32barrett const* p1, uint32* p2, struct randomGeneratorContext* p3 )
mp32bsqrmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3 )
mp32bsqrmodres ( struct mp32barrett const* p1, uint32* p2, uint32 p3, uint32 const* p4 )
mp32bsubmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3, uint32 p4, uint32 const* p5 )
mp32btwopowmod ( struct mp32barrett const* p1, uint32 p2, uint32 const* p3 )

mp32prime.h, libbeecrypt.so.1
mp32pmilrab ( struct mp32barrett const* p1, struct randomGeneratorContext* p2, int p3 )
mp32prnd ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4, struct mp32number const* p5 )
mp32prndconone ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4, struct mp32barrett const* p5, struct mp32number const* p6, struct mp32number* p7, int p8 )
mp32prndsafe ( struct mp32barrett* p1, struct randomGeneratorContext* p2, uint32 p3, int p4 )

sha1hmac.h, libbeecrypt.so.1
sha1hmac [data]
sha1hmacDigest ( struct sha1hmacParam* p1, uint32* p2 )
sha1hmacReset struct sha1hmacParam* p1 )
sha1hmacSetup ( struct sha1hmacParam* p1, uint32 const* p2, int p3 )
sha1hmacUpdate ( struct sha1hmacParam* p1, byte const* p2, int p3 )

to the top

Problems with Data Types, High Severity (1)


mp32barrett.h
[+] struct mp32barrett (1)

to the top

Problems with Data Types, Medium Severity (8)


beecrypt.h
[+] struct hashFunction (1)
[+] struct keyedHashFunction (1)

dldp.h
[+] struct dldp_p (3)

dlkp.h
[+] struct dlkp_p (1)

dlpk.h
[+] struct dlpk_p (1)

mp32barrett.h
[+] struct mp32barrett (1)

to the top

Problems with Symbols, Medium Severity (4)


fips180.h, libbeecrypt.so.1
[+] sha1 [data] (1)

md5.h, libbeecrypt.so.1
[+] md5 [data] (1)

mp32barrett.h, libbeecrypt.so.1
[+] mp32bnpowmod ( struct mp32barrett const* p1, struct mp32number const* p2, struct mp32number const* p3 ) (1)
[+] mp32bnsqrmod ( struct mp32barrett const* p1, struct mp32number const* p2 ) (1)

to the top

Problems with Data Types, Low Severity (6)


beecrypt.h
[+] struct hashFunction (1)
[+] struct keyedHashFunction (1)

dldp.h
[+] struct dldp_p (1)

dlkp.h
[+] struct dlkp_p (1)

dlpk.h
[+] struct dlpk_p (1)

mp32barrett.h
[+] struct mp32barrett (1)

to the top

Problems with Symbols, Low Severity (30)


beecrypt.h, libbeecrypt.so.1
[+] blockCipherContextFree struct blockCipherContext* p1 ) (1)
[+] blockCipherContextInit ( struct blockCipherContext* p1, struct blockCipher const* p2 ) (1)
[+] blockCipherContextSetIV ( struct blockCipherContext* p1, uint32 const* p2 ) (1)
[+] blockCipherContextSetup ( struct blockCipherContext* p1, uint32 const* p2, int p3, enum cipherOperation p4 ) (1)
[+] hashFunctionContextFree struct hashFunctionContext* p1 ) (1)
[+] hashFunctionContextInit ( struct hashFunctionContext* p1, struct hashFunction const* p2 ) (1)
[+] keyedHashFunctionContextFree struct keyedHashFunctionContext* p1 ) (1)
[+] keyedHashFunctionContextInit ( struct keyedHashFunctionContext* p1, struct keyedHashFunction const* p2 ) (1)
[+] randomGeneratorContextFree struct randomGeneratorContext* p1 ) (1)
[+] randomGeneratorContextInit ( struct randomGeneratorContext* p1, struct randomGenerator const* p2 ) (1)

dldp.h, libbeecrypt.so.1
[+] dldp_pCopy ( struct dldp_p* p1, struct dldp_p const* p2 ) (1)
[+] dldp_pFree struct dldp_p* p1 ) (1)
[+] dldp_pgonGenerator ( struct dldp_p* p1, struct randomGeneratorContext* p2 ) (1)
[+] dldp_pgonMake ( struct dldp_p* p1, struct randomGeneratorContext* p2, uint32 p3, uint32 p4 ) (1)
[+] dldp_pgonMakeSafe ( struct dldp_p* p1, struct randomGeneratorContext* p2, uint32 p3 ) (1)
[+] dldp_pgoqGenerator ( struct dldp_p* p1, struct randomGeneratorContext* p2 ) (1)
[+] dldp_pgoqMake ( struct dldp_p* p1, struct randomGeneratorContext* p2, uint32 p3, uint32 p4, int p5 ) (1)
[+] dldp_pgoqMakeSafe ( struct dldp_p* p1, struct randomGeneratorContext* p2, uint32 p3 ) (1)
[+] dldp_pInit struct dldp_p* p1 ) (1)
[+] dldp_pPair ( struct dldp_p const* p1, struct randomGeneratorContext* p2, struct mp32number* p3, struct mp32number* p4 ) (1)
[+] dldp_pPrivate ( struct dldp_p const* p1, struct randomGeneratorContext* p2, struct mp32number* p3 ) (1)
[+] dldp_pPublic ( struct dldp_p const* p1, struct mp32number const* p2, struct mp32number* p3 ) (1)

dlkp.h, libbeecrypt.so.1
[+] dlkp_pCopy ( struct dlkp_p* p1, struct dlkp_p const* p2 ) (1)
[+] dlkp_pFree struct dlkp_p* p1 ) (1)
[+] dlkp_pPair ( struct dlkp_p* p1, struct randomGeneratorContext* p2, struct dldp_p const* p3 ) (1)

dlpk.h, libbeecrypt.so.1
[+] dlpk_pCopy ( struct dlpk_p* p1, struct dlpk_p const* p2 ) (1)
[+] dlpk_pFree struct dlpk_p* p1 ) (1)

dlsvdp-dh.h, libbeecrypt.so.1
[+] dlsvdp_pDHSecret ( struct dldp_p const* p1, struct mp32number const* p2, struct mp32number const* p3, struct mp32number* p4 ) (1)

elgamal.h, libbeecrypt.so.1
[+] elgv1sign ( struct mp32barrett const* p, struct mp32barrett const* n, struct mp32number const* g, struct randomGeneratorContext* p4, struct mp32number const* hm, struct mp32number const* x, struct mp32number* r, struct mp32number* s ) (1)
[+] elgv3sign ( struct mp32barrett const* p, struct mp32barrett const* n, struct mp32number const* g, struct randomGeneratorContext* p4, struct mp32number const* hm, struct mp32number const* x, struct mp32number* r, struct mp32number* s ) (1)

to the top

Problems with Constants, Low Severity (1)


config.gnu.h
[+] HAVE_ALLOCA

to the top

Other Changes in Constants (2)


config.gnu.h
[+] SCO_UNIX

timestamp.h
[+] ONE_WEEK

to the top

Header Files (27)


base64.h
beecrypt.h
blockmode.h
blowfish.h
blowfishopt.h
config.gnu.h
config.h
dldp.h
dlkp.h
dlpk.h
dlsvdp-dh.h
elgamal.h
endianness.h
entropy.h
fips180.h
fips180opt.h
fips186.h
hmac.h
md5.h
mp32.h
mp32barrett.h
mp32number.h
mp32opt.h
mp32prime.h
mtprng.h
sha1hmac.h
timestamp.h

to the top

Shared Libraries (1)


libbeecrypt.so.1

to the top