RSA public key cryptanalysis method and system based on random walk

By grouping large integer factors into a computable triangular region and utilizing random walks and set operations, the efficiency of integer factorization in RSA public-key cryptography is improved, solving the problem of the difficulty of integer factorization in RSA public-key cryptography and enhancing the security of the RSA public-key cryptosystem.

CN116743384BActive Publication Date: 2026-08-25FOSHAN UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310881204.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-18
Publication Date
2026-08-25
Estimated Expiration
2043-07-18

AI Technical Summary

Technical Problem

RSA public-key cryptography is difficult to factor into integers, and existing methods are unable to effectively break the security of large-modulus RSA public-key cryptosystems.

Method used

A random roaming-based approach is adopted to gather large integer factors into a computable triangular region. These host numbers are searched through random roaming, and Cartesian difference operations and set operations are used to improve the search success rate.

Benefits of technology

The random roaming method improves the efficiency of integer factorization, overcomes the technical problem of the difficulty of integer factorization, and enhances the security of the RSA public-key cryptosystem.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116743384B_ABST
    Figure CN116743384B_ABST
Patent Text Reader

Abstract

The application discloses a random roaming-based RSA public key cryptanalysis method and system. The method comprises the following steps: obtaining a modulus of an RSA public key; setting a dense factor and a step length; calculating a starting point and initializing a roaming point; defining a random roaming area and an expression of any element in the area; calculating the greatest common divisor of the element in the area and the modulus; and cyclically moving the step length and outputting the greatest common divisor. The system comprises a memory and a processor for executing the random roaming-based RSA public key cryptanalysis method. By using the application, the technical problem of difficult integer factorization in the RSA public key cryptanalysis method can be solved. The application can be widely applied to the technical field of integer factorization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of integer factorization technology, and in particular to a method and system for cracking RSA public-key cryptography based on random roaming. Background Technology

[0002] The study of public-key cryptography is the primary driving force behind the research on integer factorization, and trial division is the earliest known method for integer factorization. The RSA public-key cryptosystem is mainly built upon the difficulty of factoring or solving the RSA modulus. The essence of factoring or solving the RSA modulus is finding a way to factor any integer. To enhance security, the RSA modulus is becoming increasingly larger, and its factorization difficulty is also increasing. Cybersecurity and cryptography researchers worldwide are actively searching for new methods to factor or solve the RSA modulus to verify or disprove the security of the RSA public-key cryptosystem. Summary of the Invention

[0003] In view of this, in order to solve the technical problem of the difficulty of integer factorization in RSA public-key cryptography cracking methods, this invention proposes an RSA public-key cryptography cracking method based on random roaming, the method comprising the following steps:

[0004] The modulus for obtaining the RSA public-key cryptography is denoted as N; Predict the upper bound of the small factors of N, denoted as p. b ; Set the density factor g and the step size δ. x and δ y ; Calculate the total starting point , ; Set the starting point of this round of roaming (X0, Y0) = (C x C y ) Initialize (X, Y) = (X0, Y0); Define any element in the region The expression; calculate The greatest common divisor of N is f; The robot cyclically and randomly moves through the area, calculating the locations reached during the roaming process. The expression is repeated until f is greater than 1, at which point f is output.

[0005] Where, p b The estimated value is a random estimate; generally, it can be selected in... nearby.

[0006] In some embodiments, it also includes: When the pedometer reading exceeds the preset step threshold, the loop exits.

[0007] This preferred step sets the second exit condition for the loop by pre-designing a threshold B, thus preventing the loop from failing to terminate.

[0008] In some embodiments, it also includes: Random roaming areas can be described as: ; ; Its three boundaries are as follows: ; ; .

[0009] Through this optimization step, host numbers containing large integer factors are aggregated into a computable triangular region, and a method for calculating the boundary and interior points of this region is given.

[0010] In some embodiments, any element in the region The expression is as follows: In some embodiments, the area is cyclically and randomly moved to calculate the locations reached during the roaming. And f, until f is greater than 1, then output f: Generate random numbers; Based on the value of the random number and the step size, move X and Y; calculate ; calculate The greatest common divisor of N is f; Determine whether X and Y have crossed the boundary. If they have crossed the boundary, return to the vicinity of the starting point to obtain the starting point for this round.

