Tags: factoring crypto
Rating:
The challenge code reads:
```python
import sys
import ast
def check_factors(a,b,ab):
if abs(a)<=1 or abs(b)<=1:
print("too easy")
return False
if type(a*b) == float:
print("no floats please")
return False
return a*b == ab
factors = [4,10,0x123120,38201373467,247867822373,422943922809193529087,3741]
for composite in factors:
print(f"Factor {composite}")
a = ast.literal_eval(input("a:").strip())
b = ast.literal_eval(input("b:").strip())
if check_factors(a,b,composite):
continue
break
else:
print("Here is your Flag. Good Job!")
print(open("flag.txt").read())
```
We need to factorize the integers from the list.
We can solve this by hand, entering the prompted numbers into a factorization tool such as: https://www.numberempire.com/numberfactorizer.php
Providing valid factors for all integers in one go lets us receive the flag.