 Thanks, Kenny. So this is joint work with Betul Durak, my PhD student at Rutgers, and also Thomas de Boisene of Galois. So this talk is about something called order revealing encryption, which is a fairly simple primitive. And it's most easily understood through its special case, which is order preserving encryption, which is just a symmetric encryption scheme that's deterministic and order preserving in a strictly increasing function. And what that means is that if you think of the domain space as an ordered set of numbers, and the range, the ciphertext space is an ordered set of numbers, if you encrypt some x that's less than y, you'll get a ciphertext for x that is less than the ciphertext for y. That's order preserving encryption. Order revealing encryption, and this distinction isn't too important for the talk, is a more general version of this where we say maybe the ciphertext aren't actually numbers that are in order, but if somebody were to look at the two ciphertexts, they could figure out which was for the smaller plane text, which is for the bigger one. So order is revealed. So why would you want to build such a thing? It's for encrypted database protections. Namely, you would take a database table with a bunch of columns, and you would pick, say, a key for the first-name column and encrypt it. And you would take the plane text there and replace them with the order preserving encryption.