diff options
author | W. Kosior <koszko@koszko.org> | 2024-11-24 22:23:15 +0100 |
---|---|---|
committer | W. Kosior <koszko@koszko.org> | 2024-11-24 22:23:15 +0100 |
commit | 2fb61d59523feb5951706535036782f4eb1cc53d (patch) | |
tree | 622ae702445ec7a8dfc4bd51bbbdf8750e8a0f7b /README.md | |
parent | fd9116a8f5d23b72331a6995bcf063d70402e89a (diff) | |
download | pq-blind-sigs-impl-2fb61d59523feb5951706535036782f4eb1cc53d.tar.gz pq-blind-sigs-impl-2fb61d59523feb5951706535036782f4eb1cc53d.zip |
Add sample output from running the polynomial multiplication program.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -11,9 +11,29 @@ multiplication). Also, there are possibly better BS algorithms by now. Well, the actual program is not there yet. There's just some code to facilitate polynomial multiplication in a ring modulo X^m+1 over a modulo field with -non-canonical range — [-(n-1)/2, (n-1)/2] rather than [0, n-1]. Interestingly, -only modulo operations in the latter range seem to be directly supported in -FLINT as of today. +non-canonical range — [-(n-1)/2, (n-1)/2] rather than [0, n-1]. + +``` +$ make run_poly_mul +guix shell qemu -- qemu-x86_64 -cpu max poly_mul +Prime used for modulo operations: 127 +55 + 31 mod [-63,63] = -41 +Give first polynomial to multiply: +12 3 4 5 +Read polynomial: 5*x^3+4*x^2+3*x+12 +Give second polynomial to multiply: +11 1 2 3 +Read polynomial: 3*x^3+2*x^2+x+11 +Normal product of polynomials: +15*x^6+22*x^5+22*x^4+101*x^3+71*x^2+45*x+132 +Give the degree m of X^m+1 polynomial to be used as divisor in the ring: +7 +Product of polynomials in the ring: +15*x^6+22*x^5+22*x^4-26*x^3-56*x^2+45*x+5 +``` + +Interestingly, only modulo operations in the latter range seem to be directly +supported in FLINT as of today. ## Building |