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.

Reply via email to