{'fraction_non_alphanumeric': 0.024008350730688934, 'fraction_numerical': 0.009394572025052192, 'mean_word_length': 4.919753086419753, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A module-based partial reconfiguration design for solving sparse linear systems over GF(2)

Factorization of large numbers, is of great importance in cryptanalysis, since many security algorithms are based on the fact that factoring of such numbers is an extremely difficult task. The fastest known algorithm for factoring large numbers is the Number Field Sieve (NFS). This algorithm has four main steps. Two of them, the sieving and the linear algebra steps are the more time consuming. In this paper, we introduce and implement a new matrix-by-vector multiplication scheme using a module based run time reconfiguration design, for the linear algebra step. Our implementation is based on Xilinx Virtex FPGA devices with serial 6.5 Gbps transceivers. We compare our system with other proposed architectures and we demonstrate that we can be 19,4 to 57,4 times faster, depending on the parameters of the block Wiedemann algorithm and on the FPGA device used.