Chris Pollett > Students >

    ( Print View)



    [C297 Proposal]

    [Paper 1: Differential Privacy - PDF]

    [Paper 2: Differential Privacy Primer - PDF]

    [Paper 3: Secret Sharing - PDF]

    [Paper 4: Homomorphic Encryption - PDF]

    [Deliverable 1]

    [Deliverable 2]

    [Deliverable 3]

    [Deliverable 4]

    [CS297 Project Report - PDF]

    [CS298 Proposal]

    [CS298 Presentation - PDF]

    [CS298 Report - PDF]

    [CS298 code - ZIP]

CS297 Proposal

Enhancing the security of Yioop discussion board

Prajna Gururaj Puranik (

Advisor: Dr. Chris Pollett


Yioop is an open source software that functions as a search engine and a social platform with groups, discussion board and wiki. A previous student, Pragya Rana, had worked on adding differential privacy to the some of the statistics generated by the Yioop discussion board and the search engine. Her work will be continued in this project by extending differential privacy to the viewable statistics like number of users per group. We will also explore encrypting and decrypting data using secret sharing and homomorphic encryption schemes.


Week 1: August 23 - August 29 Discuss the project objective and deliverables and draft project proposal
Week 2: August 30 - September 5 Understand Pragya Rana's project and explore the implementation
Week 3: September 6 - September 12 Start working on Deliverable 1 (Project to explore existing encryption) and start reading[1]
Week 4: September 13 - September 19 Continue working on Deliverable 1
Week 5: September 20 - September 26 Summarize reference paper [1]
Week 6: September 27 - October 3 Finish working on Deliverable 1
Week 7: October 4 - October 10 Start working on Deliverable 2 (Add Differential Privacy to Yioop) and start reading [2]
Week 8: October 11 - October 17 Continue working on Deliverable 2 and summarize [2]
Week 9: October 18 - October 24 Finish working on Deliverable 2
Week 10: October 25 - October 31 Start working on Deliverable 3 (Secret sharing image encryption) and start reading [3]
Week 11: November 1 - November 8 Continue working on Deliverable 3 and summarize [3]
Week 12: November 8 - November 15 Finish working on Deliverable 3
Week 13: November 15 - November 22 Start working on Deliverable 4 (Implement homomorphic encryption) and start reading [4]
Week 14: November 22 - November 29 Finish Deliverable 4 and summarize [4]
Week 15: November 29 - December 5 Work on completing the report


The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Create a encrypted group in Yioop, add users and threads to the group to see how these changes reflect in the database inorder to understand how the existing privacy mechanism in Yioop works

2. Implement differential privacy to mask user statistics in Yioop i.e., number of users in groups. This deliverable ensures that Yioop is protected against statistical attacks

3. Implement secret sharing encryption such that users have parts of the secret but no individual holds any useful information that can reveal the secret. Further explore what happens when a sufficient number of users combine their parts of the secret

4. Implement homomorphic encryption by reading relevant papers and coding a working encryption mechanism. The chosen homomorphic encryption scheme is Paillier cryptosystem which will be implemented and its homomorphic properties proven

5. CS297 Report


[1] C. Dwork, "Differential Privacy, 33rd International Colloquium on Automata, Languages and Programming, part II", 2006
[2] C. Dwork et al., "Differential Privacy - A Primer for the Perplexed", Conference of European Statisticians, 2011
[3] A. Shamir, "How to share a secret", Communications of the ACM, 612,613
[4] M. O.Keeffe, "The Paillier Cryptosystem. A Look Into The Cryptosystem And Its Potential Application", College of New Jersey, 2008