This just got my brain jazzed. Any other good resources or uses of Finite Fields that would interest a programmer?
http://en.wikipedia.org/wiki/Shamirs_Secret_Sharing
It lets you divide a message into (say) three parts, where any two parts are necessary and sufficient to reconstruct the message. Or into seven parts, where you need all the parts to reconstruct the message. Or whatever. The wikipedia page gives a very readable basic introduction to how it works.