aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorW. Kosior <koszko@koszko.org>2024-11-24 22:23:15 +0100
committerW. Kosior <koszko@koszko.org>2024-11-24 22:23:15 +0100
commit2fb61d59523feb5951706535036782f4eb1cc53d (patch)
tree622ae702445ec7a8dfc4bd51bbbdf8750e8a0f7b
parentfd9116a8f5d23b72331a6995bcf063d70402e89a (diff)
downloadpq-blind-sigs-impl-2fb61d59523feb5951706535036782f4eb1cc53d.tar.gz
pq-blind-sigs-impl-2fb61d59523feb5951706535036782f4eb1cc53d.zip
Add sample output from running the polynomial multiplication program.
-rw-r--r--README.md26
1 files changed, 23 insertions, 3 deletions
diff --git a/README.md b/README.md
index cd0b228..e25daa9 100644
--- a/README.md
+++ b/README.md
@@ -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