Public Key algorithms based on the hardness of approximating the closest vector problem (CVP) in a lattice were first defined by Ajtai (and Dwork). A similar idea was employed by Goldreich, Goldwasser and Halevi to construct a collision resistant hash function. There has been recent further work in this area, especially trying to improve the performance of these algorithms; in particular by using "cyclic lattices".
CVP, and the shortest vector problem (SVP) have had many applications in computer science. The most famous is the LLL algorithm (Lovasz, Lenstra, Lenstra) which approximates the shortest vector to within an exponential in n (the dimension) factor. This is much better than the age old algorithm of Gauss which only worked well for three dimensions. The LLL algorithm is used to factor polynomials over integers in polynomial time. It has also found various applications in cryptanalysis of public key algorithms.
Recently, Aharanov and Regev have shown that approximating SVP to within square root of n is in NP, as well coNP. This is one of the few areas in computer science where rather advanced real analysis is actually used. Of course, Kachiyan's ellipsoid method also uses real analysis, but the application there is more straightforward and intuitive. More advanced semidefinite programming based approximation algorithms are other instances where analysis is used. Gabber-Galil expander construction also uses real analysis, but in quite a limited way. Finally, most probability calculations require elementary real analysis, and some applications using moment generating functions and operator theory can even use complex analysis.
