In number theory, an n-smooth (or n-friable) number is an integer whose prime factors are all less than or equal to n.[1][2] For example, a 7-smooth number is a number in which every prime factor is at most 7. Therefore, 49 = 72 and 15750 = 2 × 32 × 53 × 7 are both 7-smooth, while 11 and 702 = 2 × 33 × 13 are not 7-smooth. The term seems to have been coined by Leonard Adleman.[3] Smooth numbers are especially important in cryptography, which relies on factorization of integers. 2-smooth numbers are simply the powers of 2, while 5-smooth numbers are also known as regular numbers.

Definition

edit

A positive integer is called B-smooth if none of its prime factors are greater than B. For example, 1,620 has prime factorization 22 × 34 × 5; therefore 1,620 is 5-smooth because none of its prime factors are greater than 5. This definition includes numbers that lack some of the smaller prime factors; for example, both 10 and 12 are 5-smooth, even though they miss out the prime factors 3 and 5, respectively. All 5-smooth numbers are of the form 2a × 3b × 5c, where a, b and c are non-negative integers.

The 3-smooth numbers have also been called "harmonic numbers", although that name has other more widely used meanings.[4] 5-smooth numbers are also called regular numbers or Hamming numbers;[5] 7-smooth numbers are also called humble numbers,[6] and sometimes called highly composite,[7] although this conflicts with another meaning of highly composite numbers.

Here, note that B itself is not required to appear among the factors of a B-smooth number. If the largest prime factor of a number is p then the number is B-smooth for any Bp. In many scenarios B is prime, but composite numbers are permitted as well. A number is B-smooth if and only if it is p-smooth, where p is the largest prime less than or equal to B.

Applications

edit

