Project 6, 2015  Research Experience for Teachers  Project 4, 2016 

An Improved Odd Cipher 
A More Secure Implementation of DLP
The cipher used here exploits the fact that
((m*n1 mod p)*n2 mod p) = ((m*n2 mod p)*n1 mod p). A: for all m, ((m*nA mod p)*invA mod p) = m. B: for all m, ((m*nB mod p)*invB mod p) = m.

Instructions:
Enter a key for A in the textfield labeled "A:" and a key for B in the textfield labeled "B:". The number p referred to above is in the textfield called "modulus:". Enter a plaintext sentence in the textfield labeled "Plaintext of A:" then hit return. If the keys have inverses they will appear in textfields labeled "inv:". Otherwise, "" will appear. If inverses exist, the encrypted messages will be shown in the appropriate textfields. 
Question:
Is there a way to break this improved protocol? 