Factorisation of RSA-704 with CADO-NFS

Similar documents
The filtering step of discrete logarithm and integer factorization algorithms

Easter bracelets for years

Factorization of RSA-180

Methylation-associated PHOX2B gene silencing is a rare event in human neuroblastoma.

Analysis of Boyer and Moore s MJRTY algorithm

On Newton-Raphson iteration for multiplicative inverses modulo prime powers

On size, radius and minimum degree

A new simple recursive algorithm for finding prime numbers using Rosser s theorem

Efficiency of RSA Key Factorization by Open-Source Libraries and Distributed System Architecture

Smart Bolometer: Toward Monolithic Bolometer with Smart Functions

b-chromatic number of cacti

A Simple Proof of P versus NP

A new approach of the concept of prime number

A Context free language associated with interval maps

Full-order observers for linear systems with unknown inputs

Dispersion relation results for VCS at JLab

On Symmetric Norm Inequalities And Hermitian Block-Matrices

Case report on the article Water nanoelectrolysis: A simple model, Journal of Applied Physics (2017) 122,

Passerelle entre les arts : la sculpture sonore

Learning an Adaptive Dictionary Structure for Efficient Image Sparse Coding

On one class of permutation polynomials over finite fields of characteristic two *

Evolution of the cooperation and consequences of a decrease in plant diversity on the root symbiont diversity

Thomas Lugand. To cite this version: HAL Id: tel

Factorization of a 768-bit RSA modulus

A Slice Based 3-D Schur-Cohn Stability Criterion

Exact Comparison of Quadratic Irrationals

On Symmetric Norm Inequalities And Hermitian Block-Matrices

Vibro-acoustic simulation of a car window

Lower bound of the covering radius of binary irreducible Goppa codes

Can we reduce health inequalities? An analysis of the English strategy ( )

3D-CE5.h: Merge candidate list for disparity compensated prediction

From Unstructured 3D Point Clouds to Structured Knowledge - A Semantics Approach

L institution sportive : rêve et illusion

Completeness of the Tree System for Propositional Classical Logic

Soundness of the System of Semantic Trees for Classical Logic based on Fitting and Smullyan

Performance analysis of clouds with phase-type arrivals

The Accelerated Euclidean Algorithm

Polynomial Selection for Number Field Sieve in Geometric View

Hardware Operator for Simultaneous Sine and Cosine Evaluation

Two Dimensional Linear Phase Multiband Chebyshev FIR Filter

Stickelberger s congruences for absolute norms of relative discriminants

Numerical Modeling of Eddy Current Nondestructive Evaluation of Ferromagnetic Tubes via an Integral. Equation Approach

Nel s category theory based differential and integral Calculus, or Did Newton know category theory?

Hook lengths and shifted parts of partitions

The Riemann Hypothesis Proof And The Quadrivium Theory

Parallel Repetition of entangled games on the uniform distribution

Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography

Axiom of infinity and construction of N

Towards an active anechoic room

Sparse multivariate factorization by mean of a few bivariate factorizations

Two-step centered spatio-temporal auto-logistic regression model

The Mahler measure of trinomials of height 1

Widely Linear Estimation with Complex Data

The magnetic field diffusion equation including dynamic, hysteresis: A linear formulation of the problem

Dissipative Systems Analysis and Control, Theory and Applications: Addendum/Erratum

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

Efficient Subquadratic Space Complexity Binary Polynomial Multipliers Based On Block Recombination

Impulse response measurement of ultrasonic transducers

Exogenous input estimation in Electronic Power Steering (EPS) systems

Comparison of NEWUOA with Different Numbers of Interpolation Points on the BBOB Noiseless Testbed

Impairment of Shooting Performance by Background Complexity and Motion

New estimates for the div-curl-grad operators and elliptic problems with L1-data in the half-space

On The Exact Solution of Newell-Whitehead-Segel Equation Using the Homotopy Perturbation Method

On path partitions of the divisor graph