[0011] The point near the starting point can be the original starting point, the starting point of the previous iteration, or the starting point of the current iteration. The time spent calculating the final result will vary depending on the starting point chosen. In this embodiment, it is preferable to choose to return to the starting point of the previous iteration. In addition, since it is a random roaming method, there is no specific limitation on the point near the starting point.

[0012] Repeat until f is greater than 1, then output f.

[0013] In some embodiments, the rules for determining whether X and Y are out of bounds are as follows: If X=1, then it is determined to be out of bounds; like If so, it is determined to be an out-of-bounds violation; like If it is, then it is judged as crossing the boundary.

[0014] In this step, an out-of-bounds condition is set, and if an out-of-bounds error is detected, the system is forced to return to the vicinity of the starting point.

[0015] In some embodiments, the step of moving X and Y based on the value of the random number and the step size specifically includes: If the value of the random number is 1, then X moves upward by δ from the current position. x ; If the value of the random number is 2, then X moves down δ from its current position. x ; If the value of the random number is 3, then Y moves δ to the left from the current position. y ; If the value of the random number is 4, then Y moves δ to the right from its current position. y .

[0016] In this context, the 2D random step sequence 1-4 represents the four directions: up, down, left, and right. Each step randomly selects the next direction and moves according to the set step length. Because the X and Y ranges are different, the step length is set differently.

[0017] In some embodiments, the re-entry to the vicinity of the starting point specifically includes: Generate a second random number; If the second random number is 1, then X moves upward by δ from the starting point of this round (X0, Y0); If the second random number is 2, then X moves downwards by δ from the starting point of this round (X0, Y0); If the second random number is 3, then Y moves δ to the left from the starting point (X0, Y0) of this round; If the second random number is 4, then Y moves δ to the right from the starting point (X0, Y0) of this round.

[0018] This invention also proposes an RSA public-key cryptography cracking system based on random roaming, the system comprising: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the RSA public-key cryptography cracking method based on random roaming as described above.

[0019] Based on the above scheme, this invention provides a method and system for cracking RSA public-key cryptography based on random roaming. It involves collecting integers containing large integer factors (hereinafter referred to as "host numbers") into a planar region and then searching for these host numbers through random roaming. The host numbers containing large integer factors are collected into a computable triangular region using the Cartesian difference operation of sets, and the calculation methods for the boundary and interior points of this region are provided. A computer is then used to randomly roam within this region to search for host numbers to factor large integers. The increased density of the collected host numbers in the region improves the success rate of the search, overcoming the technical problem of the difficulty in integer factorization. Attached Figure Description

[0020] Figure 1 This is a flowchart of the steps of an RSA public-key cryptography cracking method based on random roaming according to the present invention; Figure 2 This is a flowchart illustrating the random roaming integer factorization process in a specific embodiment of the present invention; Figure 3 This is a specific embodiment of the present invention. The p-band and pq-triangle inside. Detailed Implementation

[0021] This invention uses sets, elements, and set operations, including the empty set. Set Union set difference And the relation ∈. Specifically. This indicates removing all elements from set A that are also in set B. (Notation) This indicates that B is derived from A. Notation and Distributions are floor functions and ceiling functions, which are commonly found in general computer science textbooks.

[0022] mark This means that x is the remainder when integer a is divided by integer b, or in other words... Here, a, b, k, and x are all integers.

[0023] In addition, there are some notation definitions: Let S be a set, It is an element of S; the number of times e appears repeatedly in S is called the repetition degree of e, denoted as . For example, sets There is as well as .mark This means placing m repeated elements together regardless of their order, i.e., Set by this notation It can be expressed as .set up It is a collection A finite set of n elements, noted as n. express here It is an integer.

[0024] set up If is a finite set containing n integers, then ; mark express , here It is an integer. If It is a finite set containing n integers. express , .

[0025] The integer interval referred to in this invention It is the set of all integers starting from a and ending at b. For example... The odd-numbered intervals referred to in this invention This refers to the set of all odd numbers starting from 'a' and ending at 'b'. For example, the interval of odd numbers. If an interval contains an integer x, then the interval is called the host interval of x.

[0026] Definition 1. Let Let X be a finite set, where n is a positive integer; if all elements of X are 0, that is... If X is the zero set, then X is called the zero set and is represented by the notation X=0.

