Project Title: Decentralized Secure Data Network: Using Concepts of Mental Poker
BASIS Advisor: Ms. Bhattacharya
Internship Location: Amazon.com, Inc.
Onsite Mentor: Mr. Sameer Gupta
Currently, cryptography is mainly used for dealing with two trustworthy sources and defending against a malicious interceptor. However, if the sender and receiver turn out to be the actual untrustworthy parties, then how would that be defended against? I plan to conduct my research at Amazon.com, Inc. By learning and researching about mental poker, bit commitment, and oblivious transfer, I plan to create a demo model in which two parties can verify information and send it to each other with security and no interception, without requiring a middleman for verification. It is important to build a system in which two machines can interact with each other for a transaction and verify each other’s identities, without the need for relaying to a third-party or storing information on a router or such third machine. This system would make secure transactions directly, possibly eliminating a lot of factors in the internet routing map and use encryption to ensure safety of the data. Because the modern Internet is vastly open, it is hard to trust a server, and hence any normal cryptographic implementation will not succeed all the time, based on the nature of assuming the “middle-man” as trustworthy. By making such a model, we can create a decentralized web where all information goes from one computer to another while retaining safety and legitimacy.
My Posts
Concluding: Adding Final Touches, Preparing, Racing (Week 12)
Hello Blog Readers to the final blog post of this project at week 12! Over the course of these 12 weeks, it has been an exciting experience being able to venture out of our traditional school environment, and having a chance to work on our passions in a relaxed environment. This senior project was definitely […]
Designing: Making PowerPoints, Editing, Presenting (Week 11)
Hello to all the blog readers! Week 11 remained a very busy week, as it consisted of me creating my PowerPoint slides. I presented my first draft of the slides on Thursday, 2 May 2019, to a group of students and teachers. It was fairly successful, and I got lots of constructive feedback. I will […]
Racing to the End: Encrypting, Creating, Reflecting (Week 10)
Hello blog readers to week 10! From last week’s choices of encryption libraries, I decided to go with BouncyCastle. Moreover, it turns out that it is an extension of Java’s native classes, meaning that we have to use it in accordance with javax.crypto. I was unable to use Tink (by Google) as it lacked support […]
Aggregating: Testing Libraries, Organizing Modules, Linking Readings (Week 9)
It’s already week 9 and it seems as if time flew quickly! Just 2-3 weeks until the end of the project! Expanding on what I worked on last time, I quickly went to work analyzing and attempting to fix the “0” output. After spending 1-2 days, I realized that it is because of a slight […]
Finalizing: Networking, Meeting, Discussing (Week 8)
Hello blog readers! As we go onto new weeks and in week 8, it looks like I have learnt a lot so far. From learning new programming practices to generally understanding how professional coding works in an enterprise level, this senior project experience has been eventful and inspiring. I started off this week by attending […]
Rewriting: Cleaning Code, Structuring, Making Efficient (Week 7)
Hello blog readers! As of this week, I decided to spend time on making my code efficient. Discussing with my advisors and evaluating my progress, I feel as if I have the right tools to finish this project. At the same time, I want to make this code work, and I have spent this week […]
Debugging: Creating Networks, Automating, Testing Multiple Platforms (Week 6)
Hello everyone! Looks like the project has significant progress! So far, I am almost done making the bare-bones structure of the demo application, with abstraction in all places. For example, places which require encryption are demarked with an abstract function, which I will be implementing later. This approach to programming will allow me to plug-and-play […]
Pacing: Modularizing Project, Connecting, Reflecting (Week 5)
As we move further towards the official senior project presentation, the project seems to go on an excellent pace so far. Starting the demo application, I am working with many components at once, including Wireless Networking, Cryptography, Abstraction, and Cross-Platform Optimization. All these concepts need to work seamlessly in tandem, and I hope to stabilize […]
Evaluating: Catching Up, Brainstorming, Beginning an End (Week 4)
Hello everyone! This week, the title of the project has been officially renamed to “Decentralized Secure Data Network: Using Concepts Of Mental Poker” to better describe the project in its entirety. Our concepts derive from the basics of mental poker, and we will take them to create a prototype of a decentralized network. With much […]
Testing: Beginning Creation, Making Test Programs, Trying Different Algorithms (Week 3)
After a few weeks of intense reading and learning with both my advisor and from my readings, I decided to start coding. Along with reading, it is highly important to also practice, as that is the only way one can see if they have fully understood the topic. With that in mind, I started implementing […]
Exploring: Learning, Reading, Understanding Core Concepts (Week 2)
After the first week of extensive introductory reading with the MIT paper on “mental poker” and various other links, I spent this week reviewing core concepts of cryptography. In this time, I throughly reviewed different forms of cryptography (asymmetric and symmetric) and then looked at various implementations. Looking at the MIT paper, we will have to […]
Introduction: Starting Up, Reading, Investigating (Week 1)
Hello readers! Welcome to Vidur Gupta’s senior project research blog on “Mental Poker: Building a Secure yet Oblivious Decentralized Application”. Upon concluding of the first week of senior project, I have learnt a lot in the field of cryptography and encryption. Starting from basic concepts of encryption to delving into more complex algorithmic proofs, I […]