# TWINKLE

**TWINKLE**is a hypothetical integer factorization device described recently by Adi Shamir and purported to be capable of factoring 512-bit integers. The name is an acronym of "The Weizmann INstitute Key Locating Engine". It is also a pun on the twinkling LEDs used in the device. The goal of TWINKLE is to implement the sieving step of the Number Field Sieve algorithm, which is the fastest known algorithm for factoring large integers. The sieving step, at least for 512-bit integers, is the most time consuming step of NFS. It involves testing a large set of numbers for B-'smoothness', i.e, absence of a prime factor greater than a specified bound B. What is remarkable about TWINKLE is that it is not a purely digital device. It gets its efficiency by eschewing binary arithmetic for an "optical" adder which can add hundreds of thousands of quantities in a single clock cycle. The key idea used is "time-space inversion". Conventional seiving is carried out one prime at a time. For each prime, all the numbers to be tested for smoothness in the range under consideration which are divisible by that prime are crossed out (similar to the sieve of Eratosthenes). TWINKLE, on the other hand, works one candidate smooth number (call it X) at a time. There is one LED corresponding to each prime smaller than B. At the time instant corresponding to X, the set of LEDs glowing corresponds to the set of primes that divide X. Further, the intensity of each LED is proportional to the logarithm of the corresponding prime. Thus, the total intensity equals the sum of the logarithms of all the prime factors of X smaller than B. This intensity is equal to the logarithm of X if and only if X is B-smooth.

In the above it is assumed that X is square-free, i.e it is not divisible by the square of any prime. This is acceptable since the factoring algorithms only require "sufficiently many" smooth numbers, and the "yield" decreases only by a small constant factor due to the square-freeness assumption. There is also the problem of false positives due to the inaccuracy of the optoelectronic hardware, but this is easily solved by adding a PC-based post-processing step for verifying the smoothness of the numbers identified by TWINKLE.

Shamir has estimated that the cost of TWINKLE could be as low as $5000 per unit with bulk production.

TWINKLE has a successor named TWIRL which is more efficient.