INNER CODE UNIT · C++

Aj

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

	Aj = L.Linv * A0 * alfaMatrix;

	// Part 2 - constant part extraction
	// If we put known Aj linear part to proposition 3 we don't have to bother with A~_j and gamma.
	// Then delta_i^{-1} = afa_j,i
	mat_GF2 AjInv;
	GF2 determinant;
	NTL::inv(determinant, AjInv, Aj);
	if (determinant == GF2::zero()){
		if (doCout) cout << "Cannot compute inverse - should never happen!!" << endl;
		return -2;
	}

	prop3struct_t * prop3 = new prop3struct_t;
	int prop3result = proposition3(prop3, aes, r, col, row, AjInv);
	if (prop3result != 0xf) {
		delete prop3;
		if (doCout) cout << "some problem with proposition 3 in recover Qj occurred. result="<<prop3result<<endl;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…