Skip to content

Commit 6993828

Browse files
committed
Add epoch and regenerate key option
1 parent 9e47b62 commit 6993828

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

mife/multiclient/decentralized/ddh.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ def __init__(self, pub: _FeDDHMultiClientDec_PK, exc_priv_key: ECC, index: int,
5050
self.exchange_key = [b'' for _ in range(pub.n)]
5151
self.share = [[] for _ in range(self.pub.n)]
5252

53+
def regenerate_sk(self):
54+
self.sk = [(randbelow(self.pub.F.order()), randbelow(self.pub.F.order())) for _ in range(self.pub.m)]
55+
5356
def get_exc_public_key(self):
5457
return self.exc_priv_key.public_key()
5558

@@ -62,17 +65,17 @@ def exchange(self, index: int, pub_key: ECC.EccKey):
6265

6366
self.exchange_key[index] = key_agreement(static_priv=self.exc_priv_key, static_pub=pub_key, kdf=kdf)
6467

65-
def generate_share(self):
68+
def generate_share(self, epoch=0):
6669
length = self.pub.F.order().bit_length() // 8
6770
self.share = [[] for _ in range(self.pub.n)]
6871
for i in range(self.pub.n):
6972
for j in range(self.pub.m):
7073
nonce = long_to_bytes(i * self.pub.m + j)
7174
self.share[i].append(
7275
(cprf.CPRF.eval(self.pub.n, self.index, self.exchange_key,
73-
b'a' + nonce, length) % self.pub.F.order(),
76+
b'a' + long_to_bytes(epoch) + nonce, length) % self.pub.F.order(),
7477
cprf.CPRF.eval(self.pub.n, self.index, self.exchange_key,
75-
b'b' + nonce, length) % self.pub.F.order())
78+
b'b' + long_to_bytes(epoch) + nonce, length) % self.pub.F.order())
7679
)
7780

7881

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extragroup = [
1313

1414
[project]
1515
name = "pymife"
16-
version = "0.0.13"
16+
version = "0.0.14"
1717
authors = [
1818
{ name="mechfrog88", email="kelzzin2@gmail.com" },
1919
]

0 commit comments

Comments
 (0)