“…Such algorithms have found applications in factoring polynomials over rationals [3], integer programming [4], [5], [6], cryptanalysis [7], [8], [9], checking the solvability by radicals [10], and solving low-density subset-sum problems [11]. More recently, many powerful cryptographic primitives have been constructed whose security is based on the worst-case hardness of these or related lattice problems [12], [13], [14], [15], [16], [17], [18].…”