INNER CODE UNIT · C++

deltaCurGF

ph4r05/Whitebox-crypto-AES · BGEAttack.cpp:760

			GF2E deltaCurGF    = GF2EFromLong(out->P[d].delta, 8);
			GF2E deltaCurInvGF = NTL::inv(deltaCurGF);
			GF2E alfaGF        = gammaInvGF * deltaCurInvGF;
			out->P[d].alfa_0   = (BYTE) getLong(alfaGF);
		}
	}

	return PiOK;
}

int BGEAttack::recoverQj(GenericAES & aes, int r, int col, int row, const mat_GF2 A0, BYTE alfa00, BYTE alfa_row_0, mat_GF2 & Aj, BYTE * qj){
	assert(r>=0 && r<N_ROUNDS);
	assert(col>=0 && col<=3);
	assert(row>=1 && row<=3);

	// From the Proposition 1, if we know already linear part A0 of Q0, we can this way determine
	// Aj linear part of Qj for other mappings
	//

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…