CryptoPad: 3-Party Asynchronous Communication

3-Party Asynchronous Communication with Perfect Secrecy based on balancing the middle party Chosen Value of m: m = 3 GitHub Repo: Link Team Members Adnan Jakati Dhanraj Chavan Mayank Ramnani Claims Our protocol ensures perfect secrecy. Theoretical maximum pad wastage in worst-case scenarios is limited by a function of d, particularly improving on the baseline split approach of 2n/3. Wastage in the worst case scenario (d undelivered messages) is min(n, 3*d) Scenarios: Scenario (a): Only one, randomly chosen, party repeatedly sends L-length messages -> Pads wasted: 3*d Scenario (b): Only two, randomly chosen, parties repeatedly send L-length messages, where the decision of who sends the next message is also randomly chosen. -> Pads wasted: 2.5d (average case) Scenario (c): Each message is sent by a randomly chosen party out of the 3 parties. -> Pads wasted: 2.7d (averaged across 10000 runs) Maximum wastage across all possible usage schedules: 3d Informal Explanation N is the number of pads available. These are shared between all the parties, with each party having the same list at the start of the protocol. For m=3, there will be 3 parties. If the available pads are treated as a list, the first party (A) will use pads from the left, moving right; second party (B) will use the pads in the middle, third party (C) will use the pads starting from the right end of the list, moving left. As pads are used, they are removed from the available list of the sender. When messages are sent, the index of the pad used is sent along with them so that decryption at the receiver is possible. The receiver also updates its available list of pads and removes the pads whose index it receives since they have been used elsewhere. This protocol needs to stop a client from sending a message when available_pads_at_client <= 3d to avoid breaking perfect secrecy. Thus, max wastage is of 3d pads. Rigorous Description (Pseudocode) initialize N pads as a shared list among all parties set m = 3 // number of parties set d // security parameter for stopping condition define party A: uses pads from left to right define party B: uses pads from the middle define party C: uses pads from right to left each party maintains its own available_pads list, initially equal to the shared list function send_message(sender, receiver, message): if length(sender.available_pads) ≤ 3d: abort transmission // stop sending to maintain secrecy pad_index = select_pad(sender) pad = sender.available_pads[pad_index] encrypted_message = encrypt(message, pad) send (encrypted_message, pad_index) to receiver remove pad_index from sender.available_pads function receive_message(receiver, encrypted_message, pad_index): if pad_index not in receiver.available_pads: abort // integrity failure pad = receiver.available_pads[pad_index] message = decrypt(encrypted_message, pad) remove pad_index from receiver.available_pads return message function select_pad(party): if party is A: return leftmost available index if party is B: return middle available index if party is C: return rightmost available index Explanation This pseudocode describes a secure communication protocol where three parties (A, B, and C) share a list of N one-time pads. Each party selects pads uniquely to avoid conflicts: ...

May 6, 2025 · 5 min · Dhanraj Chavan

EagleEye: Security Alert System

Introduction Security incidents like data breaches and intrusions can have serious consequences, ranging from financial losses to reputational damage. In modern enterprise environments, it’s crucial to detect suspicious activities promptly and respond before they escalate. Our project, Security Alert System, addresses this challenge by providing a centralized mechanism to monitor login attempts, identify potential threats, and send alerts to administrators in real time. Team Our EagleEye project was conceptualized, designed, and implemented by a dedicated group of graduate students from NYU: ...

April 7, 2025 · 4 min · Dhanraj Chavan

ProxLink

What is ProxLink? ProxLink is more than just a project, ProxLink is my exploration into building a versatile home lab using open-source technologies like Proxmox, pfSense, Tailscale, and TrueNAS. It enables me to test cybersecurity concepts, virtualized environments, networking strategies, and software integrations securely and conveniently at home. View Project Network Topology Features Powerful Virtualization – ProxLink leverages Proxmox VE’s intuitive web interface to efficiently manage virtual machines and containers, ensuring flexibility and scalability. ...

April 1, 2025 · 1 min · Dhanraj Chavan

Newsubs

newsubs Find new subdomains of different bug bounty programs from Chaos. Install git clone https://github.com/heydc7/newsubs.git cd newsubs pip3 install -r requirements.txt python3 newsubs.py -h Usage newsubs.py [-h] {show,fetch,compare,difference,union} Find new subdomains positional arguments: {show,fetch,compare,difference,union} show Show program list from Chaos fetch Fetch subdomains from a program compare Compare subdomains of a program difference List uncommon items from files union Combine both files uniquely options: -h, --help show this help message and exit Commands “newsubs” offers several commands to assist in subdomain discovery. Here’s an overview of the available commands: ...

October 5, 2023 · 3 min · Dhanraj Chavan

Tinker

