Hi! I'm Ryan Henry, an Assistant Professor of Computer Science in the School of Informatics and Computing at Indiana University Bloomington. My research explores the systems challenges of applied cryptography, with a particular emphasis on using cryptography to build secure systems that preserve the privacy of their users.

For Students

I'm looking for bright graduate students who share my interests in applied cryptography, cybersecurity, and online privacy. If you're such a student and you're looking for an advisor, then we should probably talk.



  • Swaminathan Vengalathur Ramesh (PhD; F16–present)
  • Syed Mahbub Hafiz (PhD; F15–present)

For Researchers

I develop cryptographic techniques for preserving the privacy of users on the Internet. I'm also interested in applying cryptography to build tools to resist and circumvent online censorship, as well as in more theoretical matters related to how efficient cryptographic tools can be.

Ongoing projects

  • Practical Private Information Retrieval

    Private Information Retrieval (PIR) enables users to query remote databases without revealing the contents of their queries to the database holders. One thread of my research focuses on ways to make PIR protocols more efficient and more useful for applications like electronic commerce.
  • Accountable Anonymity Systems

    Anonymous blacklisting and reputation systems provide a means for anonymous users to authenticate with service providers (SPs) over the Internet but remain anonymous, while simultaneously allowing the SPs to block individual anonymous misbehavers. I am actively researching new ways to construct practical and flexible anonymous blacklisting systems.
  • Efficient Zero-Knowledge Proofs

    Zero-knowledge proofs (ZKPs) are a seemingly magical cryptographic primitive that allow one party—the prover—to prove statements to a second party—the verifier—without imparting any “knowledge” on the prover, beyond the veracity of the statement. I am interested in how “batching” techniques can reduce the communication and computation overhead of zero-knowledge proofs for certain complex statements.
  • Solving Discrete Logarithms in CUDA

    The discrete logarithm (DL) problem is a (presumed) “intractable” problem from number theory, which cryptographers rely upon to prove the security of countless cryptographic constructions. I am interested in understanding how to harness the power of GPUs to solve certain variants of the DL problem, and the potential ramifications (and applications) this has for the security of such cryptographic constructions.


Selected publications

See my DBLP bibliography or Google Scholar for additional publications, citations, and BibTeX entries.