The widespread use of internet has raised serious concerns of privacy and trust. In order to address these concerns, cryptographic protocols are widely used. A cryptographic protocol is a distributed program that uses cryptographic primitives to ensure security over an untrusted network. However, the design of cryptographic protocols has proven to be error-prone and several errors have been found. Thus, there is a need for building scalable tools for automatically verifying security of cryptographic protocols. The complexity of cryptographic protocols as well as the desired security guarantees presents unique challenges to verification of cryptographic protocols. We illustrate these challenges within the context of verifying game-based and equivalence-based properties of cryptographic properties.