  Recently, interest has been emerging in the application of symbolic
techniques to the specification and analysis of cryptosystems. These
techniques, when accompanied by suitable proofs of soundness/completeness, can
be used both to identify insecure cryptosystems and prove sound ones secure.
But although a number of such symbolic algorithms have been developed and
implemented, they remain scattered throughout the literature. In this paper, we
present a tool, CryptoSolve, which provides a common basis for specification
and implementation of these algorithms, CryptoSolve includes libraries that
provide the term algebras used to express symbolic cryptographic systems, as
well as implementations of useful algorithms, such as unification and variant
generation. In its current initial iteration, it features several algorithms
for the generation and analysis of cryptographic modes of operation, which
allow one to use block ciphers to encrypt messages more than one block long.
The goal of our work is to continue expanding the tool in order to consider
additional cryptosystems and security questions, as well as extend the symbolic
libraries to increase their applicability.
