Multivariate cryptography