public static Polynomial createFromBytes( byte[] bytes, long degree ) {
		Set< BigInteger > dgrs = createDegreesCollection();
		for ( int i = 0; i < degree; i++ ) {
			int aidx = ( i / 8 ); // byte array index
			int bidx = i % 8; // bit index
			byte b = bytes[aidx];
			if ( ( ( b >> bidx ) & 1 ) == 1 ) dgrs.add( BigInteger.valueOf( i ) );
		}
		dgrs.add( BigInteger.valueOf( degree ) );
		return new Polynomial( dgrs );
	}