0

I recently discovered a new and appealing data structure while researching factorization. The data structure hinges on divisor, remainder sequencing which sequences as follows:

1st iteration:

Start with two numbers:

10279188485

279643777

Modulus divide the first by the second.

The remainder is 212012513

2nd iteration:

Use divisor form 1st iteration and divide it by the remainder from 1st iteration. Therefore 279643777 mod 212012513 = 67631264

Continue sequencing in this fashion. The following list of numbers is the remainders from iterations 3 to 17:

9118721

3800217

1518287

763643

754644

8999

7727

1272

95

37

21

16

5

1

0

As you can see the sequence is reductive in that it reduces to zero. This research field is very complex and broad and So I have succeeding questions as I present the research.

First question is a literature review question to ask where similar research concerning divisor, remainder sequencing has been done and what equations can I learn of in this regard. My first thought in this regard was the extended Euclidean algorithm. I have examined its flow of numbers and it is similar.

Note: Before continuing I want state that I use x and . [dot] to symbolize multiplication.

Second level of research:

I succeeding in finding a four factor number configuration which has many numeric properties, some of which may advance factorization methods in respect of large semi-prime composites such as RSA2048. The 4 factors are f1a, f1b, f2a, and f2b. In the example presented hereunder all four factors will be shown but in a live factorization where the factors of a semi-prime composite are unknown then these will be f2a and f2b. f1a and f1b are companion factors and they need not be prime numbers but they should be odd.

F2a is 1663

F2b is 5641

F1b is chosen such that it is a factor of f2b + 1. F2b + 1 = 2 x 7 x 13 x 31.

I am going to choose 13 as f1a.

As for f1b it must be above f2a and the way to ensure this is find the square root integer of f2a.f2b and use that if it is odd. In this case it is 3062 and so I will deduct 1 and use 3061 as f1b.

Multiply all 4 f numbers. The product is 373297456519. This is called Hdiv. The name follows from my previous research concerning remainder, short invariance. In this regard please see my previous two posts:

Remainder, Short Invariance

Solve an advanced remainder Question related to factorizing RSA 2048.

Hdiv is a dividend. Its divisor is 2 x f1a = 2 x 13 = 26. This divisor will be called r. From this division remainder and short will both be. This 26 is the second critical choice of inputs. The first was choosing f1a to be a factor of f2b + 1. The 13.

Take the quotient and add 1 to it. This number is 14357594481 + 1 = 14357594482. This quotient + 1 will be called Divisor. Even it seems confusing there is a valid reason why it is called divisor. To briefly explain: I can use Divisor as follows:

Take the product of f2a.f2b and add 1. This number is (1663 x 5641) + 1 = 9380984. Now deduct it from divisor and add 1. The answer is 14348213499. This number is called Lr (Long row). Take Lr and multiply to f1a.f1b: 14348213499 x 13 x 3061 = 570958459765707. This number is called d. d mod divisor = 13. This is the remainder, short invariance. If you use other numbers you will see that under certain conditions (explained in Remainder, Short Invariance post). The short from HDiv mod r = remainder from d mod divisor.

Note: Short is a term used to refer to difference between divisor and remainder.

This remainder, short and Lr number configuration is not the focus here but related nonetheless. The next part is to multiply f1a.f1b.f2a: 13 x 3061 x 1663 = 66175759. This is called M. M is actually the base dividend in a modulus division table. The rows in the table number from 1 to divisor 14357594482. Each succeeding row multiplies base dividend by the row. Then each ‘row dividend’ is modulus divided by Divisor. If you didn’t know it modular Inverses run of this kind of table. In my research I developed a more direct (but also slower) algorithm that find the row corresponding to the seeking value remainder that you input. So, you input base dividend, Divisor and seeking value and in seconds (or about 2 minutes for 1000-digit numbers) it will return the row. The faster alternative is to first find modular inverse using extended Euclidean algorithm and then calculate the row. In the present example if seeking value remainder is Divisor – remainder of 13 then from using M as base dividend and Divisor as divisor. The row returned is 5641 which is f2b.

This knowledge is useful as context but again it is not the focus.

The focus is to use M and deduct it from divisor. Therefore 14357594482 – 66175759 = 14291418723. Let’s call this G.

Now we have the setup for the divisor, remainder sequence. The two inputs are G and M. Gis dividend and M is divisor in first iteration. The main focus is on the numeric fixation of the sequence. The remainder sequence is:

63630538

2545221

13

3

1

0

Notice that f1a of 13 is the third remainder. This is a fix and the fix hinges on the critical inputs discussed above. The fix is twofold:

Fix 1: that it is f1a.

Fix 2: that it is the third remainder in the sequence.

Fix 1 comes from choosing r to be 2.f1a

Fix 2 comes from choosing f1a to be a factor of f2b + 1.

So, for example if you choose f1a to be 43 the sequence now has 11 remainders as follows:

129806297

89082752

40723545

7635662

2545235

2545192

43

22

21

1

0

You can see that f1a is the 7th remainder.

If you chose, say, 37 as f1a then the sequence is:

43268766

15271327

12726112

2545215

37

22

15

7

1

0

There are numerous properties in this type of divisor, reminder sequence configuration.

F1a of 37 is now the 5th remainder.

The abbreviation ‘rem’ will be used for remainder. Notice that with f1a = 13 and 43 the sum of rem 1 and rem 2 add up to M. This does not apply to f1a = 37. Choosing f1a to be a factor of f2b + 1 fixes this. Because of this fix when you modulus divide rem 1 and rem 1 individually by f1a the sum of the rems equals f1a. For f1a = 13:

63630538 mod 13 = 10

2545221 mod 13 = 3

10 + 3 =13.

Secondary properties are the following:

