Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Are there any cryptographic algorithms or primitives that have been developed and studied that make use of non-commutative or non-associative algebraic structures such as quaternion integers or octonion integers? It seems to me that many of these structures can preserve the things that make them useful to cryptography (the trapdoor nature of multiplication for example) while removing some of the tools used to attack it (symmetries exploited in commutativity and associativity.)

There are several structures that are non-commutative and non-associative that have many features of unique factorization domains, such as Hurwitz quaternions and the 'Cayley' integers studied by Conway and Smith; It wouldn't surprise me to learn there are other structures that have similar properties that are close enough to the integers we're familiar with yet with broken symmetries that make them more resistant to cryptanalytic attacks.

The most obvious utility I can think of is using quaternion or octonion based unique factorization domains in RSA, but many cryptographic systems that use objects like integers I can see being extended to alternative structures. The downside I can see is some hidden congruence relation that is able to be exploited that doesn't exist in the integers. Are there cryptosystems that use such alternatives to the integers?

share|improve this question
Group theoretic cryptography is a thing. It isn't very secure or efficient compared to stuff like RSA, though. – Alexander Gruber Jun 17 '14 at 5:34

People have proposed schemes for building cryptographic hash functions using $SL_2$ (a non-commutative group over matrices). See, e.g., "Hashing with SL2",

That said, standard cryptographic hash functions work just fine, so there's not a clear advantage to using this approach in practice, as far as we can tell.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.