aboutsummaryrefslogtreecommitdiff
path: root/smc.gp
diff options
context:
space:
mode:
Diffstat (limited to 'smc.gp')
-rw-r--r--smc.gp18
1 files changed, 11 insertions, 7 deletions
diff --git a/smc.gp b/smc.gp
index bc7b514..2b7e188 100644
--- a/smc.gp
+++ b/smc.gp
@@ -17,15 +17,19 @@ smc_hextodec(s:str) =
ret;
}
-smc_genfield(p:int, g)=
+smc_genbid(k:small, bid:small, g)=
{
- local(q:int);
- q = (p - 1) / 2;
- [Mod(g^2, p), q];
+ vector(k,j,g^(bid==j));
}
-smc_genkeypair(field:vec)=
+smc_genalpha(k:small, b:vec, r:vec, y)=
{
- local(x:int=random(field[2]));
- [x, field[1]^x];
+ vector(k, j, b[j]*y^r[j]);
}
+
+smc_genbeta(k:small, r:vec, g)=
+{
+ vector(k, j, g^r[j]);
+}
+
+