An important practical application of smooth numbers is the fast Fourier transform (FFT) algorithms (such as the Cooley–Tukey FFT algorithm), which operates by recursively breaking down a problem of a given size n into problems the size of its factors. By using B-smooth numbers, one ensures that the base cases of this recursion are small primes, for which efficient algorithms exist. (Large prime sizes require less-efficient algorithms such as Bluestein's FFT algorithm.)

5-smooth or regular numbers play a special role in Babylonian mathematics.[8] They are also important in music theory (see Limit (music)),[9] and the problem of generating these numbers efficiently has been used as a test problem for functional programming.[10]

Smooth numbers have a number of applications to cryptography.[11] While most applications center around cryptanalysis (e.g. the fastest known integer factorization algorithms, for example: General number field sieve algorithm), the VSH hash function is another example of a constructive use of smoothness to obtain a provably secure design.

Distribution

edit

Let   denote the number of y-smooth integers less than or equal to x (the de Bruijn function).

If the smoothness bound B is fixed and small, there is a good estimate for  :

 

where   denotes the number of primes less than or equal to  .

Otherwise, define the parameter u as u = log x / log y: that is, x = yu. Then,

 

where   is the Dickman function.

For any k, almost all natural numbers will not be k-smooth.

If   where   is  -smooth and   is not (or is equal to 1), then   is called the  -smooth part of  . The relative size of the  -smooth part of a random integer less than or equal to   is known to decay much more slowly than  .[12]

Powersmooth numbers

edit

Further, m is called n-powersmooth (or n-ultrafriable) if all prime powers   dividing m satisfy:

 

For example, 720 (24 × 32 × 51) is 5-smooth but not 5-powersmooth (because there are several prime powers greater than 5, e.g.   and  ). It is 16-powersmooth since its greatest prime factor power is 24 = 16. The number is also 17-powersmooth, 18-powersmooth, etc.

Unlike n-smooth numbers, for any positive integer n there are only finitely many n-powersmooth numbers, in fact, the n-powersmooth numbers are exactly the positive divisors of “the least common multiple of 1, 2, 3, …, n” (sequence A003418 in the OEIS), e.g. the 9-powersmooth numbers (also the 10-powersmooth numbers) are exactly the positive divisors of 2520.

n-smooth and n-powersmooth numbers have applications in number theory, such as in Pollard's p − 1 algorithm and ECM. Such applications are often said to work with "smooth numbers," with no n specified; this means the numbers involved must be n-powersmooth, for some unspecified small number n. As n increases, the performance of the algorithm or method in question degrades rapidly. For example, the Pohlig–Hellman algorithm for computing discrete logarithms has a running time of O(n1/2)—for groups of n-smooth order.

Smooth over a set A

edit

Moreover, m is said to be smooth over a set A if there exists a factorization of m where the factors are powers of elements in A. For example, since 12 = 4 × 3, 12 is smooth over the sets A1 = {4, 3}, A2 = {2, 3}, and  , however it would not be smooth over the set A3 = {3, 5}, as 12 contains the factor 4 = 22, and neither 4 nor 2 are in A3.

Note the set A does not have to be a set of prime factors, but it is typically a proper subset of the primes as seen in the factor base of Dixon's factorization method and the quadratic sieve. Likewise, it is what the general number field sieve uses to build its notion of smoothness, under the homomorphism  .[13]

See also

edit

Notes and references

edit
  1. ^ "P-Smooth Numbers or P-friable Number". GeeksforGeeks. 2018-02-12. Retrieved 2019-12-12.
  2. ^ Weisstein, Eric W. "Smooth Number". mathworld.wolfram.com. Retrieved 2019-12-12.
  3. ^ Hellman, M. E.; Reyneri, J. M. (1983). "Fast Computation of Discrete Logarithms in GF (q)". Advances in Cryptology – Proceedings of Crypto 82. pp. 3–13. doi:10.1007/978-1-4757-0602-4_1. ISBN 978-1-4757-0604-8.
  4. ^ Sloane, N. J. A. (ed.). "Sequence A003586 (3-smooth numbers)". The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.
  5. ^ "Python: Get the Hamming numbers upto a given numbers also check whether a given number is an Hamming number". w3resource. Retrieved 2019-12-12.
  6. ^ "Problem H: Humble Numbers". www.eecs.qmul.ac.uk. Retrieved 2019-12-12.
  7. ^ Sloane, N. J. A. (ed.). "Sequence A002473 (7-smooth numbers)". The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.
  8. ^ Aaboe, Asger (1965), "Some Seleucid mathematical tables (extended reciprocals and squares of regular numbers)", Journal of Cuneiform Studies, 19 (3): 79–86, doi:10.2307/1359089, JSTOR 1359089, MR 0191779, S2CID 164195082.
  9. ^ Longuet-Higgins, H. C. (1962), "Letter to a musical friend", Music Review (August): 244–248.
  10. ^ Dijkstra, Edsger W. (1981), Hamming's exercise in SASL (PDF), Report EWD792. Originally a privately circulated handwritten note.
  11. ^ Naccache, David; Shparlinski, Igor (17 October 2008). "Divisibility, Smoothness and Cryptographic Applications" (PDF). eprint.iacr.org. arXiv:0810.2067. Retrieved 26 July 2017.f
  12. ^ Kim, Taechan; Tibouchi, Mehdi (2015). "Invalid Curve Attacks in a GLS Setting". In Tanaka, Keisuke; Suga, Yuji (eds.). Advances in Information and Computer Security – 10th International Workshop on Security, IWSEC 2015, Nara, Japan, August 26–28, 2015, Proceedings. Lecture Notes in Computer Science. Vol. 9241. Springer. pp. 41–55. doi:10.1007/978-3-319-22425-1_3.
  13. ^ Briggs, Matthew E. (17 April 1998). "An Introduction to the General Number Field Sieve" (PDF). math.vt.edu. Blacksburg, Virginia: Virginia Polytechnic Institute and State University. Retrieved 26 July 2017.

Bibliography

edit
edit

The On-Line Encyclopedia of Integer Sequences (OEIS) lists B-smooth numbers for small Bs: