Senior Lecturer in Cybersecurity
, UK

Paolo Modesti

AnBx Compiler and Java Code Generator

Security Protocols Specification, Verification and Implementation - Alice and Bob to Java Compiler

Features

Download (v. ) - N.B. For an easy setup we recommend to use the AnBx IDE.

Building the tool (requires the Glasgow Haskell Compiler version 7.8.3+)

We highly recommend to install the Haskell platform as it includes a number of core and widely used packages.
We have tested the build with the following versions of the GHC: 7.8.3, 8.0.2, 8.2.2, 8.4.3, 8.6.5, 8.8.3. More recent versions of GHC are untested.
"Prior" releases of the Haskell platform can be downloaded from here.

In order to build the application, additional Haskell packages are required.
Running cabal install --only-dependencies should download and install these dependencies for you.

If an error persist, the compiler should tell you which packages are missing.
At least the following packages must be installed before being able to build the application.

cabal install HStringTemplate
cabal install filepath
cabal install ConfigFile
cabal install MissingH
cabal install utf8-string

Then run again:

cabal configure
cabal build

If you struggle to identify missing dependencies look at the build-depends: section in the AnBx2.cabal file.

Running the tool (examples) (requires Java SE Runtime 11+, optional BouncyCastle library 1.66+, required for more ciphers and algorithms)

Java Code Generation

Tutorial

Papers and Documentation

  1. An IDE for the Design, Verification and Implementation of Security Protocols (R.Garcia, P.Modesti), ISSREW2017
  2. Security Protocol Specification and Verification with AnBx (M.Bugliesi, S.Calzavara, S.Mödersheim, P.Modesti), JISA 2016
  3. AnBx: Automatic Generation and Verification of Security Protocols Implementations (P.Modesti), FPS 2015
  4. Efficient Java Code Generation of Security Protocols specified in AnB/AnBx (P.Modesti), Technical Report 2014
  5. Efficient Java Code Generation of Security Protocols specified in AnB/AnBx (P.Modesti), STM 2014 (Short Paper)
  6. AnBx - Security Protocols Design and Verification (M.Bugliesi, P.Modesti), ARSPA-WITS 2010

Questions?