A survey of modern integer factorization algorithms