Factorization Basis

A factorization basis is simply a set of distinct prime numbers \( B = \{p_1, p_2, ..., p_N\} \) used to factorize numbers.

In other words, when factoring a number, we only consider the primes in the chosen basis.

Example

If we define our basis as \( B = \{2,3,5\} \), this means we're only interested in numbers that can be expressed as products of these primes.

For instance, within this basis, we can factorize \( n = 30 = 2 \times 3 \times 5 \) or \( n = 18 = 3^2 \times 2 \), but we cannot factorize \( n = 21 = 3 \times 7 \) because 7 is not part of our basis.

B-Numbers Modulo n

A number is called a B-number modulo n if it can be fully factorized using only the primes in \( B \), under modulo \( n \).

Put simply, when we break it down into prime factors, only the primes from \( B \) should appear.

A Practical Example

Let’s take \( n = 77 \) as our modulus and use the basis \( B = \{7, 11\} \).

Now, we look for numbers that can be written as combinations of the factors \( 7 \) and \( 11 \), meaning numbers of the form:

\[ 7^a \cdot 11^b \]

The \( B \)-numbers modulo \( 77 \) are all numbers of this form, reduced modulo \( 77 \).

Here are a few examples:

  • \( 1 = 7^0 \cdot 11^0 \)
  • \( 7 = 7^1 \cdot 11^0 \)
  • \( 11 = 7^0 \cdot 11^1 \)
  • \( 49 = 7^2 \cdot 11^0 \)
  • \( 77 = 7^1 \cdot 11^1 \)
  • \( 121 = 7^0 \cdot 11^2 \)
  • \( 343 = 7^3 \cdot 11^0 \)
  • \( 539 = 7^1 \cdot 11^2 \)
  • \( 847 = 7^2 \cdot 11^1 \)
  • \( 1331 = 7^0 \cdot 11^3 \)
  • etc.

So, a number \( m \) is a \( B \)-number modulo 77 if, when reduced modulo 77, it contains only factors from \( B \).

For instance, \( m=49 \) qualifies as a \( B \)-number since it contains only \( 7 \), which is in \( B \): \[ m = 49 \equiv 7^2 \pmod{77} \] On the other hand, \( m = 20 \) does not, because it contains the primes \( 2 \) and \( 5 \), which are not in \( B \): \[ m = 20 \equiv 2^2 \times 5 \pmod{77} \]

What Is a B-Vector?

The B-vector of a number \( m \) relative to a factorization basis \( B = \{p_1, p_2, ..., p_N\} \) is the vector of exponents \((\alpha_1, \alpha_2, ..., \alpha_N)\) in its factorization modulo \( n \): \[ m \equiv p_1^{\alpha_1} p_2^{\alpha_2} \cdots p_N^{\alpha_N} \pmod{n} \]

In other words, the B-vector simply captures how many times each prime in \( B \) appears in the factorization of \( m \).

Example

Consider the factorization basis \( B = \{2, 3, 5\} \) and the number \( m = 18 \):

\[ m = 18 = 2^1 \cdot 3^2 \cdot 5^0 \]

Its B-vector is:

\[ v(m) = (1, 2, 0) \]

since the exponents of the prime factors are 1, 2, and 0.

Reducing Modulo 2

Given a number \[ m \equiv p_1^{\alpha_1} p_2^{\alpha_2} \cdots p_N^{\alpha_N} \pmod{n} \] the modulo-2 reduction of its exponent vector \[ v(m) = ( \alpha_1, \alpha_2, \alpha_3 , ... , \alpha_N ) \] is obtained by replacing each exponent \( \alpha_i \) with its remainder when divided by 2: \[ \beta_i \equiv \alpha_i \pmod{2} \] This effectively replaces even values with 0 and odd values with 1: \[ w(m) = ( \beta_1, \beta_2, \beta_3, ... ) \]

Why is modulo-2 reduction useful? This transformation helps identify whether a number is a perfect square modulo \( n \). If all the exponents in the factorization of \( m \) are even, then \( m \) is a perfect square modulo \( n \).

Example

For \( m = 18 = 2^1 \cdot 3^2 \cdot 5^0 \) in the basis \( B = \{2, 3, 5\} \), the B-vector is:

\[ v(m) = (1, 2, 0) \]

Applying modulo-2 reduction:

\[ w(m) = (1, 0, 0) \]

Since not all exponents are even, \( m \) is not a perfect square.

Conversely, consider \( m = 4 = 2^2 \) in the same basis:

\[ v(m) = (2, 0, 0) \]

Reducing modulo 2:

\[ w(m) = (0, 0, 0) \]

Since all exponents are even, \( m \) is a perfect square.

This technique is crucial in applications such as cryptography, number theory, and integer factorization algorithms.

Finding a perfect square within a given basis is a bit like hunting for a good parking spot downtown—it’s doable, but you need a keen eye and a bit of patience. Modulo-2 reduction helps streamline the process.

And so the story goes...

 
 

Please feel free to point out any errors or typos, or share suggestions to improve these notes. English isn't my first language, so if you notice any mistakes, let me know, and I'll be sure to fix them.

FacebookTwitterLinkedinLinkedin
knowledge base

Factorization

Calculator