This document presents a proposed algorithm for public key cryptography using matrices. The algorithm has three stages: 1) shuffling the original data using a linear congruential method and arranging it in a matrix, 2) traversing the data matrix in different patterns, and 3) generating a system of non-homogeneous linear equations from the matrix to derive private keys. The algorithm aims to provide data confidentiality, integrity and authentication for cloud computing applications using public key cryptography with matrices in a way that has constant complexity regardless of key size.