add transformation matrix interface for BKZ

57 views
Skip to first unread message

user ctf

unread,
Feb 11, 2024, 7:58:05 PM2/11/24
to sage-devel
Hi. sage-devel members.
I am kiona. I want to contribute devel for some math/crypto packages.

[background]
I created Coppersmith small root method packages: kionactf/coppersmith(github.com)
I am considering the package would be included in Sagemath tree.
But I am not welcomed if my codes affect Sagemath devel.
Actually, my codes depend on external packages(fplll, flatter).
It might violate Sagemath philosophy: should not reinvent wheel.

So I am starting to contribute Sagemath with a few related things.
My code uses some transformation matrix interface for BKZ,
so firstly I itry to add the feature on Sagemath code.

[main issue]
I want to add the feature that we can compute a transformation matrix on BKZ computation.
If I want to use the recent merge on fpylll(add transformation interface to bkz_reduction #267 · fplll/fpylll (github.com)) for adding the feature on Sagemath,
how could we start?
We need to wait next release on fpylll?

---
Best regards,
kiona

Gareth Ma

unread,
Feb 11, 2024, 8:50:58 PM2/11/24
to sage-...@googlegroups.com
Regarding fplll and flatter, Sage already has an interface with fplll (via fpylll), and issue #37207 is adding an interface call to flatter (the new pari implementation).
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/9009f60a-bd2b-409a-8540-ac7c37d20c38n%40googlegroups.com.

user ctf

unread,
Feb 12, 2024, 3:22:16 AM2/12/24
to sage-devel
thanks for reply.

I am talking about transformation matrix interface.
LLL has transformation matrix interface:
LLL(delta=Noneeta=Nonealgorithm='fpLLL:wrapper'fp=Noneprec=0early_red=Falseuse_givens=Falseuse_siegel=Falsetransformation=False**kwds)
if set transformation=True, we have the output for transformation matrix.

However, BKZ does not have transformation matrix interface.
BKZ(delta=Nonealgorithm='fpLLL'fp=Noneblock_size=10prune=0use_givens=Falseprecision=0proof=None**kwds)

Though we can extract transformation matrix manually after computing BKZ result, it would be annoying.
fplll have an interface for transformation matrix, so I think we had better use the interface (via fpylll).

2024年2月12日月曜日 10:50:58 UTC+9 Gareth Ma:
Reply all
Reply to author
Forward
0 new messages