Specifying a Cryptographical Protocol in Lustre and SCADE

We present SCADE and Lustre models of the Message Authenticator Algorithm (MAA), which is one of the first cryptographic functions for computing a message authentication code. The MAA was adopted between 1987 and 2001, in international standards (ISO 8730 and ISO 8731-2), to ensure the authenticity and integrity of banking transactions. This paper discusses the choices and the challenges of our MAA implementations. Our SCADE and Lustre models validate 201 official test vectors for the MAA.

[1]  Bart Preneel,et al.  On the Security of Iterated Message Authentication Codes , 1999, IEEE Trans. Inf. Theory.

[2]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[3]  Hubert Garavel,et al.  Comparative Study of Eight Formal Specifications of the Message Authenticator Algorithm , 2018, MARS/VPT@ETAPS.

[4]  Bart Preneel,et al.  On the Security of Two MAC Algorithms , 1996, EUROCRYPT.

[5]  Graeme I. Parkin,et al.  Specification of the MAA Standard in VDM , 1991, VDM Europe.

[6]  Pascal Raymond,et al.  Lutin: A Language for Specifying and Executing Reactive Scenarios , 2008, EURASIP J. Embed. Syst..

[7]  Vincent Rijmen,et al.  Key Recovery and Collision Clusters for MAA , 1996 .

[8]  Pascal Raymond,et al.  Case studies with Lurette V2 , 2004, International Journal on Software Tools for Technology Transfer.

[9]  Yannick Moy,et al.  Testing or Formal Verification: DO-178C Alternatives and Industrial Experience , 2013, IEEE Software.

[10]  Gérard Berry SCADE: Synchronous Design and Validation of Embedded Control Software , 2007 .

[11]  Hubert Garavel,et al.  A Large Term Rewrite System Modelling a Pioneering Cryptographic Algorithm , 2017, MARS@ETAPS.

[12]  Donald W. Davies,et al.  A Message Authenticator Algorithm Suitable for A Mainframe Computer , 1985, CRYPTO.

[13]  Charles André,et al.  Computing SyncCharts Reactions , 2004, SLAP.

[14]  Bart Preneel,et al.  Security analysis of the message authenticator algorithm (MAA) , 1997, Eur. Trans. Telecommun..

[15]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[16]  Marc Pouzet,et al.  SCADE 6: A formal language for embedded critical software development (invited paper) , 2017, 2017 International Symposium on Theoretical Aspects of Software Engineering (TASE).