Scalapeño 2016: How to Share a Secret (in Scala) (Nadav Wiener)
Channel: Underscore
Date: 19/07/2016

Many useful cryptographic algorithms are surprisingly easy to grasp. However, implementing cryptography can be intimidating: it's hard to get right, and you really don't want to get it wrong. As in other fields, implementation complexity is a driving factor in software defects, and can render provably secure algorithms into a big pile of vulnerability. Keeping your implementation simple, as close as possible to mathematical description, is key to getting it right.
 
This talk will focus on Shamir secret sharing, an elegant secret sharing scheme created by Adi Shamir. The scheme enables neat use cases, such as splitting a Bitcoin key between five friends and being able to reassemble it aided by only three. In the talk,
we will explain how the algorithm works, transition from equations to Scala implementation, and show how Scala helps us keep code that is filled to the brim with big integer modular math neat, tidy, and fast.