The algorithms currently implemented have the following best case scenarios for factorizing:
- Fermat's Test (When two prime numbers are close to each other) - Pollard's Rho (When one prime factor is much smaller than the other) - Pollard's p-1 (p&q are prime factors -> p-1 divisble by r!, q-1 not divisible by r!, for all r) These are common methods used to test if a randomly generated RSA public key with two prime numbers is secure enough in today's standards. Compared to the implemented algorithms, the algorithms I propose to be added to sympy are the general methods that are considered the fastest known to factor a RSA public key. I believe it is a great addition to Sympy as it would definitely serve as a complement to the current crypto module, specifically the RSA method. On Tuesday, February 28, 2017 at 6:11:25 PM UTC-5, Aaron Meurer wrote: > > I'm not too familiar with number theory algorithms. How would these > methods compare to the ones that are already implemented? > > Aaron Meurer > > On Tue, Feb 28, 2017 at 4:29 PM, Cho Yin Yong <[email protected] > <javascript:>> wrote: > > I am extremely intrigued to work with SymPy for the upcoming Google > Summer > > of Code. I have particular interest in number theory and its methods for > > semiprime factorization. Right now, sympy has pho rollard, pho's p-1 and > > fermat's test for semiprime factorization. > > > > http://docs.sympy.org/dev/_modules/sympy/ntheory/factor_.html > > > > I would like to expand sympy's number theory class with more integer > > factorization methods: > > - General Number Field Sieve > > - Special Number Field Sieve > > - Quadratic Sieve > > etc. > > > > I would love to know if this is a possible idea to work on this summer > for > > sympy! > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "sympy" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to [email protected] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > Visit this group at https://groups.google.com/group/sympy. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/sympy/1d227040-7594-4f7a-881e-8830d2e2ae2a%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/bb96cce7-70b2-40a1-bcb7-6fc877501190%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
