A Case Study in Non-Commutative Cryptography: Implementing Anshel-Anshel-Goldfeld Key Exchange in Python
PublisherThe University of Arizona.
RightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
AbstractModern communication relies on cryptography to ensure the security, integrity, and authenticity of our messages and data. Everything from text messaging to modern banking systems rely heavily of cryptographically encrypted data. Most currently implemented cryptosystems rely on computations in commutative groups. This reliance opens up the possibility of certain mathematical attacks based in linear algebra or similar fields. By instead using protocols based on non-commutative groups we may limit the vulnerability of our communications. This paper provides a brief background in the theory of modern cryptography and non-commutative algebraic groups, and then demonstrates a Python implementation of a form of non-commutative key exchange. The implementation consists of two Python programs: one which establishes the tools necessary to work with the Braid Group, the chosen non-commutative group, and another which uses this platform group to perform Anshel-Anshel-Goldfeld key exchange.
Degree ProgramHonors College