a) Divisor mod f1a is = to rem 1 mod f1a = G mod f1a

b) rem 2 mod f1a = rem 4. [or 2545221 mod 13 = 3]

In a live factorization. M holds f2a. Without knowing what it is we can know that there are two numbers (rem 1 and rem 2) that will add to M and without knowing what Rem 1 and rem 2 are we can know that what their respective remainders will be when modulus divided by f1a. How? Divisor is externally known from the input configuration and I already stated in a) above that divisor mod f1b = 10. So, then rem 1 mod f1a also = 10. 13 – 10 = 3. So then without knowing what rem 2 is we can know externally that rem 2 mod f1a = 3 and also that rem 4 (after rem 3 of f1a) = 3.

c) The quotient associated with 3rd iteration is fixed to 2.f1a -1. That is to say, rem 1 mod rem 2 is fixed to 2.f1a – 1. Putting in the numbers:

63630538 / 2545221 = 25 [(13 x 2) – 1] and remainder of 13.

d) The quotient for 1st iteration is 1 below the quotient from dividing f2b by r. That is: Quotient from 14291418723 / 66175759 = Quotient from 5641 / 26 – 1. The respective remainders will be different.

Putting in the figures:

14291418723 / 66175759 = 215 and rem of 63630538

5641 / 26 = 216 and rem of 25

e) the Quotient for 4th iteration is 2545221 / 13 = 195786 and the rem is 3 as expected. Besides this division there is another way to obtain the quotient but it is long and at the end it ties back to f2a, which actually means it is “internally locked” just like in d) above the 1st iteration quotient of 215 is “internally locked” to f2b. As a researcher I want to stress the importance of following up all or as many research avenues as reasonably possible and in this case although the end result is still internally locked I did find other properties along the way that are may be more potent than a) through e) combined. It will be explained below as f). For now, here is the complex and long breakdown of 4th iteration quotient of 195786.

4th rem is 3 and there are qf many units of 13 that are divided out from the dividend of 2545221 (which is rem 2). The qf is 195786 but for now treat it as unknown. Thus,13.qf + 3 = rem 2. To go to rem 1 we multiply by 25, which is externally known, and add 13 at the end: 25.(13.qf + 3) + 13.

Expanding this we have 325.qf + 75 + 13 = 325.qf + 88

To go to M we only have to add 13.qf + 3 to 325.qf + 88 because we know in advance that M = rem 1 + rem 2.This addition now reduces to: qf.(13 + 325) + 88 + 3 = qf.(338) + 91. Now we know that while qf is unknown the 338 and 91 can be externally known. If I wanted to go from M to Rem 2 there are two steps:

Step 1: 66175759 – 91 = 66175668

Step 2: 66175668 / 338 = 195786

Regarding f1 to be the product of f1a.f1b we can say that M is f2a units of f1. At step 1 the difference of 66175668 mod 39793 [f1] = 39702. Without knowing what M is I can know what M – 91 mod f1 is because it will always be fixed to f1 – 91 which is 39793 – 91 = 39702. I can know say that qf units of 338 when divided by f1 will return a remainder of 39702. Using the Modulus division table algorithm I input 338 as base dividend, 39793 as divisor and 39702 as seeking value. The algorithm does not return qf because the row of qf is not the first instance of the seeking value. The answer from the algorithm is 2943. To get to qf we have find a number s, multiply it to f1b, which is 3061, and then add 2943:

s.f1b + 2943 = qf

(63.3061) + 2943 = 195786

The 63 is actually the quotient from dividing f2a of 1663 by 2.f1a: 1663 / 26 = 63 and remainder of 25.

As stated above, you can see how the 63 is “internally” locked to f2a of 1663. However, I also said above that finding the derivation lead to the discovery of another property.

f) M is the product of f1.f2a. If I divide out f1a I am left with f1b.f2a. This will be called P. P mod f1a is 5090443 mod 13 = 7. On condition that f1a is a factor of f2b + 1 I can know the remainder of 7 without knowing what f2a or P are. M is a multiple of f1a and above I showed that it is qf.(338) + 91.

This can be restated. First is to restate the 338. It is 13 x 13 x 2. Take out one 13. So, then Qf.2.13 is 195786 x 2 x 13 = 5090436. Similar with the 91. We do know that rem 2 is (195786 x 13) + rem 4 of 3 and after that we take the whole thing and multiply by 2.13 – 1. In total there are 25 + 1 = 26 units of 3 = 78. Take out 13 from 78. We left with 6. To summarize, M is the total of these 3 numbers:

195786 x 2 x 13 = 5090436

3 x 2 = 6

1 [because between 91 and 78 is 13]

All 3 of these numbers are each multiplied by 13 and the total will be M. without multiplying by 13 the total is 5090436 + 6 + 1 = 5090443 but the first number is actually a multiple of 13 and since 5090443 mod 13 = 7 then the 7 is always 2.rem 4 + 1 = 2.3 + 1 = 7. It is fixed.

How is this useful? If I setup up a trial table. In this trial table the first column has numbers decremented by 1 and the start number is the square root integer of f2 [f2 = f2a.f2b], which is 3061. At each succeeding row the decreasing numbers in column 1, which are actually trial f2a, are multiplied by f1 of 39793. The result is recorded in column 2 and these are trial M. In column 3 divide each trial M by f1a [to remove 13] and then modulus divide by same f1a. see where the first 7 will occur and then you realize that your search range is not the difference between 3061 and 1663 but instead (3061 – 1663) / 13 = quotient of 107.

So to ask the following:

How to improve this factorization method?

Using all the knowledge in this post How to edit input configuration so That I can find higher and higher f1a that are all factors of f2b + 1? The higher it gets the shorter the search range.

0 Answers0