Ankit Kumar Misra

Hi! I'm a fourth year undergraduate student at the Indian Institute of Technology Bombay. I am pursuing a major in Computer Science and Engineering with honors.

My interests lie in theoretical and applied cryptography, and broadly in algorithms and theoretical computer science. I have worked with Prof. Manoj Prabhakaran at the Trust Lab, IIT Bombay on proving the decidability of Secure Non-Interactive Reduction (paper accepted at TCC 2022). I am now working with him on CellTree, an organically evolving structure for distributed data storage. I have also worked with Dr. Nishanth Chandran and Dr. Divya Gupta at Microsoft Research, on efficient secure MPC algorithms for sorting and its applications. Previously, I have worked with Prof. Sándor Fekete of TU Braunschweig and Prof. Aaron T. Becker of the University of Houston on geometric algorithms for clearing expanding 2D regions with unit discs, and we have a paper on the way.

I'm also enthusiastic about teaching. I'm currently working as a TA in Design and Analysis of Algorithms (CS 218M) at IIT Bombay, with Prof. Paritosh Pandya. Prior to this, I have completed two other TAships - one in Data Structures and Algorithms (CS 213) with Prof. Milind Sohoni, and the other in Computer Programming and Utilization (CS 101) with Prof. Bhaskaran Raman and Prof. Kameswari Chebrolu.

In my spare time, you will find me reading a book (usually thriller or psychology), playing the keyboard (check this out!), listening to rock or western classical music, or watching a movie/anime.

Email  |  CV  |  GitHub  |  LinkedIn

profile photo


Boolean cube

Secure Non-Interactive Reducibility (SNIR) is Decidable

Guide: Prof. Manoj Prabhakaran
Trust Lab, IIT Bombay
Paper accepted at TCC 2022, with Kaartik Bhushan, Varun Narayanan, and Manoj Prabhakaran. Full version available at

Derived a generalized junta theorem for Fourier transforms of Boolean functions over generalized domains, and used it along with cryptographic techniques to prove that, given a pair of two-party correlations, the existence of a statistical SNIR implies the existence of a perfect SNIR between them. This in turn was used to design an algorithm for the existence of a statistical SNIR.


Secure MPC Algorithms for Sorting and its Applications

Guide: Dr. Nishanth Chandran, Dr. Divya Gupta
Microsoft Research Lab, India

Developed an efficient secure MPC algorithm for sorting over secret-shared data using function secret sharing (FSS), and now exploring its implications for MPC algorithms that employ sorting.


CellTree: A Paradigm for Distributed Data Repositories

Guide: Prof. Manoj Prabhakaran
Trust Lab, IIT Bombay

Designing a robust and organically evolving tree structure for distributed data storage, having liveness, correctness, and consistency guarantees, with cryptographic elements for data privacy.


Clearing a Growing 2D Region by Sequentially Eliminating Unit Discs

Guide: Prof. Sándor Fekete, Prof. Aaron T. Becker
TU Braunschweig

Paper in preparation. Formulated optimal unit disk placement strategies for clearing constantly growing 2D regions, in both L2 and L spaces, by clearing one unit disk at each time step.

Multi-Armed Bandit

Time Complexity Analysis of KL-UCB Algorithm

Guide: Prof. Shivaram Kalyanakrishnan
IIT Bombay

Calculated time complexity of KL-UCB computation in multi-armed bandits, assuming logarithmic increase in accuracy, and proved that this assumption preserves asymptotic optimality.



Cryptanalysis of Block Ciphers

code  |  report

Studied and prepared a report on linear and differential cryptanalytic techniques for block ciphers, with emphasis on the FEAL-4 cipher. Implemented the FEAL-4 cipher, and programmed and executed an efficient differential cryptanalytic attack for complete key recovery.

Isogeny graph for elliptic curves

Efficient Key Recovery Attack on SIDH Key Exchange

code  |  report

Explored isogeny-based cryptography and implemented one of the recently invented key recovery attacks on the Supersingular Isogeny Diffie-Hellman (SIDH) key exchange protocol, previously conjectured to be quantum secure.


Register Transfer Language to Pseudo-C Decompiler

code  |  report

Developed a decompiler to convert architecture dependent RTL into machine independent pseudo-C code, to support enhanced readability and portability across architectures. Applied Lex and Bison to scan and parse RTL source code, to identify key elements and constructs, such as assignments, arithmetic operations, and function calls.

TAGE branch predictor

Branch Prediction with TAGE and L-TAGE

code  |  presentation

Programmed 8+1 and 16+1 component TAgged GEometric history length branch predictors, with and without a 1024-entry loop predictor, in the ChampSim simulator, tuned parameters for accuracy, and compared performance with other branch predictors by measuring MPKI.


Gaussian Mixture Models for Inverse Problems

code  |  report

Used Gaussian Mixture Models (GMMs) to implement compressed sensing over images. The GMMs were estimated using the maximum a posteriori expectation-maximization (MAP-EM) algorithm, after extending the expressions in this paper to non-zero mean distributions. Applied this technique to develop accurate image inpainting and super-resolution solutions.

Chest X-Rays

X-Ray Anomaly Detection Using CNNs

code  |  documentation

Applied transfer learning in conjunction with fine-tuning on the CheXpert dataset, to train each of five different CNN architectures to detect and classify five common thoracic diseases using chest X-rays. Developed an accurate five-model ensemble with appropriate weights, which achieved an AUC score quite close to the present SOTA.


Quantum Computing and Cryptography


Used Qiskit to simulate quantum entanglement and teleportation. Implemented BB84 Quantum Cryptography Protocol for secure communication, and programmed Deutsch-Josza and Grover’s algorithms to accelerate classically expensive computations.


Robust Mastermind Player


Applied SAT solving techniques using the Z3 Theorem Prover to formulate and implement a player for the game Mastermind, that performs accurately against unreliable adversaries, which lie with some small probability.


Optimal Strategies for Anti-Tic-Tac-Toe


Modelled fixed-strategy adversaries as Markov decision problems (MDPs) to allow for strategy optimization through policy iteration, and applied this alternately on two random players until convergence of strategies.


Permutations and Quadtrees


Designed and programmed efficient algorithms for arithmetic operations on permutations, including products, square roots, exponents, and logarithms, all in linear worst case time. Developed a Quadtree class to efficiently store and perform spatial transformations on very large monochrome images.

Hand Gesture

Gestures for 3D Space


Trained high-accuracy hand gesture classifiers by transfer learning from VGG-16 and ResNet-50 CNN architectures. Applied one-shot learning to train a Siamese neural network for multi-label classification of 15 distinct hand gestures, by pre-training on an ASL dataset and fine-tuning on a self-created dataset of the 15 gestures.

Neural Network

Neural Networks and Deep Learning


Extensively studied machine learning and deep learning algorithms and their applications, and prepared a systematic report on the mathematics behind these concepts. Implemented YOLO-based car detection, neural style transfer, and machine translation in Keras.

Page design source: Jon Barron Last updated: 28 October 2022