IP Library › Granted Patent US 12,665,750
Granted Patent B2
US 12,665,750 · App. 18/004,836 · Granted Jun 23, 2026

Overlay for communication anonymity and privacy in a computer network

Inventor: Karim Eldefrawy (Palo Alto, CA)
Assignee: SRI International
H04L9/0847H04L9/0825H04L2209/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,665,750
App. No.
18/004,836
Filed
Jan 9, 2023
Granted
Jun 23, 2026
Kind
B2
Art Unit
2438
USPC
380/30
Abstract

A plurality of nodes connected to the plurality of servers that form a broadcasting overlay over a network for performing best effort broadcasting of data through the broadcasting overlay, may receive, from a first computing device of a plurality of computing devices connected to the broadcasting overlay, a first encrypted message and may perform best effort broadcasting of the first encrypted message through the broadcasting overlay to send, in an end-to-end encrypted manner, the first encrypted message to a first service of a plurality of services. The plurality of nodes may also receive, from the plurality of services, a second encrypted message, and may perform best effort broadcasting of the second encrypted message to propagate the second encrypted message through the broadcasting overlay to send, in the end-to-end encrypted manner, the second encrypted message to a second computing device of the plurality of computing devices.

Claims (73)

1 . A method comprising:

periodically receiving, by a computing device associated with a user and from a broadcasting overlay that includes a dynamic topology of a plurality of nodes in a network, an announcement from a plurality of services at a plurality of servers connected to the broadcasting overlay, wherein the announcement indicates a plurality of roles associated with the plurality of services and information associated with a plurality of encryption keys that are associated with the plurality of services;

determining, by the computing device and based at least in part on the announcement, a service associated with a specified role;

encrypting, by the computing device and using an encryption key associated with the service that is derived from at least the information associated with the plurality of encryption keys as indicated by the announcement, a message to be sent to the service to generate an encrypted message; and

sending, by the computing device, the encrypted message to one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the encrypted message to propagate the encrypted message throughout the broadcasting overlay to the service.

2 . The method of claim 1 , wherein:

determining the service associated with the specified role further includes determining, by the computing device and based at least in part on the announcement, the service associated with the specified role of storing messages intended for a second user associated with a second computing device; and

encrypting the message to be sent to the service to generate the encrypted message further includes encrypting, by the computing device and using at least an encryption key associated with the second user, the message to generate the encrypted message.

3 . The method of claim 1 , wherein:

determining the service associated with the specified role further includes determining, by the computing device and based at least in part on the announcement, one or more services associated with a role of mixing messages received by the broadcasting overlay; and

encrypting the message to be sent to the service to generate the encrypted message further includes encrypting, by the computing device and using each of one or more encryption keys associated with the one or more services, the message to generate the encrypted message to enable the one or more services to each perform mixing of messages including the encrypted message.

4 . The method of claim 1 , wherein sending the encrypted message to one or more of the plurality of nodes further includes:

generating, by the computing device, a second message that includes the encrypted message and an indication of a number of mixing services of the plurality of services that are to perform mixing of messages;

encrypting, by the computing device, the second message to generate a second encrypted message; and

sending, by the computing device, the second encrypted message to the one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the second encrypted message to propagate the second encrypted message throughout the broadcasting overlay to the service and to enable the number of mixing services to each perform mixing of messages including the second encrypted message.

5 . The method of claim 1 , further comprising:

determining, by the computing device and based at least in part on the announcement, a second service of the plurality of services associated with a role of storing messages intended for the user;

periodically polling, by the computing device via the broadcasting overlay, the second service for the messages intended for the user sent by one or more other entities; and

in response to polling the second service, receiving, by the computing device and from the second service via the broadcasting overlay, one or more messages intended for the user.

6 . The method of claim 5 , further comprising:

registering, by the computing device, the user with a pseudonymous offline directory (POD) service; and

in response to registering the user with the POD service, receiving an indication of an identity-based encryption key for the user.

7 . The method of claim 6 , further comprising:

decrypting, by the computing device and using the identity-based encryption key for the user, the one or more messages intended for the user.

8 . The method of claim 6 , wherein receiving the identity-based encryption key for the user further comprises:

in response to registering the user with the POD service, receiving, by the computing device and from the POD service, a random identifier;

encrypting, by the computing device using a one-time response key, the random identifier to generate an encrypted random identifier;

sending, by the computing device to the POD service, the encrypted random identifier;

in response to sending the encrypted random identifier, receiving, by the computing device and from the POD service, an encrypted identity-based encryption key for the user; and

