Zero Knowledge Proof – Chaum-Pedersen Protocol
Zero Knowledge Proofs (ZKP) are a mechanism of computing a mathematically verifiable cryptographic proof of a true statement without actually revealing any amount of information about the statement other than it holds true. For instance, bank could use ZKP of your credit score to give you the loan without asking for your bank statements, ID,…
Cryptography tech fuelled by blockchain – ZKP, FHE, MPC, TEE
One key aspect of blockchain privacy is the trade-off between transparency and confidentiality. While transparency is a hallmark of blockchain, offering accountability and trust, it can compromise privacy in use cases like enterprise transactions and proprietary trading. This led me to explore and learn about technologies like Zero-Knowledge Proofs (ZKPs), Fully Homomorphic Encryption (FHE), Multi-party…
What a month! 5 events, 8 awards and 10 new team mates
November was not supposed to be this tectonic and yet here I am, with a huge grin on my face, trying to let all of the impression sink in. This is the list of events I’ve participated in: Event Date Location Prize 1. NASA SpaceApp 2023 Challenge 16th of October 2023 Online – 2. European…
Creating my digital clone from Facebook messages using nanoGPT
As a software developer, I am always on the lookout for exciting new ways to use natural language processing (NLP) to enhance user experiences. Recently, I took on an interesting weekend project: creating a digital clone of myself based on the Facebook messages I’ve sent over the last three years. The idea was inspired by…
Rust – Fast manipulation of a vector behind a HashMap using RefCell
Let’s analyze a function which maintains some 3×1 f64 vectors for plotting. There are multiple vectors and each of them is behind an enum key of a HashMap. Hasmap is a member property of a struct, so it looks something like this: We have a function log_debug_data which will record the current position of a…
Rust’s Copy trait – An example of a Vec inside a struct
While implementing a very primitive molecular dynamics simulator from scratch in Rust, I have encountered an interesting corner case I believe is worth sharing with anyone learning Rust. Among other artifacts, I have set up a primitive model class for storing some information about a single Particle in a file particle.rs: Nothing fancy, just some…
Leetcode 2429 – Minimize XOR
Source: https://leetcode.com/problems/minimize-xor/ Problem statement Given two positive integers num1 and num2, find the integer x such that: x has the same number of set bits as num2, and The value x XOR num1 is minimal. Note that XOR is the bitwise XOR operation. Return the integer x. The test cases are generated such that x…
Leetcode 39 – Combination Sum
Source: https://leetcode.com/problems/combination-sum/ Problem statement Given an array of distinct integers candidates and a target integer target, return a list of all unique combinations of candidates where the chosen numbers sum to target. You may return the combinations in any order. The same number may be chosen from candidates an unlimited number of times. Two combinations…
Leetcode 30 – Substring with concatenation of all words
Source: https://leetcode.com/problems/substring-with-concatenation-of-all-words/ Problem statement You are given a string s and an array of strings words. All the strings of words are of the same length. A concatenated substring in s is a substring that contains all the strings of any permutation of words concatenated. For example, if words = [“ab”,”cd”,”ef”], then “abcdef”, “abefcd”, “cdabef”,…
7 soft skills to accelerate your career
Working with people is hard, mostly thanks to the complex and unpredictable nature of human emotions. Inarticulate factors frequently jump in, subconsciously affecting every thought and decision we make. To scratch the surface of proving my point, the header image should remind you of a very well known doodle you’ve probably stumbled upon on the…