A remark on a theorem of A. E. Ingham.

Antipodal radiation pattern of a patch antenna combined with superstrate using transformation electromagnetics

On the longest path in a recursively partitionable graph

Reduced Models (and control) of in-situ decontamination of large water resources

Multiple sensor fault detection in heat exchanger system

Negative results on acyclic improper colorings

A NON - CONVENTIONAL TYPE OF PERMANENT MAGNET BEARING

Version of block Lanczos-type algorithm for solving sparse linear systems

Solving an integrated Job-Shop problem with human resource constraints

The Windy Postman Problem on Series-Parallel Graphs

Sound intensity as a function of sound insulation partition

New Basis Points of Geodetic Stations for Landslide Monitoring

A Novel Aggregation Method based on Graph Matching for Algebraic MultiGrid Preconditioning of Sparse Linear Systems

Eddy-Current Effects in Circuit Breakers During Arc Displacement Phase

Entropies and fractal dimensions

Solving the neutron slowing down equation

Low frequency resolvent estimates for long range perturbations of the Euclidean Laplacian

The FLRW cosmological model revisited: relation of the local time with th e local curvature and consequences on the Heisenberg uncertainty principle

On a series of Ramanujan

Sensitivity of hybrid filter banks A/D converters to analog realization errors and finite word length

Improved Adaptive Resolution Molecular Dynamics Simulation

Voltage Stability of Multiple Distributed Generators in Distribution Networks

A Simple Model for Cavitation with Non-condensable Gases

FORMAL TREATMENT OF RADIATION FIELD FLUCTUATIONS IN VACUUM

Comment on: Sadi Carnot on Carnot s theorem.

Quantum efficiency and metastable lifetime measurements in ruby ( Cr 3+ : Al2O3) via lock-in rate-window photothermal radiometry

On the Griesmer bound for nonlinear codes

A novel method for estimating the flicker level generated by a wave energy farm composed of devices operated in variable speed mode

Influence of a Rough Thin Layer on the Potential

The core of voting games: a partition approach

There are infinitely many twin primes 30n+11 and 30n+13, 30n+17 and 30n+19, 30n+29 and 30n+31

The sound power output of a monopole source in a cylindrical pipe containing area discontinuities

Climbing discrepancy search for flowshop and jobshop scheduling with time-lags

Notes on Birkhoff-von Neumann decomposition of doubly stochastic matrices

Solution to Sylvester equation associated to linear descriptor systems

On infinite permutations

Transcription:

Factorisation of RSA-704 with CADO-NFS Shi Bai, Emmanuel Thomé, Paul Zimmermann To cite this version: Shi Bai, Emmanuel Thomé, Paul Zimmermann. Factorisation of RSA-704 with CADO-NFS. 2012. HAL Id: hal-00760322 https://hal.inria.fr/hal-00760322 Submitted on 3 Dec 2012 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

FACTORISATION OF RSA-704 WITH CADO-NFS SHI BAI AND EMMANUEL THOMÉ AND PAUL ZIMMERMANN Abstract. We give details of the factorization of RSA-704 with CADO-NFS. This is a record computation with publicly available software tools. The aim of this experiment was to stress CADO-NFS which was originally designed for 512-bit factorizations for larger inputs, and to identify possible rooms of improvement. We report on the factorization of RSA-704 (212 decimal digits), which is the 2nd largest integer factorization with the General Number Field Sieve (GNFS), after the factorization of RSA-768 (232 digits) in December 2009 [3]. 1. Polynomial Selection Polynomial selection started end of April 2011. We used the following degree-6 polynomial: f(x) = 10614120x 6 + 62813641710611x 5 + 1938361239259842311964x 4 + 931957113890545875115664715x 3 11187228497714282733145127980606483x 2 + 275791344247583495761263211927712634450x + 631618785519411550157074523461307229101210175 with 4 real roots, skewness 2159616.00, Murphy s α = 9.46, and Murphy E-value 9.55 10 16, together with the linear polynomial g(x) = 1701314346829200310007393599x 10040119372014939875708192394943108. This polynomial pair was found using the CADO-NFS implementation of Kleinjung s 2008 algorithm [2], and can be reproduced as follows: $./polyselect2l -nq 800 -lq 7 -degree 6 -incr 60 -maxnorm 70 -admin 10614120 -admax 10614120 -N 740...359 -seed 1331320045 2000000... Y1: 1701314346829200310007393599 Y0: -10040119372014939875708192394943108 c6: 10614120 c5: 62813641710611 c4: 1938361239259842311964 c3: 931957113890545875115664715 c2: -11187228497714282733145127980606483 c1: 275791344247583495761263211927712634450 c0: 631618785519411550157074523461307229101210175 Date: July 1st, 2012. 1

