INNER CODE UNIT · C++
f00
ph4r05/Whitebox-crypto-AES · BGEAttack.cpp:1046
fction_t & f00 = Sr[r].S[i%4][i/4].f_00;
f00.f[x] = state.B[i];
f00.finv[state.B[i]] = x;
}
}
// f(x,0,0,0) finalization - compute hash of f00 function
for(i=0; i<AES_BYTES; i++){
Sr[r].S[i%4][i/4].f_00.initHash();
}
// now generate f(x,0,0,0) .. f(x,0xff,0,0) functions, generate then corresponding sets and whole Sr for round r
if (doCout) cout << "Generating set S..." << endl;
for(c1=0; c1<=0xff; c1++){
// init f_c1 functions
for(i=0; i<AES_BYTES; i++){
Sr[r].S[i%4][i/4].fctions[c1].c1 = c1;