Patent ID: 8098815

Claim:
A method for enabling a sending party and a receiving party to develop at least one common matrix capable of being used as a cryptographic key for secure communication of at least part of a message X, using computerized devices for storing, processing, transmitting and receiving data, comprising: establishing a non-commutative mathematical ring; establishing a commutative family F of b×b square matrices over said ring; establishing a commutative family G of c×c square matrices over said ring; selecting a matrix M of size bxc over said ring, said matrix known to both the sending party and the receiving party; the sending party choosing a matrix S from said commutative family F of matrices and a matrix T from said commutative family G of matrices; the sending party multiplying said matrix M by said matrix S and said matrix T and transmitting the matrix product SMT to the receiving party; the receiving party choosing a matrix R from said commutative family F of matrices and a matrix Q from said commutative family G of matrices; the receiving party multiplying said matrix M by said matrix R and said matrix Q and electronically transmitting the matrix product RMQ to the sending party; the sending party multiplying the received matrix product RMQ by the sender's matrix S and the sender's matrix T to produce the matrix product SRMQT; and the receiving party multiplying the received matrix product SMT by the receiver's matrix R and the receiver's matrix Q to produce the matrix product RSMTQ, which is equal to the matrix product SRMQT because of the commutative property of the two families F and G of matrices; wherein: the sending and receiving party have thereby both developed the common matrix product SRMQT=RSMTQ capable of being used as a cryptographic key.