We give a general introduction to cryptographic protocols and the kinds of attacks to which they are susceptible. We then
present a framework based on linear logic programming for analyzing authentication protocols and show how various notions
of attack are expressed in this framework.