[0027] Definition 2. Let , Let A and B be two finite sets, where s and t are both positive integers; then the Cartesian difference between B and A is... Defined as: For convenience, it can be abbreviated as: It is obvious that and Even if .

[0028] Definition 3. Let It is a finite set, where n is a positive integer. It is the set of all distinct elements in A. The nucleus is called A. For example... .

[0029] Definition 4. If d is a factor of a composite number N, then N is called the host number of d.

[0030] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0031] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described herein can be combined with each other.

[0032] It should be understood that the terms "system," "apparatus," "unit," and / or "module" used in this application are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.

[0033] As indicated in this application and claims, unless the context clearly indicates otherwise, the words "a," "an," "a," and / or "the" are not specifically singular and may include the plural. Generally, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements. An element defined by the phrase "comprising an..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes the element.

[0034] In the description of the embodiments of this application, "a plurality of" refers to two or more. The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0035] Furthermore, flowcharts are used in this application to illustrate the operations performed by the system according to embodiments of this application. It should be understood that the preceding or following operations are not necessarily performed precisely in sequence. Instead, the steps can be processed in reverse order or simultaneously. Additionally, other operations can be added to these processes, or one or more steps can be removed from them.

[0036] The main mathematical principles cited are: Cartesian difference operation based on the aforementioned definition This invention first proves several mathematical conclusions, and then derives a new method for integer factorization. These mathematical principles include lemmas, theorems, and corollaries.

[0037] Lemma 1. Let... , , here Let be an integer; [denote] , ;but or

[0038] Proof: Expanding directly according to Definition 2, we get make Then there is thereby, Lemma 2. Let , , , here It is an integer.

[0039] like , , and

[0040] but or Proof. This lemma is another way of stating Lemma 1. It can be proved by analogy with the proof of Lemma 1.

[0041] Lemma. Suppose , ,here , If neither is empty, then More generally, if , ,but Here, k and l are both positive integers. , , .

[0042] Proof. Without loss of generality, suppose... , and Here, s, t, u, and v are all positive integers. Let... Then, by directly expanding from Definition 2, we get: because It can be known .

[0043] Similarly, the conclusion in the general case can be proven.

[0044] Lemma 4. Let , , ,here It is an integer. If , but or More generally, , achievable or Proof. Direct calculation yields... Depend on have to because , so Lemma 4*. Let... , , , here It is an integer. If , but or More generally, , achievable or Proof. Direct calculation yields... thereby Depend on have to Lemma 5. Let , , here If the integer is , then: Here, k > 0 is an integer.

[0045] Proof. By comparing the proofs of Lemma 4 and 4*, we obtain the proof of this lemma.

[0046] Lemma 6. Let , , Then there is Here, g is a positive integer.

[0047] Proof. Because , Direct calculation yields: Lemma 7. Let and Here, p and q are both positive integers. If but Proof. Direct calculation yields the result: Theorems and corollaries: Theorem 1. Let... , They are two positive integers. , Let's set up again. , It is a set consisting of two consecutive integers and ; like It is Descartes : Then there are (1) elements of C. The calculation formula is as follows: (1) Therefore, C contains kl elements, the smallest of which is The largest is .

[0048] (2) Set C contains k+l-1 distinct elements, which are , ,…,and Therefore, some elements will appear repeatedly. The degree of repetition of these repeating elements is... (2) In other words, among the k+l-1 distinct elements in C, there are The repetition of 1 is α, and the repetition of 2 is α. The repetition rate of 2 is Continuing in this way, the repetition rate of the two is 1.

[0049] Proof. Since A and B are both sets of consecutive positive integers, we have: , .

[0050] thereby This is what is described in (1).

[0051] Writing C in row and column form gives: like have to (3) like Then we have: (4) and Shi De: (5) From equations (3), (4), and (5), we know that C contains kl elements, where It is the smallest. It is the largest, which also proves the conclusion stated in (2).

[0052] According to (3), (4), and (5), if the order of elements is not considered, in Time C can be represented as: And in From time to time

[0053] Example 1. Let , Then k=4, l=4, , and have We can see that 4 was repeated 4 times, 3 was repeated 3 times, and 2 was repeated 2 times.

[0054] More specifically: , , , .

[0055] Corollary 1. Let k, l, A, B, and C be as described in Theorem 1. If Then there is (1) The determinant expression of C is: (6) or (7) That is: , , , , , , ,..., , .

