Sending a message securely on an insecure channel. The message is encoded
in the form of a singular matrix, and multiplied with a first
non-singular matrix. The resulting first cipher data is sent to a
receiver system. Receiver system multiplies the first cipher data with a
second non-singular matrix and the resulting second cipher data is sent
to the sender system. The sender system multiplies the second cipher data
with the inverse of the first non-singular matrix, and the result is sent
to the receiver system. The receiver system multiplies the received
result with the inverse of the second non-singular matrix to recover the
message.