The command-line above says that we are searching the leading coefficient of the linear polynomial g(x) of the form g 1 = p 1 p 2 p 7 q 1 q 2 with P < q 1,q 2 < 2P, P = 2000000, and p 1,...,p 7 are seven small primes. We also looked for degree-5 polynomials, but we prefered to use a degree-6 polynomial since CADO-NFS had been less used if any at all with such a degree. The total time spent in polynomial selection was about 12 core years (about 2.2 for degree 5, and 9.9 for degree 6), using about 100 cores at ANU. 2. Sieving Sieving started on June 20, 2011, using clusters both at ANU and Inria Nancy-Grand Est. We used as factor base bound 250,000,000 on the rational side, 500,000,000 on the algebraic side, 2 33 as large prime bound on both sides, with up to two large primes on the rational side and three on the algebraic side. Due to a limitation of the CADO-NFS lattice sieve, we had to use a sieving region of 2 29 only (I = 15) which was sub-optimal (I = 16 like for the factorization of RSA-768 would have been better). This limitation has been removed now in CADO-NFS, but we prefered to finish the experiments with I = 15 (in addition, I = 16 uses a lot of memory, which would not enable us to use all cores of the clusters we had access to). Due to the sub-optimal sieving parameters, we had to sieve over a large range of special-q, namely from 500M to 10000M. This in turn caused lots of duplicate relations (see below). On February 26, 2012 we had collected a total of 1,313,935,004 relations. We estimate to 500 CPU years the total sieving time (most of the computers used for sieving were Intel Xeons L5420 running at 2.5Ghz). 3. Filtering The 1,313,935,004 raw relations gave 832,908,644 unique relations (i.e., 36.6% of duplicates). After removing singletons, we had a matrix with about 650M rows, and an initial excess of about 98M. After the clique removal algorithm, it remained about 320M rows and columns with an excess of 160, and an average weight of 22.19 per row. In the merge phase, we merged ideals of weight up to 50. The CADO-NFS code does not consider the heavy ideals in the merge phase (here 132 heavy ideals were buried ). The final matrix had about 89M rows and columns, with 17720843456 non-zero coefficients (about 200 per row), and 16568894691 in the sparse part (about 187 per row), while the dense part consists of the 32 heaviest ideals. (The size of the sparse matrix is 67Gb in binary form.) After the merge phase, we tried the cycle optimization method from Denny and Müller [1], which is implemented in msieve too. We tried this method in two ways: firstly to reduce the number of relations in the matrix, secondly to reduce the number of ideals. In both cases we started with 319879050 relation-sets, and an initial weight of 1029799871 relations (11.63 on average per relation-set). If we use this method to reduce the number of relations in the merged matrix, we save only about 0.03% of the total number of relations, which in turn reduced by about 0.02% the total weight of the matrix. If we use this method to reduce the number of ideals (instead of relations) in the merged matrix, we gain only a little more in the total weight of the matrix. We conclude that the cycle optimization method from Denny and Müller is not interesting with modern merge algorithm using Markowitz pivoting. 2