[0056] (2) There are k other elements between any two repeated elements in C.

[0057] Proof. By Learned Therefore, from (3), we immediately obtain (6) and (7). Conclusion (2) can be seen from (6).

[0058] set up It is a set that does not consider the symbols of the elements in C. ,here ;but (8) Corollary 2. Let α, β, A and B are as described in Theorem 1. It is a set that does not consider the symbols of the elements in C. ;

[0059] but yes There is There are elements, among which are There are several values ​​s, where s satisfies Integers.

[0060] Proof. Note. Then when By Theorem 1, C contains One element. Therefore contain There are 1 element. Another conclusion can be directly derived from (8).

[0061] Example. Let's say... , ;but Corollary 3. Let , , It is an integer range. Here, a is an integer. , , .but

[0062] If remember ;but Proof. The conclusions are derived directly from (7) and (8).

[0063] Note 1. Taken from Corollary 3 get , , and It can be seen that the larger k and l are, the better. or Zhongyuan and The greater the repetition of elements.

[0064] Example. Suppose , , ;but , , , and .thereby Corollary 4. Let a be an integer; take... , , and ,but like ,but Theorem 2. Let A and B be as stated in Theorem 1; then for any positive integer g, we have: Proof. Note. (i=1,2,...,k) (j=1,2,...,l). Then , , and .because By Lemmas 2, 3, 4, and 6, we get

[0065] Similarly, Example. Suppose , , .but , , Direct calculation yields: Corollary 6. Let... If it is a set of consecutive integers, then Here, k and g are both positive integers.

[0066] Proof. Let... as well as

[0067] but and They are respectively:

[0068] remember but , By Lemma 3, we get Then by Lemma 7, .thereby At the same time, by Get it instantly Example. Suppose but From (7), we know that Therefore: .

[0069] Corollary 7. Suppose k and A are as described in Theorem 1; then (9) If set Defined as , here ;but (10) Here, s is satisfied. Integers.

[0070] Proof. By Corollary 6, Based on (7) and (8), we know that (9) and (10) are valid.

[0071] Corollary 8. Suppose A is as described in Theorem 1; then Proof. This proof is obtained by referring to the new notation defined in this invention and Corollary 1.

[0072] Note 2. Write it in rows and columns as follows: Using the transpose symbol T in matrix operations, we know Theorem 3. Given integers a, g > 0, N > 0, assume , If we disregard the order of elements in the set, we have: Proof. By Corollary 8, set contain There are 10 elements. The remainder when each element is modulo N is known as... Then, from Corollary 1 set up For any non-zero element Then it is more than The nature of, here .

[0073] Note that, for have , thereby The theorem is proven by comparison.

[0074] Methods for factoring integers: Since RSA numbers are almost prime, we consider N = pq to be an almost prime number generated by factors p and q. Assume the host regions of p and q are... , ,here , , , All are odd integers that satisfy and .exist Find p in or in Finding q in the solution decomposes N. Therefore, let... , , and ,here If it is an integer, then we have: As noted in note 1 above, The elements in will appear repeatedly Inside, and The larger the value, the more times it is repeated. To achieve the decomposition, first consider... In this situation, we will reconsider. In this situation, here It is an integer.

[0075] p e Analysis of the case where = N from The conclusion is (11) or Thus in Inside, the number of hosts for p satisfies: here To meet Integers.

[0076] From the aforementioned inference 1, we know that The number of hosts in element p appears once every p other elements, and is discretely distributed. The total number of hosts is: because mean Also includes ... They appear once every q other elements, for a total of therefore, The total number of hosts containing factors of N is For example, take Direct calculation There are 60 fives, 50 tens, 40 fifteens, 30 twentys, 20 twentys, and 10 thirtys, totaling 210 elements containing the factor 5; It also contains 56 sevens, 42 14s, 28 21s, and 14 28s, for a total of 140 elements containing the factor 7.

[0077] In expression (11), the 0s on the diagonal divide the entire set into two triangles, each containing the same number of factors N. In the lower triangle, we can see that there is a factor from... arrive The belt, such as Figure 3 As shown, each column in this band contains a p. Therefore, this band is called a p-band. Also note that the triangle below the p-band contains all p hosts. (Here, an integer) The number of hosts for ) and q (Here, an integer) Therefore, this triangle is called the pq-triangle.

