Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bloq for constant polynomial multiplication modulu in GF(2) #1516

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

NoureldinYosri
Copy link
Contributor

@NoureldinYosri NoureldinYosri commented Jan 6, 2025

This PR is the first PR implementing https://arxiv.org/abs/1910.02849v2. specifically this PR implements Algorithm 1: $MULT_{f(x)}$ Which I renamed to MultiplyPolyByConstantMod.

The final construction implements polyomial multiplication in GF(2) with exactly $n^{log_2(3)}$ Toffolis as opposed to the $n^2$ construction we currently have.

@NoureldinYosri NoureldinYosri marked this pull request as ready for review January 7, 2025 00:28
@NoureldinYosri NoureldinYosri changed the title Add bloq for constant polynomial multiplication modulu in GF(2)" Add bloq for constant polynomial multiplication modulu in GF(2) Jan 8, 2025

@cached_property
def signature(self) -> 'Signature':
return Signature([Register('g', QBit(), shape=(self.n,))])
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tanujkhattar I want to have an $n-1$ degree polynomial in GF(2) instead of a number in GF($2^n$). is there a way to do that? or do we want to use GF($2^n$) for consistancy?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant