The cpsa package

[Tags: bsd3, program]

The Cryptographic Protocol Shapes Analyzer (CPSA) attempts to enumerate all essentially different executions possible for a cryptographic protocol. We call them the shapes of the protocol. Naturally occurring protocols have only finitely many, indeed very few shapes. Authentication and secrecy properties are easy to determine from them, as are attacks and anomalies.

For each input problem, the CPSA program is given some initial behavior, and it discovers what shapes are compatible with it. Normally, the initial behavior is from the point of view of one participant. The analysis reveals what the other participants must have done, given the participant's view.

We are working towards a version of CPSA with the property that whenever it successfully terminates, every possible execution is described by its output. However, the current implementation occasionally fails to find some executions.

The package contains a set of programs used to perform and display the analysis. Program documentation is in the doc directory in the source distribution, and installed in the package's data directory. You can locate the package's data directory by searching for the file cpsauser.html. New users should study the documentation and the sample inputs in the data directory. The source distribution includes a test suite with an expanded set of input files and program design documentation.

The theory and algorithm used by CPSA was developed with the help of Joshua D. Guttman, John D. Ramsdell, Jon C. Herzog, Shaddin F. Doghmi, F. Javier Thayer, and Paul D. Rowe. John D. Ramsdell implemented the algorithm in Haskell.


Properties

Versions2.0.0, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 2.2.10, 2.2.11, 2.2.12, 2.2.13, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4
Dependenciesbase (<=4.2.0.0), containers
LicenseBSD3
Maintainerramsdell@mitre.org
CategoryCryptography
Executablescpsapp, cpsaparameters, cpsaannotations, cpsashapes, cpsagraph, cpsa
Upload dateWed Mar 31 13:27:37 UTC 2010
Uploaded byJohnRamsdell
Downloads1874 total (162 in last 30 days)

Flags

NameDescriptionDefault
parEnable use of the parallel construct parEnabled
oldEnable support for cabal < 1.6Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees