Featured image of post Inside the RSA-260 Factorization: GPU-Accelerated GNFS and the Role of Devin

Inside the RSA-260 Factorization: GPU-Accelerated GNFS and the Role of Devin

A technical follow-up examining Cognition's account of the RSA-260 factorization, from its GPU-optimized CADO-NFS pipeline to its reported cost and implications for larger keys.

When Eric Lu announced the factorization of RSA-260 on September 3, 2026, he published a valid factor but almost nothing about how it had been found. My previous RSA-260 article therefore separated two questions: could the result be verified, and what method had produced it? Only the first had a firm answer.

The Missing Method Is No Longer Missing

On September 9, Lu published a detailed account through Cognition. The second question now has an answer, at least according to the team that performed the computation: RSA-260 was factored with the General Number Field Sieve (GNFS), using a heavily modified, GPU-accelerated version of CADO-NFS developed and operated with multiple Devin agents.

There was no quantum computer and, by Lu’s own account, no new factoring algorithm:

“I report essentially no algorithmic advancements”
Eric Lu, Cognition

That distinction matters. A better algorithm could change how factoring difficulty grows with key size. A better implementation reduces the practical cost of the same mathematics. Cognition reports the second kind of advance: established GNFS techniques were adapted to modern GPU memory systems and otherwise fragmented computing capacity.

This follow-up focuses on the information that was missing from the first announcement: the software, the resources, the role of Devin, and the limits of the larger security claims.

What Cognition Actually Built

GNFS is not one monolithic calculation. It is a pipeline combining polynomial selection, relation sieving, filtering, sparse linear algebra, and square-root extraction. Cognition did not replace that sequence. It changed where much of the work ran and optimized almost every stage around it.

The starting point was CADO-NFS, a mature open-source implementation. Its modular design gave the Devin agents established interfaces, reference outputs, and CPU programs against which GPU replacements could be tested.

According to Lu, the modified pipeline included:

  • gps1, a GPU adaptation of CADO-NFS’s first polynomial-selection stage, incorporating kernel techniques from msieve
  • glas, a GPU lattice siever replacing the CPU-based las
  • optimized coordination, deduplication, filtering, merging, and replay programs
  • a GPU-oriented block Wiedemann implementation for sparse linear algebra
  • a GPU-accelerated square-root stage and new run scripts

The central component was the lattice siever. It searches for billions of useful mathematical relations that can later be combined. The work divides naturally into independent units, but each unit performs many reads and writes at irregular memory locations.

That pattern is difficult for GPUs, which work best when many threads follow similar instructions and access predictably arranged data. The challenge was not to compile CPU code for CUDA. It was to reorganize the workload until the GPU’s much greater memory bandwidth outweighed the cost of branching and scattered access.

The mathematics remained GNFS. The operational system around it changed substantially.

Why Spare AI Compute Was a Good Fit

Cognition says the project began while its research team was improving the allocation of disaggregated compute. Large AI workloads prefer tightly connected groups of machines inside NVLink-equipped racks. Real scheduling leaves gaps: one node may remain idle, a job may require an even number of machines, or capacity may be reserved for failover.

Those gaps represented a single-digit percentage of Cognition’s cluster. They were awkward for training jobs, but well suited to relation sieving.

Fragmented GPU capacity reused for independent GNFS sieving workloads

Sieving is described as embarrassingly parallel because billions of small work units can run on separate machines with little coordination. A low-priority unit can be interrupted and rescheduled without invalidating the rest of the computation. The siever could therefore fill small scheduling holes left by larger AI workloads.

Lu says the factorization ran at “no marginal cost” (Cognition). This does not mean that the hardware, energy, or computation was free. It means the run reportedly used capacity that Cognition already owned and could not assign productively to higher-priority jobs at those moments.

The RSA-260 Run by the Numbers

Lu says the first prompt asking Devin to build a GPU lattice siever was issued on August 13. Polynomial selection began on August 18, and the factors were produced on September 3. The recorded run took about 15.6 days, while the broader engineering effort lasted roughly three weeks.

StageReported computeShareMain output
Polynomial selection643 GPU-days13.1%Candidate polynomials
Lattice sieving3,813 GPU-days77.5%13.85 billion raw relations
Linear algebra467 GPU-days9.5%Dependencies in a 656-million-row sparse matrix
Total4,923 GPU-days100%About 13.5 GPU-years of aggregate work

The reported stage totals reproduce Cognition’s rounded market estimate:

gpu_days = 643 + 3_813 + 467
market_price_per_gpu_hour = 3.50
market_equivalent = gpu_days * 24 * market_price_per_gpu_hour

print(gpu_days)                       # 4923
print(round(gpu_days / 365, 1))      # 13.5 GPU-years
print(f"${market_equivalent:,.0f}")  # $413,532

Cognition summarizes this as about 4,900 GPU-days and $400,000 at market prices. The latter is a market-equivalent compute estimate, not a bill or a complete project budget. It excludes the distinction between owned spare capacity and rented GPUs, and says nothing about hardware acquisition, power, cooling, human work, or Devin’s development cost.

GPU-days are aggregate work, not elapsed time. Parallel execution compressed the run into just over two weeks, with available capacity varying across B200, GB200, and GB300 systems.

What Happened Inside the Pipeline

The detailed timings reveal where the computation succeeded and where it remained inefficient.

Polynomial selection consumed far more work than planned. Lu attributes the 643 GPU-days to misread early benchmarks and unproductive search ranges. The total is therefore not presented as a theoretical minimum.

Sieving remained the dominant expense. It ran for about 7.9 days, generating 13.85 billion raw relations. After removing roughly 40% duplicates, 8.30 billion unique relations remained. The team upgraded the live siever twice, reporting gains of approximately 14% to 17% on the measured GPU types.

Filtering transformed those relations into a sparse binary matrix of about 656 million rows by 656 million columns, with 98.4 billion non-zero entries. The values represent whether relevant prime exponents are even or odd, so the linear algebra operates over GF(2), using only zero and one.

The block Wiedemann stage then searched the matrix for dependencies. Unlike sieving, its workers had to stay available together and communicate. Higher-priority jobs repeatedly pre-empted allocations, making checkpointing and job placement essential.

Even square-root extraction failed at first. A roughly 176-billion-bit intermediate product overflowed an internal mpz_t limb counter. Lu says Devin rebuilt the component three times, the final GPU-accelerated version completed its main calculation in 88 minutes.

This is what a record computation looks like in practice: measurements, failures, restarts, validation checks, parameter changes, and resource decisions, not one elegant command.

What Devin Did, and What Still Required a Human

Cognition presents the result as evidence that an AI software-engineering agent can contribute to specialized computational research. Its report supports a substantial role for Devin, but not the simpler story of an autonomous AI independently deciding to factor RSA-260 and completing the project alone.

Lu first asked Devin to create a drop-in GPU replacement for las. According to his account, an initial version surpassed the CPU reference after about nine hours. Over the following weeks, parallel Devin sessions optimized components, benchmarked changes, debugged failures, tuned parameters, prepared scripts, and managed cluster jobs. An average of three sessions ran concurrently, with a maximum of eighteen.

What did Devin still need a human for? Lu’s concise answer is “still a lot” (Cognition). He reports sending 3,328 messages across 192 of the 233 sessions used for the project. His role included defining priorities, establishing comparable benchmarks, detecting unproductive directions, organizing results, and deciding when evidence was trustworthy enough to proceed.

Verification remained central. While RSA-260’s linear algebra was running, the team completed an end-to-end factorization of a smaller 344-digit special-form number. It also checked stored linear-algebra states with CADO-NFS’s existing tools. One check failed after about fourteen hours, forcing the affected interval to be rerun.

The practical lesson is balanced. Agents can accelerate implementation and experimentation, but faster iteration increases the need for reference code, measurable objectives, independent checks, and informed human supervision. CADO-NFS supplied the stable, human-designed decomposition that made parallel agent work possible.

A Tenfold Cost Claim, Not a Mathematical Breakthrough

Cognition calls glas the highest-performance GPU lattice siever and estimates that its pipeline cuts factoring costs by about ten compared with the previous public state of the art.

This is a performance and cost claim, not a change to GNFS’s theoretical complexity. The gain comes from GPUs, software optimization, scheduling, and pricing assumptions. Factoring cost still rises extremely quickly as the modulus grows.

There is also no earlier public RSA-260 run for a direct comparison. Cognition scales the CPU cost of the RSA-250 record to estimate what RSA-260 would have required with the earlier approach, then compares that projection with its GPU accounting.

