ESP Biography
BENJAMIN KUYKENDALL, Alumnus who loves theoretical computer science
Major: Computer Science College/Employer: Columbia University Year of Graduation: 2018 

Brief Biographical Sketch:
I graduated from Columbia University as computer science major. I study theoretical computer science, that is, the mathematics of computability, algorithms, and cryptography. I am currently pursuing a PhD at Princeton University. Past Classes(Clicking a class title will bring you to the course's section of the corresponding course catalog)M769: Secret Sharing and Cryptography in Splash Fall 2018 (Oct. 28, 2018)
When most of us hear "cryptography", we think of codebreaking, spies, or maybe even cryptocurrency. But even though these are the most obvious applications, there are many interesting realworld problems we can solve with the theory of cryptography.
Consider this problem: everyone knows you need two officers with two different keys in order to launch a nuclear weapon. But in the 21st century, no one wants to carry a physical key. So the military goes out and buys a passwordprotected system to secure the weapons. Unfortunately, the system only requires a single password. How do we "split" or "share" the secret password in a way that both officers are needed to launch the weapon?
Cryptographers call this problem "secret sharing" and with a little bit of math, we can implement it in a provably secure and correct way. We will learn about polynomials over finite fields, Gaussian elimination, the Shamir Secret Sharing scheme, and applications of secret sharing.
M643: Secret Sharing and Cryptography in Splash Spring 18 (Mar. 31, 2018)
When most of us hear "cryptography", we think of codebreaking, spies, or maybe even cryptocurrency. But even though these are the most obvious applications, there are many interesting realworld problems we can solve with the theory of cryptography.
Consider this problem: everyone knows you need two officers with two different keys in order to launch a nuclear weapon. But in the 21st century, no one wants to carry a physical key. So the military goes out and buys a passwordprotected system to secure the weapons. Unfortunately, the system only requires a single password. How do we "split" or "share" the secret password in a way that both officers are needed to launch the weapon?
Cryptographers call this problem "secret sharing" and with a little bit of math, we can implement it in a provably secure and correct way. We will learn about polynomials over finite fields, Gaussian elimination, the Shamir Secret Sharing scheme, and applications of secret sharing.
M676: P vs NP in Splash Spring 18 (Mar. 31, 2018)
With faster computers, better algorithms, and innovation in AI, machine learning, deep learning, and quantum computing, it seems like computation can instantly solve almost any problem in logistics, mathematics, and even society. But what if some problems are simply too timeconsuming to solve?
Despite all the progress in computer science, we have failed to find fast algorithms for many interesting problems. However, some of these problems share an intriguing property: once you do find an answer, it is easy to verify. Does this help us solve them? Surprisingly, despite decades of work and a million dollar bounty, no one knows. This is the famous P vs NP problem.
In practice, we generally assume P != NP, so if P = NP, the computational world would be turned on its head. Though some useful tasks would suddenly become easier, encryption would be impossible. Even mathematics itself might be at risk. Come learn the basics of computational hardness and the surprising utility of hardtoanswer questions.
M563: Secret Sharing and Cryptography in Splash Fall 2017 (Nov. 04, 2017)
When most of us hear "cryptography", we think of codebreaking, spies, or maybe even cryptocurrency. But even though these are the most obvious applications, there are many interesting realworld problems we can solve with the theory of cryptography.
Consider this problem: everyone knows you need two officers with two different keys in order to launch a nuclear weapon. But in the 21st century, no one wants to carry a physical key. So the military goes out and buys a passwordprotected system to secure the weapons. Unfortunately, the system only requires a single password. How do we "split" or "share" the secret password in a way that both officers are needed to launch the weapon?
Cryptographers call this problem "secret sharing" and with a little bit of math, we can implement it in a provably secure and correct way. We will learn about polynomials over finite fields, Gaussian elimination, the Shamir Secret Sharing scheme, and applications of secret sharing.
M244: Theory and Implementation of Ciphers in Splash Spring 2015 (Apr. 18, 2015)
Number theory  the study of integers and their properties  was long thought to be a subject with little realworld relevance. Hardy, in his essay, A Mathematician's apology, is thankful that his work in number theory cannot be used for malicious purposes since it cannot be used at all! Some years later the situation is different, as number theory is now integral in cryptography, the theory of encrypting and decrypting messages so that the intended recipients, and only the intended recipients, can read them.
Security of computer systems in one of the biggest issues in the modern era. Learn how one of the oldest problems in mathematics, factoring integers, can be used to create encryption schemes powerful enough to protect sensitive information in a digitalized world.
We will use both proof and implementation to demonstrate the goals and techniques of cryptography and a commonly used cipher.
