The B2Scala tool

Notes for testing the tool

Contents

Notes for testing the tool

As a companion to the submission of the article The B2Scala Tool: integrating Bach in Scala with Security in Mind, this page describes how to launch a test of the tool.

For the impatient

The easiest manner to execute the coding of the Needham-Schroeder protocol is to download the ns-protocol-in-b2scala.jar jar file and execute it by typing the command

java -jar ns-protocol-in-b2scala.jar

This should produce the contents of Figure 8 of the paper.

A deeper use of the tool

Besides this very direct way of testing the program, the source code is presented in two flavors.

Package with the program inside

A zip file containing the code as an sbt project is provided by the following link. In its src/main/scala directory, it contains various subdirectories for the B2Scala tool but also a directory bsc_program, which contains the needham_schroeder.scala file. This file contains the code for the Needham-Schroeder protocol described in the article. Other programs may be introduced in other files in this directory. Please make sure that you rename the BSC_modelling object and declare such an object in your new program.

More concretely, upload the b2scala.zip zip file and decompress it in a directory of your choice. Go to this directory and execute in sequence

  • sbt compile

  • sbt run

The code in the needham_schroeder.scala file should execute and deliver the behavior described in the paper.

Further tests can be made by modifying this file at will.

Example package with B2Scala as a library

Another zip file is provided at the following link. It includes a simple Scala project that uses B2Scala as a library, the latter being in the lib folder. The program is this time in the directory src/main/scala/my_program.

Concretely, please the exb2scala.zip zip file and decompress it in a directory of your choice. Go to this directory and execute in sequence

  • sbt compile

  • sbt run

The code in the needham_schroeder.scala file should execute and deliver the behavior described in the paper. Again, further tests can be made by modifying this file at will.

Requirements

Running the jar file requires java 1.8 or higher. Running the sbt project requires to have installed scala and its tool sbt. We have used scala version 2.12 and sbt version 1.3. However the code does not use very specific features and should run on later versions.

Article

The article can be downloaded at the following link.

Contents