Please find below the source code for my upcoming presentation at the AGILE conference 2015 held in Lissabon for the following publication (The main idea is depicted in the figure.)
-
T. Liebig, “Privacy Preserving Centralized Counting of Moving Objects,” in AGILE 2015, F. Bacao, M. Y. Santos, and M. Painho, Eds., Springer International Publishing, 2015, pp. 91-103.
[Bibtex] [Draft]
@incollection{liebig15, year={2015}, isbn={978-3-319-16786-2}, booktitle={AGILE 2015}, series={Lecture Notes in Geoinformation and Cartography}, editor={Bacao, Fernando and Santos, Maribel Yasmina and Painho, Marco}, title={Privacy Preserving Centralized Counting of Moving Objects}, URL={http://dx.doi.org/10.1007/978-3-319-16787-9_6}, doi={10.1007/978-3-319-16787-9_6}, publisher={Springer International Publishing}, author={Liebig, Thomas}, pages={91-103}, }
Download the following R package securecount_1.0.tar.gz and execute in R Console:
# Installation of securecount install.packages("securecount_1.0.tar.gz", repos = NULL, type="source") # Loading the package require("securecount") # Starting the example exampleSC()
On start of exampleSC()
, you will receive an output similar to the following.
We assume a single cell, with 3 moving objects. In every round they transmit their count to a server which aggregates these values. Initializing .. generating keys .. generating shares .. generating hashchain DONE Starting Loop Timestamp : 1 Client 1 computes: message 47 hash*message 1081 E(hash*message) 101025 Client 2 computes: message 35 hash*message 805 E(hash*message) 394010 Client 3 computes: message 65 hash*message 1495 E(hash*message) 316702 Transmission of encrypted messages to server Server computes: D(share combine):3381 D(share combine)*hash^(-1):147 homomorphytest: 47 + 35 + 65=147=147 is TRUE Timestamp : 2 Client 1 computes: message 83 hash*message 1909 E(hash*message) 40272 Client 2 computes: message 63 hash*message 1449 E(hash*message) 277586 Client 3 computes: message 34 hash*message 782 E(hash*message) 451529 Transmission of encrypted messages to server Server computes: D(share combine):4140 D(share combine)*hash^(-1):180 homomorphytest: 83 + 63 + 34=180=180 is TRUE Timestamp : 3 Client 1 computes: message 63 hash*message 1449 E(hash*message) 277586 Client 2 computes: message 1 hash*message 23 E(hash*message) 132210 Client 3 computes: message 35 hash*message 805 E(hash*message) 394010 Transmission of encrypted messages to server Server computes: D(share combine):2277 D(share combine)*hash^(-1):99 homomorphytest: 63 + 1 + 35=99=99 is TRUE Timestamp : 4 Client 1 computes: message 6 hash*message 138 E(hash*message) 360438 Client 2 computes: message 62 hash*message 1426 E(hash*message) 169093 Client 3 computes: message 77 hash*message 1771 E(hash*message) 136368 Transmission of encrypted messages to server Server computes: D(share combine):3335 D(share combine)*hash^(-1):145 homomorphytest: 6 + 62 + 77=145=145 is TRUE Timestamp : 5 Client 1 computes: message 5 hash*message 115 E(hash*message) 68146 Client 2 computes: message 9 hash*message 207 E(hash*message) 425041 Client 3 computes: message 37 hash*message 851 E(hash*message) 101102 Transmission of encrypted messages to server Server computes: D(share combine):1173 D(share combine)*hash^(-1):51 homomorphytest: 5 + 9 + 37=51=51 is TRUE Timestamp : 6 Client 1 computes: message 66 hash*message 1518 E(hash*message) 247325 Client 2 computes: message 30 hash*message 690 E(hash*message) 88705 Client 3 computes: message 59 hash*message 1357 E(hash*message) 400940 Transmission of encrypted messages to server Server computes: D(share combine):3565 D(share combine)*hash^(-1):155 homomorphytest: 66 + 30 + 59=155=155 is TRUE Timestamp : 7 Client 1 computes: message 58 hash*message 1334 E(hash*message) 55287 Client 2 computes: message 51 hash*message 1173 E(hash*message) 84393 Client 3 computes: message 65 hash*message 1495 E(hash*message) 316702 Transmission of encrypted messages to server Server computes: D(share combine):4002 D(share combine)*hash^(-1):174 homomorphytest: 58 + 51 + 65=174=174 is TRUE Timestamp : 8 Client 1 computes: message 86 hash*message 1978 E(hash*message) 104875 Client 2 computes: message 80 hash*message 1840 E(hash*message) 355125 Client 3 computes: message 91 hash*message 2093 E(hash*message) 244168 Transmission of encrypted messages to server Server computes: D(share combine):5911 D(share combine)*hash^(-1):257 homomorphytest: 86 + 80 + 91=257=257 is TRUE Timestamp : 9 Client 1 computes: message 88 hash*message 2024 E(hash*message) 155849 Client 2 computes: message 49 hash*message 1127 E(hash*message) 211289 Client 3 computes: message 52 hash*message 1196 E(hash*message) 388543 Transmission of encrypted messages to server Server computes: D(share combine):4347 D(share combine)*hash^(-1):189 homomorphytest: 88 + 49 + 52=189=189 is TRUE Timestamp : 10 Client 1 computes: message 6 hash*message 138 E(hash*message) 360438 Client 2 computes: message 20 hash*message 460 E(hash*message) 53208 Client 3 computes: message 54 hash*message 1242 E(hash*message) 362440 Transmission of encrypted messages to server Server computes: D(share combine):1840 D(share combine)*hash^(-1):80 homomorphytest: 6 + 20 + 54=80=80 is TRUE DONE