INNER CODE UNIT · C++

poly

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

		poly = poly + m.x[0][k] * characteristicPolynomial(nm);
	}

	return poly;
}

NTL::GF2X BGEAttack::characteristicPolynomial(mat_GF2 & m){
	mat_GF2X_t subMatrix;
	int n = m.NumRows();
	subMatrix.n=n;

	// Transform to GF2X matrix with variable on main diagonal
	NTL::GF2X var = GF2XFromLong(2, 9);
	assert(m.NumCols()==n);	 		  // we can do this only for square matrix
	if (n==1) return (m[0][0] + var); // such a degenerate case

	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…