The publication includes detailed parameters, timings, relation counts, and matrix dimensions. At publication time, however, it does not link to the modified pipeline’s source code. The factors are independently verifiable, and the performance advantage is a detailed claim by the team, not yet an independently reproduced result.

What the RSA-1024 Estimate Really Means

The most security-relevant extrapolation concerns RSA-1024. Using standard GNFS scaling, Lu estimates that a 1,024-bit modulus would require about 78 times the RSA-260 computation. At the same assumed price of $3.50 per GPU-hour, the appendix gives $32.3 million, rounded to $30 million in the main article.

That is not an observed attack cost. It assumes that GNFS follows the heuristic scaling model, that this implementation remains usable at the larger scale, and that the same market price is meaningful. It also applies to one chosen modulus, not a reusable universal break.

The estimate suggests that a GPU-rich organization might contemplate attacking one legacy RSA-1024 key. It does not mean Cognition has factored RSA-1024 or that an organization without the software, expertise, and cluster access could reproduce the estimate.

Nor does it change current guidance. NIST already disallows RSA moduli below 2,048 bits for generating digital signatures and for RSA-based key establishment. Cognition refines the economics of an obsolete size. It does not redefine modern RSA hygiene.

Why RSA-2048 Remains Out of Reach

Cognition’s extrapolation places RSA-2048 about a billion times beyond RSA-1024 under the same GNFS model. A projection over such a distance is not a precise budget, but the order of magnitude is the point: a tenfold engineering improvement does not bridge a billionfold gap.

The conclusion of the previous RSA-260 article therefore remains intact. This record matters for computational number theory, legacy-key economics, and AI-assisted performance engineering. It is not evidence of a practical classical attack against correctly generated RSA-2048 keys.

That assessment would change if someone found a fundamentally better factoring algorithm. Cognition explicitly reports no such discovery.

Facts, Measurements, and Projections

The disclosure is easiest to interpret when its different kinds of evidence remain separate:

StatementStatusBasis
The factors multiply to RSA-260Independently verifiableDirect arithmetic, shown in the previous article
GPU-accelerated GNFS based on CADO-NFS was usedReported methodologyLu’s technical account and parameters
The run consumed about 4,900 GPU-daysReported measurementCognition’s stage accounting
The compute is worth about $400,000Cost estimateGPU-days multiplied by an assumed market price
The pipeline is about ten times cheaperComparative claimGPU result compared with a scaled CPU baseline
RSA-1024 could cost about $30 millionProjectionHeuristic GNFS scaling from this run
RSA-2048 is not meaningfully threatenedSecurity conclusionRemaining scaling gap and no new algorithm

A verified factorization does not automatically verify every performance estimate or extrapolation published alongside it.

Conclusion: Engineering Leverage, Not Cryptographic Collapse

The previous RSA-260 article ended with an open question about the method. Cognition now fills that gap: classical GNFS, a substantially modified CADO-NFS pipeline, modern GPUs, opportunistic scheduling, and multiple Devin agents directed by Eric Lu.

The result is significant because it shows how much leverage can still be extracted from established mathematics through better hardware use, performance engineering, open-source foundations, and AI-assisted iteration. It also shows the limits of the autonomous-agent narrative: Devin reportedly wrote and optimized substantial parts of the system, while human prioritization, benchmark design, judgment, and verification remained essential.

For security teams, the practical response is modest but important: identify and retire any remaining RSA keys below 2,048 bits, confirm that key-generation and crypto-agility plans are sound, and avoid treating this record as evidence that RSA-2048 has suddenly become breakable.

The measured boundary moved, especially for legacy key sizes and GPU-rich adversaries. Modern RSA did not collapse with it. The factorization is verified, the resource figures are team-reported measurements, and the costs for larger keys remain projections.

Sources and Further Reading

  1. Eric Lu / Cognition: Factoring RSA-260 (September 9, 2026)
  2. CADO-NFS Development Team: Number Field Sieve implementation and workflow
  3. Fabrice Boudot et al.: Comparing the Difficulty of Factorization and Discrete Logarithm
  4. NIST SP 800-131A Rev. 2: Transitioning Cryptographic Algorithms and Key Lengths
  5. Jason Papadopoulos and contributors: msieve