Apparati, methods, and computer readable media for enabling two parties (1,2) to exchange encrypted messages, exchange symmetric cryptographic keys, and perform functions of public key cryptography. First and second key exchange algorithms use commuting pairs of subsets of a monoid. The first key exchange...http://www.google.com/patents/US7136484?utm_source=gb-gplus-sharePatent US7136484 - Cryptosystems using commuting pairs in a monoid