Zero-Knowledge Proofs (ZKPs)
What: Algorithms that generate proofs that something happened. Can take minutes to hours. Can leverage GPUs for parallelizable arithmetic, FPGAs for custom finite field operations.
Algorithms: libsnark, Bellman, Halo2
Homomorphic Encryption
What: Algorithms that can perform computations on encrypted data without having to decrypt the data. Can be accelerated with FPGAs for bootstrapping acceleration and TPUs for tensor operations. (examples)
Algorithms: SEAL, HElib, PALISADE, OpenFHE
Multi-Party Computation Protocols (MPC)
What: Algorithms that allow multiple computers to jointly compute a shared output without revealing their respective inputs to each other. Simple examples include joint auctions, bids, secure voting, privacy preserving data analysis across hospitals. There is high latency due to communication overhead, and can be improved via FPGAs for fixed function operations and GPUs for batch processing.
Algorithms: SPDZ, SCALE-MAMBA
Blockchain Transaction Validation
What: Algorithms that allow computers to write transactions to a single ledger-like, decentralized database.
Algorithms: Bitcoin Core, Ethereum, Solana
Cryptographic Hash Functions
What: Algorithms that map inputs to a fixed-size output using deterministic, irreversible, and collision-resistant algorithms.
Digital Signature
What: Algorithms that verify the authenticity of the source of data and the integrity of the data. They ensure the message came from the claimed sender and was not altered. It is used in blockchain transactions, code signing, SSL/TLS, document verification, and lots of other use cases requiring source verification. Batch verification is a bottleneck, so you can use GPUs for that, and FPGAs for fixed-function signature schemes.
Algorithms: ECDSA, RSA-PSS, ED25519, BLS, SPHINCS+
Key Exchange Protocols
What: Algorithms that securely establish a shared secret between two parties over an untrusted network. They resist man in the middle attacks and will soon be required to resist brute force quantum attacks. To make these more efficient, we can offload the modular arithmetic to GPU/FPGA, can move the lattice ops on Kyber to TPUs or custom ASICs (probably too small of a market to start now even from $0, but not in 3-5 years), and batch X25519 key exchange on GPUs. There might actually be use cases for this in data centers.
Algorithms: OpenSSL, ECDH, X25519, liboqs, Noise Protocol
Privacy-Preserving ML
What: Algorithms that train on encrypted data without exposing raw inputs. Techniques include homomorphic encryption, secure enclaves (TEE), federated learning, MPC, and differential privacy.
Algorithms: TF Encrypted (Tensorflow), PySyft, CrypTen (PyTorch), FATE (Python), TenSEAL, HETransformer
Secure Multi-Party Data Aggregation
What: Algorithms that are a subset of MPCs. They are basically the same thing but super narrow. To put it in an analogy, MPC is a Turing-complete private computer, and SMDA is a calculator that only does secure sums.
Algorithms: Prio, CryptFlow, FRESCO, TF Encrypted, PySyft
Oblivious RAM (ORAM) Schemes
What: Algorithms that hide memory access patterns from an untrusted storage provider. ORAM randomizes access to memory so each access looks statistically independent. Prevents RAM pattern access leakage, like which medical file is accessed the most.