INNER CODE UNIT · C++
deltaGF
ph4r05/Whitebox-crypto-AES · BGEAttack.cpp:830
GF2E deltaGF = GF2EFromLong(prop3->P[x].delta, 8);
GF2E deltaInvGF = NTL::inv(deltaGF);
BYTE deltaInv = getLong(deltaInvGF);
if (doCout) cout
<< " recoverQj self-test; r="<<r<<"; col="<<col<<"; (y0, y"<<row<<"); P["<<x
<<"].deltaInv="<<CHEX(deltaInv)
<<"; alfa_{"<<row<<","<<x<<"}="<< CHEX(prop3->P[x].alfa_0) << endl;
}
if (doCout) cout << " recoverQj; q = " << CHEX(*qj) << "; gamma=" << CHEX(prop3->gamma) << "; " << endl;
delete prop3;
return 0;
}
int BGEAttack::recoverCipherKey(GenericAES & aes, BYTE roundKeys[2][16], vec_GF2E& encKey){
encKey.SetLength(16);