I doubt if 10 minutes for 66 even on a super computer is enough and after the 10 minutes its $1.60 per minute so 130 would cost a lot more money than 66. eventually the cost will go down.
Keep in mind the limitations imposed by the IBM Quantum provider, such as the number of allowed jobs, 10 minutes execution time, and queuing times.
Instead of applying Controlled-X gates individually in a loop, you can use Qiskit's QuantumCircuit.mct (Multiple-Control Toffoli) gate to combine multiple Controlled-X gates into a single operation.
qc.mct(list(range(16)), 16)
def sha256_compression_function(qc, message_bits, expression):
# Ensure the length of message_bits is 256
assert len(message_bits) == 256,
# Apply Controlled-X gates based on the message bits
qc.mct(list(range(16)), 16) # Combine Controlled-X gates into a single operation
# Manually construct the boolean conditions from the expression
qc.x([i for i, char in enumerate(expression) if char == '1' and i < 16])
Good Luck !