Tinker A tool for parameter tampering. In other words, Tinker helps you explore different variations of a string by toggling between lowercase and uppercase letters. Why? It’s hard & time-taking process to change the payloads with different versions of itself on your own. That’s why here is a recursive script Tinker for parameter tampering. Install git clone https://github.com/heydc7/Tinker.git cd Tinker/ python3 main.py Usage >> python3 main.py >> Enter your string: <INPUT> You’ll be prompted to enter your string. For demonstration purposes, you can use “reset-password” as an example. ...

September 28, 2023 · 1 min · Dhanraj Chavan

Magnify

Magnify A tool for spider multiple URLs & check for sensitive variables in code. Why? It is hard to check waybackurls by copy & paste in browser. Many URL get 404. Hence, This tool helps to reduce the error links & helps to find sensitive keywords in code. Usage Usage: magnify [-u] <url> [-f] <file> [-r] <rate> [-o] <filename> -h: Help -u --url: URL -f --file: Input file containing URLs -r --rate: Rate limit in seconds -o --output: Output file name/path Install git clone https://github.com/heydc7/magnify.git cd magnify/ python3 main.py -u https://google.com Example waybackurls target.com | tee Desktop/waybacks.txt cd magnify python3 main.py -f ~/Desktop/waybacks.txt -o ~/Desktop/magnify.txt Result (0%) ['https://target.com/?ch=10489', 200, 'AIza', 'appspot', 'auth', 'config', 'firebase', 'internal', 'key', 'login', 'pass', 'password', 'prod', 'user'] Read Full Tutorial Click here ...

December 30, 2022 · 1 min · Dhanraj Chavan

SilentPhish

SilentPhish Swift Student Challenge Submission | WWDC 2022 Introduction My Swift Playground App aims to demonstrate the detection of Phishing websites using Machine Learning to analyze the threat in an offline sandbox. Introducing SilentPhish!!! SilentPhish is an offline sandbox where a link can be analyzed based on various URL features using Machine Learning to detect whether the link is legitimate or phishing. Let’s get started! Feature Extraction: A URL is composed of different parts, some mandatory & others optional. Some characteristics distinguish phishing websites from a legitimate websites. ...

June 1, 2022 · 2 min · Dhanraj Chavan

Unmutify

Unmutify Unmutify helps a mute person communicate easily. Important Links Demo Video Problem Statement Many people are unable to talk due to their disabilities & many people are mute inborn People with speech challenges can easily get frustrated when trying to communication with friends & family On other hand, it is difficult to understand the sign language of mute person We can fill this communication gap with the help of technology Introducing Unmutify Unmutify helps mute person to communicate easily With Unmutify, mute person can talk by converting text to speech & emojis to speech User can create custom sentences & pronounce them with text-to-speech Emoji-To-Speech helps user to talk quickly with the help of various types of emojis Unmutify has easy to use UI/UX. Anyone can learn to use this app very easily Features Textify(Text To Speech) helps the user to pronounce custom sentences Emojify(Emoji-To-Speech) helps the user to talk with the help of emojis Drawify: Draw your thoughts on canvas easily Technology Used SwiftUI: UI + Functionality AVFoundation: Multimedia Framework by Apple to play AV Future Plans & Improvements Our vision is to focus on helping Mute/Disabled people to communicate easily Features To add support in many languages To add phone call support To add more Emoji’s & improve Emoji-To-Speech Functionality To add all gender voices How to get it? Portfolio Play Store App Store Website

February 1, 2022 · 2 min · Dhanraj Chavan

InfyTracer

Introduction Extract Info From Docs Smartly! The InfyTracer helps you to scan documents & extract important data from them. Inspiration InfyTracer is an app inspired by the idea of automating the process of typing & adding bulk contacts from various papers, documents, receipts, cards, etc. in any event. Infytracer helps to scan documents & extract essential information from them. Features: Scan documents easily Detects docs smartly & captures them quickly Extracts important data from it Edit Extracted info before saving Quick Actions to scan & share quickly How to get it? Portfolio App Store ...

September 16, 2021 · 1 min · Dhanraj Chavan

MyMeets

Introduction The MyMeets helps to manage all important meetings in one place. Inspiration During the pandemic, I was facing issues while managing meeting links of different platforms to join online lectures or any other tech session. It was time-consuming to find the meeting link from various WhatsApp groups. I created the MyMeets app to manage meetings from different platforms in one place. Features: Simply add your meetings by pasting meeting info Automatically detects all meeting info like meeting ID, URL Attend your meetings in one tap via Notifications with Pre-Reminders Schedule your meetings to get reminders Easily Edit/Modify Meeting Info Supports multiple online meeting platforms like Google Meet, Zoom, Microsoft Teams, and Cisco WebEx. How to get it? Portfolio App Store Play Store ...

August 10, 2021 · 1 min · Dhanraj Chavan