public static byte[] encryptBloc(byte[] in) {
		byte[] tmp = new byte[in.length];
		
		

		byte[][] state = new byte[4][Nb];

		for (int i = 0; i < in.length; i++)
			state[i / 4][i % 4] = in[i%4*4+i/4];

		state = AddRoundKey(state, w, 0);
		for (int round = 1; round < Nr; round++) {
			state = SubBytes(state);
			state = ShiftRows(state);
			state = MixColumns(state);
			state = AddRoundKey(state, w, round);
		}
		state = SubBytes(state);
		state = ShiftRows(state);
		state = AddRoundKey(state, w, Nr);

		for (int i = 0; i < tmp.length; i++)
			tmp[i%4*4+i/4] = state[i / 4][i%4];

		return tmp;
	}