[0078] The total number of elements contained in the p-band is: The total number of elements contained in the pq-triangle is: The total number of elements contained in both is: Note that the number of repeated p in the p-band is: Therefore, the total number of hosts in the pq-triangle containing factors of N is: If remember The host population densities containing factors of N in the p-band, pq-triangle, and pq-total are respectively: as well as Calculated (12) and (13) because as well as It can be seen that (13) satisfies (14) Equations (14) and (12) show that the host number distribution density of the factor of N in the pq-triangle is the largest.

[0079] p e Analysis of the case of = gN remember Then there is This set contains a total of The number of hosts per p and The number of hosts for each q. Therefore, g is called the density factor. Since... Any element other than 0 can be represented as ,here , Represented using rows and columns, for: Similarly, it can be seen that the number of hosts containing factors of N is sparsely distributed across the set. Now consider its compaction method. Based on Theorem 3... ,have Therefore p e The case of = gN is transformed into p e = Overlap of cases N, i.e. This situation. Therefore, there is... It is obvious that p e = gN is the case of p e = N, the result after densification. The above set p also exists in g - with, (pq) g -sum of triangles (pq)g -Total, of which (pq) g - The triangle contains the number of hosts with the highest density factor N.

[0080] Reference Figure 1 and Figure 2 , in (pq) g - Random walk decomposition method on triangles (pq) g - The triangle contains the largest number of hosts that are factors of N. If any element, such as e, is found within this region, then the greatest common divisor (GCD) between e and N, d = gcd(e, N), is a factor of N. The following describes a method using random walks. For convenience, (pq) g - A triangle is denoted as ,So Using rows and columns as Due to elements Repeated at the boundary Therefore, only one boundary is taken from each row. This results in a randomly roaming region: Line 1: ; Line 2: ; Line 3: ; Line 4:

[0081] Line k: here , .

[0082] Using random variables X and Y, the randomly roaming region can be described as follows: , Its three boundaries are Line L1: Line L2: Line L3: . any element in the region It can be represented by X, Y, and g as follows: (15)

[0083] After determining the area for random roaming, the initial starting point (total starting point), the starting point for each round of roaming, the step size, and the handling of boundary violations become crucial. Because It is the natural boundary number between p and q, and the first starting point (C). x C y ) can be selected as Since the average displacement in the Y-axis roaming is approximately g times that in the X-axis, choosing a larger Y-axis step size can improve efficiency. This invention considers the roaming from the starting point to the point where the target number is not found outside the bounds as one round, setting the starting point of each round as (X0, Y0), and using aRandStep(X, Y, δ)... x , δ y To calculate the position after taking one step from the current point (X, Y), we use δ. x δ y These are the step distances in the X and Y directions, respectively. During each roaming point, the current (X, Y) is calculated according to (15). Value and calculate The greatest common divisor of N is f = gcd(N, If f > 1, a factor of N is found, and the roaming terminates; otherwise, roaming continues. When the roaming crosses the boundary, it is necessary to force a return to the starting point (X0, Y0) within a range of δ distances to restart a round of roaming using ReturnStart(X0, Y0 δ). This invention sets OutofBorder(X, Y) to determine whether X and Y have crossed the boundary. To avoid prolonged roaming without finding the target, a pedometer is set and given a threshold B. When the total number of steps counted by the pedometer exceeds the threshold, the roaming is forcibly terminated, and the next round of roaming is restarted.

[0084] The random step aRandStep(X,Y,δ) x , δ y The following are the functions for forcibly returning to the vicinity of the starting point (ReturnStart(X0,Y0,δ)) and determining whether it is out of bounds (OutofBorder(X, Y)). The overall algorithm of this invention is as follows: 1. Random step aRandStep(X, Y, δ) x , δ y Implementation method of ) Generate random integers from 1 to 4; If the aforementioned random number is 1, then X moves upward by δ from its current position. x ; If the aforementioned random number is 2, then X moves downwards by δ from its current position. x ; If the aforementioned random number is 3, then Y moves δ to the left from its current position. y ; If the aforementioned random number is 4, then Y moves δ to the right from its current position. y .

