Hi Bill,

I will have a look at this p^2+p+1 algorithm.
I haven't tried flint to be honest. This might be an alternative
solution.
Thank you very much!

Regards,
Ermis



On Jan 29, 9:55 pm, Bill Hart <goodwillh...@googlemail.com> wrote:
> There's an LLL in flint 1.5, called ULLL which is very fast for large
> lattice entries. It is probably subquadratic with respect to bit size
> of the entries though likely not quasilinear. (We also have a highly
> hacked version of fpLLL in flint specifically set up for knapsack
> lattices.)
>
> I recently bumped into an algorithm for factoring with known bits,
> called the p^2+p+1 algorithm. It has a generalisation to other
> cyclotomic polynomials. I think there are still some open questions
> there, but I don't recall LLL being used in that algorithm, so I guess
> this may not be of interest to you.
>
> Bill.
>
> On Jan 29, 8:41 pm, Martin Albrecht <martinralbre...@googlemail.com>
> wrote:
>
>
>
>
>
>
>
> > On Sunday 29 January 2012, Ermis wrote:
>
> > > Hi all,
>
> > Hi,
>
> > > I am focusing on the LLL algorithm for my PhD.
> > > Specifically, on its application on Factorising RSA modulus N with
> > > high or low-order bits (of the prime p) known.
> > > My scope is to use an implementation and run tests on the
> > > factorisation problem.
>
> > > SAGE has embedded Stehle's LLL version: the fplll.
> > > But, I have not found any module on SAGE for factorising an RSA
> > > modulus with high or low-order bits known (there is a module called
> > > SmallRoots on MAGMA, but it is not practical).
>
> > We have small roots as well:
>
> > sage: F = Zmod(3*7)
> > sage: F
> > Ring of integers modulo 21
> > sage: P.<x> = F[]
> > sage: type(x)
> > <type 'sage.rings.polynomial.polynomial_zmod_flint.Polynomial_zmod_flint'>
> > sage: x.small_roots?
>
> >        See "sage.rings.polynomial.polynomial_modn_dense_ntl.small_roots()"
> >        for the documentation of this function.
>
> >        EXAMPLE:
>
> >           sage: N = 10001
> >           sage: K = Zmod(10001)
> >           sage: P.<x> = PolynomialRing(K)
> >           sage: f = x^3 + 10*x^2 + 5000*x - 222
> >           sage: f.small_roots()
> >           [4]
>
> > Furthermore,
>
> > sage: sage.rings.polynomial.polynomial_modn_dense_ntl.small_roots?
>
> > even gives RSA factoring with known bits as an explicit example.
>
> > > So - given that SAGE contains a lot of related modules in this area -
> > > my question is whether there is plan to create such a module in SAGE,
> > > or if there is some alternative solution for the RSA factorisation
> > > problem
>
> > > Thank you.
>
> > Actually, since you're doing a PhD about LLL: the version of fpLLL we ship
> > with Sage is very old and it would be a great service to the community to
> > update it to the most recent upstream release which 4.0:
>
> >  http://perso.ens-lyon.fr/xavier.pujol/fplll/
>
> > This version also has an implementation of BKZ which likely is faster than
> > what we wrap of NTL. Having that readily available in Sage would be awesome!
>
> > Cheers,
> > Martin
>
> > --
> > name: Martin Albrecht
> > _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> > _otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
> > _www:http://martinralbrecht.wordpress.com/
> > _jab: martinralbre...@jabber.ccc.de

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to