-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathset_gen.py
More file actions
23 lines (19 loc) · 838 Bytes
/
set_gen.py
File metadata and controls
23 lines (19 loc) · 838 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from random import sample
from parameters import server_size, client_size, intersection_size
#set elements can be integers < order of the generator of the elliptic curve (192 bits integers if P192 is used); 'sample' works only for a maximum of 63 bits integers.
disjoint_union = sample(range(2 ** 63 - 1), server_size + client_size)
intersection = disjoint_union[:intersection_size]
server_set = intersection + disjoint_union[intersection_size: server_size]
client_set = intersection + disjoint_union[server_size: server_size - intersection_size + client_size]
f = open('server_set', 'w')
for item in server_set:
f.write(str(item) + '\n')
f.close()
g = open('client_set', 'w')
for item in client_set:
g.write(str(item) + '\n')
g.close()
h = open('intersection', 'w')
for item in intersection:
h.write(str(item) + '\n')
h.close()