4. Linear Algebra The linear algebra was started on March 19, 2012. The block Wiedemann algorithm has been used, using only one sequence of 64-bit vectors (in other words, blocking parameters m = n = 64 have been used for the algorithm). The first phase (krylov) ended on May 11. The second phase (lingen) started on May 13, although the full run, taking 10 days, completed only on June 12, due to successive power outages. The last phase (mksol) started on June 13 and ended on June 29, 2012, producing a kernel of dimension 61. All krylov and mksol jobs within this project were carried on the french Grid 5000 computer grid. The article [4] indicates how the block Wiedemann algorithm may be split into small jobs in order to be used on a grid. Overall, 1800h of wall-clock time have been spent on these krylov and mksol tasks, on clusters of varying sizes (clusters have been used in an opportunistic manner, depending on resource availability). Noteworthy is the fact that all of these jobs have been setup as best-effort jobs, allowing any competing job submission to immediately kill our job, without any notice. This setup has obviously led to jobs spending time in their start-up phase (importing data to the cluster nodes), yet not being able to do much useful work later on. The overhead cost of this sometimes useless I/O time on the previously indicated timing is roughly 800h. This large overhead could have been lowered considerably if we had been able to replicate our storage points on several nodes, as we did previously for the RSA-768 computation. 5. Characters and Square Root The characters program gave 10 dependencies. We had 64 dependencies from the linear algebra, minus 32 since we skipped the 32 heaviest columns, thus 22 dependencies were killed by the characters, which is larger than the usual value of 10-15; we have to investigate why. 6. Conclusion The factorization of RSA-704 is n = p q where p = 90912135295978188784406583026004374858926083103283587204285121689 60411528640933367824950788367956756806141 q = 81438592591100452657278091262844293358778990021676278832009141724 29324360133004116702003240828777970252499 have both 106 digits. The prime factors of p±1 and q ±1 are: p 1 = 2 2 5 17 7759 248701 3311937667 1669783862489 1880450644642000493838449 p49 p+1 = 2 3 2 43 71 157 2630713 1850017111 1040072485315298476627 2023909737931501893269845781 p36 q 1 = 2 19 149 233 426163 34302641 415283201 p79 q +1 = 2 2 3 2 5 4 8753 27539 962945197 p85 3

Acknowledgements. The computation was done with CADO-NFS, a free software whose main developpers are Pierrick Gaudry, Alexander Kruppa, François Morain and the three authors (see http://cado-nfs.gforge.inria.fr/). Lionel Muller helped distributing jobs in the sieving phase. The orac cluster in the Mathematical Sciences Institute of the Australian National University was used for polynomial selection and sieving. The TALC cluster of Inria Nancy-Grand Est was used for the sieving phase, and Grid 5000 was used for the linear algebra phase. Grid 5000 is an experimental testbed, being developed under the INRIA ALADDIN development action with support from CNRS, RENATER and several Universities as well as other funding bodies (see https://www.grid5000.fr). References [1] Denny, T. F., and Müller, V. On the reduction of composed relations from the number field sieve. Extended Abstract, 1995. 10 pages. [2] Kleinjung, T. Polynomial selection. slides presented at the CADO workshop on integer factorization, 2008. [3] Kleinjung, T., Aoki, K., Franke, J., Lenstra, A. K., Thomé, E., Bos, J. W., Gaudry, P., Kruppa, A., Montgomery, P. L., Osvik, D. A., te Riele, H., Timofeev, A., and Zimmermann, P. Factorization of a 768-bit rsa modulus. In CRYPTO 2010 Advances in Cryptology - CRYPTO 2010 (Santa Barbara, USA, 2010), T. Rabin, Ed., vol. 6223 of Lecture Notes in Computer Science, Springer- Verlag, pp. 333 350. [4] Kleinjung, T., Nussbaum, L., and Thomé, E. Using a grid platform for solving large sparse linear systems over GF(2). In 11th ACM/IEEE International Conference on Grid Computing (Grid 2010) (2010), IEEE, pp. 161 168. 4