[0085] 2. Implementation method for forcibly returning to the vicinity of the starting point using ReturnStart(X0, Y0, δ): Generate random integers from 1 to 4; If the aforementioned random number is 1, then X moves upward by δ from the starting point of this round (X0, Y0); If the aforementioned random number is 2, then X moves downwards by δ from the starting point of this round (X0, Y0); If the aforementioned random number is 3, then Y moves δ to the left from the starting point of this round (X0, Y0); If the aforementioned random number is 4, then Y moves δ to the right from the starting point of this round (X0, Y0); It should be noted that, in this embodiment, it is preferable to choose to return to the vicinity of the starting point of the previous iteration.

[0086] 3. Implementation method for determining whether OutofBorder(X, Y) is out of bounds: If X=1 or or If the value is outside the bounds, then it is determined to be out of bounds.

[0087] Overall Algorithm: The modulus for obtaining the RSA public-key cryptography is denoted as N; Set density factors g and p b Step size δ x and δ y ; Calculate the total starting point , ; Set the starting point of this round of roaming (X0, Y0) = (C x C y ) Initialize (X, Y) = (X0, Y0); Define the random roaming area and any element within the area. The expression; calculate The greatest common divisor of N is f;

[0088] The robot cyclically and randomly moves through the area, calculating the locations reached during the roaming process. The expression is repeated until f is greater than 1, at which point f is output.

[0089] In addition, this invention also discloses another embodiment, a random roaming-based RSA public-key cryptography cracking system, comprising: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the RSA public-key cryptography cracking method based on random roaming as described above.

[0090] The content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.

[0091] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.

Claims

1. A method for cracking RSA public-key cryptography based on random roaming, characterized in that, Includes the following steps: The modulus for obtaining the RSA public-key cryptography is denoted as N; Predict the upper bound of the small factors of N, denoted as p. b ; Set the density factor g and the step size δ. x and δ y ; Calculate the total starting point , ; Set the starting point of this round (X0, Y0) = (C x C y ) Initialize (X, Y) = (X0, Y0); Define the random roaming area and any element within the area. The expression; Random roaming areas can be described as: ; ; Its three boundaries are as follows: ; ; ; any element in the region The expression is: ; calculate The greatest common divisor of N is f; The system cyclically and randomly moves within the random roaming area, calculating the location reached during the roaming. The expression is repeated until f is greater than 1, at which point f is output.

2. The method for cracking RSA public-key cryptography based on random roaming according to claim 1, characterized in that, Also includes: When the pedometer reading exceeds the preset step threshold, the loop exits.

3. The method for cracking RSA public-key cryptography based on random roaming according to claim 2, characterized in that, The system cyclically and randomly moves within the random roaming area, calculating the location reached during the roaming. The step of counting f until f is greater than 1 and then outputting f includes: Generate random numbers; Based on the value of the random number and the step size, move X and Y; calculate ; calculate The greatest common divisor of N is f; Determine whether X and Y have exceeded the limits. If they have, return to the vicinity of the starting point to obtain the starting point for the next round, still denoted as (X0, Y0). The loop continues until f is greater than 1, at which point f is output.

4. The method for cracking RSA public-key cryptography based on random roaming according to claim 3, characterized in that, The rules for determining whether X and Y are out of bounds are as follows: If X=1, then it is determined to be out of bounds; like If so, it is determined to be an out-of-bounds violation; like If it is, then it is judged as crossing the boundary.

5. The method for cracking RSA public-key cryptography based on random roaming according to claim 4, characterized in that, The step of moving X and Y based on the value of the random number and the step size specifically includes: If the value of the random number is 1, then X moves upward by δ from the current position. x ; If the value of the random number is 2, then X moves down δ from the current position. x ; If the value of the random number is 3, then Y moves δ to the left from the current position. y ; If the value of the random number is 4, then Y moves δ to the right from its current position. y .

6. The method for cracking RSA public-key cryptography based on random roaming according to claim 5, characterized in that, The term "returning to the vicinity of the starting point" specifically includes: Generate a second random number; If the second random number is 1, then X moves upward by δ from the starting point of this round (X0, Y0); If the second random number is 2, then X moves downwards by δ from the starting point of this round (X0, Y0); If the second random number is 3, then Y moves δ to the left from the starting point (X0, Y0) of this round; If the second random number is 4, then Y moves δ to the right from the starting point (X0, Y0) of this round.

7. A public-key cryptography cracking system based on random roaming, characterized in that, include: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the RSA public-key cryptography cracking method based on random roaming as described in any one of claims 1-6.