decrypting, by the computing device using the one-time response key, the encrypted identity-based encryption key for the user to determine the identity-based encryption key for the user.

9 . The method of claim 2 , wherein encrypting, using at least the encryption key associated with the second user, the message to generate the encrypted message further comprises:

determining, by the computing device, the encryption key associated with the second user based at least in part on a pseudonym associated with the second user; and

encrypting, by the computing device and using at least the encryption key associated with the second user, the message to generate the encrypted message.

10 . The method of claim 1 , wherein sending the encrypted message to one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the encrypted message to propagate the encrypted message throughout the broadcasting overlay to the service further comprises:

sending, by the computing device, the encrypted message via one or more proxy front-ends that interface, via an associated proxy back-end, with the broadcasting overlay to the one or more of the plurality of nodes.

11 . The method of claim 10 , further comprising:

sending, by the computing device, a proxy setup request through the broadcasting overlay to a storage service of the plurality of services that is periodically polled by a proxy setup fulfiller;

in response to sending the proxy setup request, receiving, by the computing device and from the proxy setup fulfiller, indications of a sequence of the one or more proxy front-ends that interface, via the associated proxy back-end, with the broadcasting overlay; and

creating, by the computing device, one or more tunnels between the computing device and the one or more proxy front-ends to communicate over the broadcasting overlay.

12 . The method of claim 10 , further comprising:

sending, by the computing device to one or more computing devices associated with one or more contacts of the user, indications of the one or more proxy front-ends that interface with the broadcasting overlay to enable the one or more computing devices to use the one or more proxy front-ends to communicate with the broadcasting overlay.

13 . The method of claim 10 , further comprising:

receiving, by the computing device from another computing device associated with a contact of the user, an indication of the one or more proxy front-ends that interface, via the associated proxy back-end, with the broadcasting overlay to enable the one or more computing devices to use the one or more proxy front-ends to communicate with the broadcasting overlay.

14 . A computing device comprising:

memory; and

processing circuitry operably coupled to the memory and configured to:

periodically receive, from a broadcasting overlay that includes a dynamic topology of a plurality of nodes in a network, an announcement from a plurality of services at a plurality of servers connected to the broadcasting overlay, wherein the announcement indicates a plurality of roles associated with the plurality of services and information associated with a plurality of encryption keys that are associated with the plurality of services;

determine, based at least in part on the announcement, a service associated with a specified role;

encrypt, using an encryption key associated with the service that is derived from at least the information associated with the plurality of encryption keys as indicated by the announcement, a message to be sent to the service to generate an encrypted message; and

send the encrypted message to one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the encrypted message to propagate the encrypted message throughout the broadcasting overlay to the service.

15 . The computing device of claim 14 , wherein:

to determine the service associated with the specified role, the processing circuitry is further configured to determine, based at least in part on the announcement, the service associated with the specified role of storing messages intended for a second user associated with a second computing device; and

to encrypt the message to be sent to the service to generate the encrypted message, the processing circuitry is further configured to encrypt, using at least an encryption key associated with the second user, the message to generate the encrypted message.

16 . The computing device of claim 14 , wherein:

to determine the service associated with the specified role, the processing circuitry is further configured to determine, based at least in part on the announcement, one or more services associated with a role of mixing messages received by the broadcasting overlay; and

to encrypt the message to be sent to the service to generate the encrypted message, the processing circuitry is further configured to encrypt, using each of one or more encryption keys associated with the one or more services, the message to generate the encrypted message to enable the one or more services to each perform mixing of messages including the encrypted message.

17 . The computing device of claim 14 , wherein to send the encrypted message to one or more of the plurality of nodes, the processing circuitry is further configured to:

generate a second message that includes the encrypted message and an indication of a number of mixing services of the plurality of services that are to perform mixing of messages;

encrypt the second message to generate a second encrypted message; and

send the second encrypted message to the one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the second encrypted message to propagate the second encrypted message throughout the broadcasting overlay to the service and to enable the number of mixing services to each perform mixing of messages including the second encrypted message.

18 . The computing device of claim 14 , wherein the processing circuitry is further configured to:

determine, based at least in part on the announcement, a second service of the plurality of services associated with a role of storing messages intended for a user of the computing device;

periodically poll, via the broadcasting overlay, the second service for the messages intended for the user sent by one or more other entities; and

in response to polling the second service, receive, from the second service via the broadcasting overlay, one or more messages intended for the user of the computing device.

19 . The computing device of claim 18 , wherein the processing circuitry is further configured to:

register the user with a pseudonymous offline directory (POD) service;

in response to registering the user with the POD service, receive an indication of an identity-based encryption key for the user; and

decrypt, using the identity-based encryption key for the user, the one or more messages intended for the user.

20 . A computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

periodically receive, from a broadcasting overlay that includes a dynamic topology of a plurality of nodes in a network, an announcement from a plurality of services at a plurality of servers connected to the broadcasting overlay, wherein the announcement indicates a plurality of roles associated with the plurality of services and information associated with a plurality of encryption keys that are associated with the plurality of services;

determine, based at least in part on the announcement, a service associated with a specified role;

encrypt, using an encryption key associated with the service that is derived from at least the information associated with the plurality of encryption keys as indicated by the announcement, a message to be sent to the service to generate an encrypted message; and

send the encrypted message to one or more of the plurality of nodes to enable the broadcasting overlay to perform best effort broadcasting of the encrypted message to propagate the encrypted message throughout the broadcasting overlay to the service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2023
From: ELDEFRAWY, KARIM
To: SRI INTERNATIONAL
Reel/Frame 063279/0539 →
Continuity (2)
Provisional Application 63050274 · Jul 10, 2020
Related Publication 20230308263A1 · Sep 28, 2023
References Cited (88)
US 11507676B2 · Eldefrawy et al. · 2022 [cited by applicant]
US 20070016663A1 · Weis · 2007 [cited by examiner]
US 20100307636A1 · Uemura · 2010 [cited by applicant]
US 20160112255A1 · Li · 2016 [cited by examiner]
US 20170073211A1 · Wilson et al. · 2017 [cited by applicant]
US 20190386969A1 · Verzun · 2019 [cited by examiner]
US 20200084103A1 · Miller · 2020 [cited by examiner]
“Common Open Research Emulator (Core)”, U.S. Naval Research Laboratory, Retrieved from: https://www.nrl.navy.mil/Our-Work/Areas-of-Research/Information-Technology/NCS/CORE/, Accessed on: Sep. 6, 2018, 2 pp. [cited by applicant]
“Develop faster. Run anywhere.”, Docker Telepresence, Retrieved from: https://www.docker.com/, Accessed on: Accessed on: Sep. 6, 2018, 13 pp. [cited by applicant]
“Empowering Consensus, Building Trust Together”, Thunder, Retrieved from: https://www.xunlei.com/, Accessed on: Sep. 6, 2018, 3 pp. [cited by applicant]
“FormalWare at SRI”, Retrieved from: https://fm.csl.sri.com/, Accessed on Sep. 6, 2018, 2 pp. [cited by applicant]
“IP multicast”, Wikipedia, page was last edited on Jan. 15, 2023, Retrieved from: https://en.wikipedia.org/wiki/IP_multicast, Accessed on : Apr. 14, 2023, 10 pp. [cited by applicant]
“IPFS powers the Distributed Web”, IPFS, Retrieved from: https://ipfs.tech/, Accessed on: Sep. 6, 2018, 8 pp. [cited by applicant]
“KULeuven-COSIC / SCALE-MAMBA”, Retrieved from: https://github.com/KULeuven-COSIC/SCALE-MAMBA, Accessed on: Sep. 6, 2018, 3 pp. [cited by applicant]
“Layers of the TCP/IP network stack, and contrasting its layers with the OSI stack”, Retrieved from: www.researchgate.net/publication/327483011/figure/fig2/AS:668030367436802@1536282259885/Thelogical- mapping-between-OS… [cited by applicant]
“SCALE-MAMBA Software”, Retrieved from: https://homes.esat.kuleuven.be/˜nsmart/SCALE/, Accessed on: Sep. 6, 2018, 4 pp. [cited by applicant]
“Share, freely and privately”, Jami, Retrieved from: https://jami.net/, Accessed on: Sep. 6, 2018, 7 pp. [cited by applicant]
“SRI International's Computer Science Laboratory”, Retrieved from: https://github.com/SRI-CSL, Accessed on: Sep. 6, 2018, 3 pp. [cited by applicant]
Akavia et al., “Topology—Hiding Computation Beyond Logarithmic Diameter”, Advances in Cryptology—EUROCRYPT 2017—36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Apr. 30, 2… [cited by applicant]
Akavia et al., “Topology—Hiding Computation on All Graphs”, Advances in Cryptology—CRYPTO 2017—37th Annual International Cryptology Conference, Aug. 20, 2017, pp. 447-467. [cited by applicant]
Albrecht, “lwe-estimator”, Retrieved from: https://bitbucket.org/malb/lwe-estimator/src/master/, Accessed on: Sep. 6, 2018, 5 pp. [cited by applicant]
Aly et al., “SCALE-MAMBA v1.14 : Documentation”, Retrieved from: https://homes.esat.kuleuven.be/˜nsmart/SCALE/Documentation.pdf, Aug. 2, 2021, 170 pp. [cited by applicant]
Araki et al., “Generalizing the SPDZ Compiler For Other Protocols”, ACM Conference on Computer and Communications Security., Oct. 2, 2018, 33 pp. [cited by applicant]
Ateniese et al., “Some Open Issues and New Directions in Group Signatures”, Proceedings of the Third International Conference on Financial Cryptography, Aug. 30, 1999, pp. 196-211. [cited by applicant]
Badertscher et al., “Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability”, Cryptology ePrint Archive, Report 2018/378, Sep. 2018, 66 pp. [cited by applicant]
Baker, “Rethinking Encryption”, Lawfare, Oct. 22, 2019, 8 pp. [cited by applicant]
Ball et al., “Exploring the Boundaries of Topology—Hiding Computation”, Advances in Cryptology—EUROCRYPT 2018—37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Apr. 29, 201… [cited by applicant]
Baron et al., “5PM: Secure Pattern Matching”, International Conference on Security and Cryptography for Networks, Springer, Sep. 5, 2012, 51 pp. [cited by applicant]
Baron et al., “Communication—Optimal Proactive Secret Sharing for Dynamic Groups”, Applied Cryptography and Network Security, Springer International Publishing, Apr. 2015, 24 pp. [cited by applicant]
Baron et al., “How to Withstand Mobile Virus Attacks, Revisited”, Proceedings of the 2014 ACM Symposium on Principles of Distributed Computing, Jul. 15, 2014, 34 pp. [cited by applicant]
Beaver, “Efficient Multiparty Protocols Using Circuit Randomization”, Proceedings of Annual International Cryptology Conference—Advances in Cryptology, CRYPTO '91, vol. 576, Sep. 11, 1991, pp. 420-432. [cited by applicant]
Bellare et al., “Foundations of Group Signatures: The Case of Dynamic Groups”, Proceedings of the 2005 International Conference on Topics in Cryptology, CT-RSA'05, vol. 3376, Feb. 14, 2005, 32 pp. [cited by applicant]
Ben-David et al., “FairplayMP—A System for Secure Multi-Party Computation”, Proceedings of the 15th ACM conference on Computer and communications security, Oct. 2008, 10 pp. [cited by applicant]
Ben-Sasson et al., “Near-Linear Unconditionally—Secure Multiparty Computation with a Dishonest Minority?”, Proceedings of the 32Nd Annual Cryptology Conference on Advances in Cryptology—CRYPTO 2012, vol. 7417, Aug. 19, … [cited by applicant]
Bendlin et al., “Semi-Homomorphic Encryption and Multiparty Computation”, Advances in Cryptology—EUROCRYPT 2011, vol. 6632, May 2011, 24 pp. [cited by applicant]
Böhme et al., “On the PET Workshop Panel “Mix Cascades Versus Peer-to-Peer: Is One Concept Superior?””, PET'04: Proceedings of the 4th international conference on Privacy Enhancing Technologies, May 26, 2004, 13 pp. [cited by applicant]
Boneh et al., “Aggregate and Verifiably Encrypted Signatures from Bilinear Maps”, Advances in Cryptology—EUROCRYPT 2003, May 4, 2003, 22 pp. [cited by applicant]
Boneh et al., “Efficient Generation of Shared RSA Keys”, Advances in Cryptology—CRYPTO '97, Aug. 17, 1997, 15 pp. [cited by applicant]
Boneh et al., “Identity-Based Encryption from the Weil Pairing”, Advances in Cryptology—CRYPTO 2001, vol. 2139, Aug. 19, 2001, 31 pp. [cited by applicant]
Boneh et al., “Short Group Signatures”, Advances in Cryptology—CRYPTO 2004, Aug. 15, 2004, 19 pp. [cited by applicant]
Bresson et al., “Threshold Ring Signatures and Applications to Ad-hoc Groups”, Proceedings of the 22nd Annual International Cryptology Conference on Advances in Cryptology, CRYPTO '02, Aug. 18, 2002, 16 pp. [cited by applicant]
Cardozo et al., “Secure Messaging? More Like A Secure Mess.”, Electronic Frontier Foundation, Mar. 26, 2018, 8 pp. [cited by applicant]
Chaum, “Group Signatures”, Proceedings of the 10th Annual International Conference on Theory and Application of Cryptographic Techniques, EUROCRYPT' 91, Apr. 8, 1991, pp. 257-265. [cited by applicant]
Chaum, “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms”, Communications of the ACM, vol. 24, No. 2, Feb. 1, 1981, pp. 84-88. [cited by applicant]
Clausen et al., “Optimized Link State Routing Protocol (OLSR)”, RFC 3626, Network Working Group, Oct. 2003, 65 pp. [cited by applicant]
Cotton et al., “IANA Guidelines for IPV4 Multicast Address Assignments”, RFC 5771, Internet Engineering Task Force (IETF), Mar. 2010, 11 pp. [cited by applicant]
Damgard et al., “Multiparty Computation from Somewhat Homomorphic Encryption”, Proceedings of the 32nd Annual Cryptology Conference on Advances in Cryptology, CRYPTO 2012, vol. 7417, Aug. 19, 2012, 46 pp. [cited by applicant]
Damgard et al., “Practical Covertly Secure MPC for Dishonest Majority—or: Breaking the SPDZ Limits”, Proceedings of 18th European Symposium on Research in Computer Security, ESORICS 2013, Sep. 9, 2013, 18 pp. [cited by applicant]
Deering et al., “Host Extensions for IP Multicasting”, RFC 1112, Network Working Group, Aug. 1989, 17 pp. [cited by applicant]
Demmler et al., “ABY—A Framework for Efficient Mixed-Protocol Secure Two-Party Computation”, NDSS Symposium 2015, Feb. 2015, 15 pp. [cited by applicant]
Dodis et al., “A Verifiable Random Function With Short Proofs and Keys”, Proceedings of the 8th International Conference on Theory and Practice in Public Key Cryptography, Jan. 23, 2005, p. 416-431. [cited by applicant]
Dolev et al., “Proactive Secret Sharing with a Dishonest Majority”, Proceedings of the Security and Cryptography for Networks: 10th International Conference, Aug. 31, 2016, 20 pp. [cited by applicant]
Eldefrawy et al., “Founding Digital Currency on Secure Computation”, Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, CCS '14, Nov. 3, 2014, 14 pp. [cited by applicant]
Eldefrawy et al., “Proactive Secure Multiparty Computation with a Dishonest Majority”, Security and Cryptography for Networks, vol. 11035, Sep. 2018, 26 pp. [cited by applicant]
Eldefrawy et al., “Proactively Secure Cloud-Enabled Storage”, 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), Jun. 5, 2017, p. 1499-1509. [cited by applicant]
Fouque et al., “Fully Distributed Threshold RSA under Standard Assumptions”, Proceedings of the 7th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology, … [cited by applicant]
Gascon et al., “Privacy-Preserving Distributed Linear Regression on High-Dimensional Data”, Proceedings on Privacy Enhancing Technologies, Jun. 2, 2017, pp. 345-364. [cited by applicant]
Gilad et al., “Algorand: Scaling Byzantine Agreements for Cryptocurrencies”, Proceedings of the 26th Symposium on Operating Systems Principles, SOSP '17, Oct. 14, 2017, pp. 51-68. [cited by applicant]
Goldberg et al., “Verifiable Random Functions (VRFs)”, Crypto Forum Research Group, Sep. 14, 2018, 42 pp. [cited by applicant]
Goldschlag et al., “Onion Routing”, Communications of the ACM, vol. 42, No. 2, Feb. 1999, pp. 39-41. [cited by applicant]
Henecka et al., “TASTY: Tool for Automating Secure Two-partY computations”, Proceedings of the 17th ACM conference on Computer and communications security, Oct. 4, 2010, pp. 451-462. [cited by applicant]
Hirt et al., “Network-Hiding Communication and Applications to Multi-Party Protocols”, Advances in Cryptology—CRYPTO 2016—36th Annual International Cryptology Conference, Aug. 14, 2016, p. 335-365. [cited by applicant]
Hofheinz et al., “Verifiable Random Functions from Standard Assumptions”, Proceedings, Part I, of the 13th International Conference on Theory of Cryptography, vol. 9562, Jan. 10, 2016, pp. 336-362. [cited by applicant]
Holbrook et al., “Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast”, RFC 4604, Network Working Group, Aug. 2006, 11 pp. [cited by applicant]
International Preliminary Report on Patentability from International Application No. PCT/US2021/041115 dated Jan. 19, 2023, 10 pp. [cited by applicant]
International Search Report and Written Opinion of International Application No. PCTPCT/US2021/041115, dated Nov. 22, 2021, 12 pp. [cited by applicant]
Invitation to Pay Additional Fees and, Where Applicable, Protest Fee from International Application No. PCT/US2021/41115, dated Sep. 22, 2021, 3 pp. [cited by applicant]
Keller et al., “MASCOT: Faster Malicious Arithmetic Secure Computation with Oblivious Transfer”, Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Oct. 24, 2016, 39 pp. [cited by applicant]
Keller et al., “Overdrive: Making SPDZ Great Again”, Advances in Cryptology—EUROCRYPT 2018, Lecture Notes in Computer Science, vol. 10822, Mar. 31, 2018, pp. 158-189. [cited by applicant]
Keller et al., “Reducing Communication Channels in MPC”, Security and Cryptography for Networks, Lecture Notes in Computer Science, vol. 11035, Aug. 3, 2018, pp. 181-199. [cited by applicant]
Kolesnikov et al., “Efficient Batched Oblivious PRF with Applications to Private Set Intersection”, Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Oct. 24, 2016, pp. 818-829. [cited by applicant]
Malkhi et al., “Fairplay—A Secure Two-Party Computation System”, Proceedings of the 13th conference on USENIX Security Symposium, vol. 13, Aug. 13, 2004, 17 pp. [cited by applicant]
Micali et al., “Verifiable Random Functions”, 40th Annual Symposium on Foundations of Computer Science, Oct. 17, 1999, 11 pp. [cited by applicant]
Mohassel et al., “ABY3: A Mixed Protocol Framework for Machine Learning”, Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Oct. 15, 2018, 40 pp. [cited by applicant]
Moran et al., “Topology—Hiding Computation”, Theory of Cryptography—12th Theory of Cryptography Conference, Jan. 1, 2015, pp. 159-181. [cited by applicant]
Nielsen et al., “A New Approach to Practical Active-Secure Two-Party Computation”, Advances in Cryptology—CRYPTO 2012, vol. 7417, Aug. 2012, pp. 681-700. [cited by applicant]
Orru et al., “Actively Secure 1-out-of-N OT Extension with Application to Private Set Intersection”, Cryptographers′ Track at the RSA Conference, vol. 10159, Jan. 10, 2017, pp. 381-396. [cited by applicant]
Ostrovsky et al., “How To Withstand Mobile Virus Attacks”, Proceedings of the tenth annual ACM symposium on Principles of distributed computing, Jul. 1, 1991, pp. 51-59. [cited by applicant]
Ratnasamy et al., “A Scalable Content-Addressable Network”, ACM SIGCOMM Computer Communication Review, vol. 31, No. 4, Oct. 2001, pp. 161-172. [cited by applicant]
Rindal et al., “Malicious-Secure Private Set Intersection via Dual Execution”, Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Aug. 9, 2017, pp. 1229-1242. [cited by applicant]
Rivest et al., “How to Leak a Secret”, Proceedings of the 7th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology, Nov. 20, 2001, pp. 552-565. [cited by applicant]
Rowstron et al., “Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems”, IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, Oc… [cited by applicant]
Saltzer, “End-To-End Arguments in System Design”, M.I.T. Laboratory for Computer Science, 1981, 10 pp., (Applicant points out, in accordance with MPEP 609.04(a), that the year of publication, 1981, is sufficiently earli… [cited by applicant]
Shoup, “Practical Threshold Signatures”, International Conference on the Theory and Applications of Cryptographic Techniques, vol. 1807, May 12, 2000, pp. 207-220. [cited by applicant]
Stoica et al., “Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications”, Proceedings of ACM SIGCOMM, vol. 31, No. 4, Aug. 27, 2001, pp. 149-160. [cited by applicant]
Wang et al., “EMP-toolkit”, Retrieved from: https://github.com/emp-toolkit, Accessed on: Sep. 6, 2018, 3 pp. [cited by applicant]
Zhao et al., “Tapestry: A Resilient Global-Scale Overlay for Service Deployment”, IEEE Journal on Selected Areas in Communications, vol. 22, No. 1, Jan. 2004, pp. 41-53. [cited by applicant]
Graciarena et al., “All for One: Feature Combination for Highly Channel-Degraded Speech Activity Detection”, Speech & Natural Language Publications, Aug. 1, 2013, 5 pp. [cited by applicant]