CTL: A Platform-Independent Crypto Tools Library Based on Dataow Programming Paradigm (Extended Edition) ?

The diversity of computing platforms is increasing rapidly. In order to allow security applica- tions to run on such diverse platforms, implementing and optimizing the same cryptographic primitives for multiple target platforms and heterogeneous systems can result in high costs. In this paper, we report our eorts in developing and benchmarking a platform-independent Crypto Tools Library (CTL). CTL is based on a dataow programming framework called Recongurable Video Coding (RVC), which was re- cently standardized by ISO/IEC for building complicated recongurable video codecs. CTL benets from various properties of the RVC framework including tools to 1) simulate the platform-independent designs, 2) automatically generate implementations in dierent target programming languages (e.g., C/C++, Java, LLVM, and Verilog/VHDL) for deployment on dierent platforms as software and/or hardware modules, and 3) design space exploitation such as automatic parallelization for multi- and many-core systems. We benchmarked the performance of the SHA-256 and AES implementations in CTL on single-core target platforms and demonstrated that implementations automatically generated from platform-independent RVC applications can achieve a run-time performance comparable to reference implementations manually written in C and Java. For a quad-core target platform, we benchmarked a 4-adic hash tree application based on SHA-256 that achieves a performance gain of up to 300% for hashing messages of size 8 MB.

[1]  Bruce Schneier,et al.  Applied cryptography : protocols, algorithms, and source codein C , 1996 .

[2]  Mitsuru Matsui,et al.  On the Power of Bitslice Implementation on Intel Core2 Processor , 2007, CHES.

[3]  Elaine B. Barker,et al.  Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , 2004 .

[4]  Ahmad-Reza Sadeghi,et al.  hPIN/hTAN: A Lightweight and Low-Cost E-Banking Solution against Untrusted Computers , 2011, Financial Cryptography.

[5]  Johann Großschädl,et al.  Instruction Set Extensions for Efficient AES Implementation on 32-bit Processors , 2006, CHES.

[6]  J. R. Lewis,et al.  Cryptol: high assurance, retargetable crypto development and validation , 2003, IEEE Military Communications Conference, 2003. MILCOM 2003..

[7]  Jonathan Katz,et al.  Faster Secure Two-Party Computation Using Garbled Circuits , 2011, USENIX Security Symposium.

[8]  Hugo De Man,et al.  CoWare—A design environment for heterogeneous hardware/software systems , 1996, EURO-DAC '96/EURO-VHDL '96.

[9]  Quynh H. Dang,et al.  Secure Hash Standard | NIST , 2015 .

[10]  Stefan Tillich,et al.  Boosting AES Performance on a Tiny Processor Core , 2008, CT-RSA.

[11]  W. R. Sutherland,et al.  The on-line graphical specification of computer procedures , 1966 .

[12]  Soonhoi Ha,et al.  PeaCE: A hardware-software codesign environment for multimedia embedded systems , 2008, TODE.

[13]  Bruce Schneier,et al.  Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish) , 1993, FSE.

[14]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[15]  Rishiyur S. Nikhil,et al.  Bluespec System Verilog: efficient, correct RTL from high level specifications , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[16]  Timo Hämäläinen,et al.  UML-based multiprocessor SoC design framework , 2006, TECS.

[17]  Deian Stefan,et al.  Fast Software AES Encryption , 2010, FSE.

[18]  Dan Page,et al.  Bridging the gap between symbolic and efficient AES implementations , 2010, PEPM '10.

[19]  Mohammad Nazrul Ishlam Patoary,et al.  Design and Implementation of an Audio Codec (AMR-WB) using Dataflow Programming Language CAL in the OpenDF Environment , 2010 .

[20]  Dag Arne Osvik,et al.  A More Compact AES , 2009, Selected Areas in Cryptography.

[21]  Andrew Chi-Chih Yao,et al.  How to generate and exchange secrets , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[22]  Marco Mattavelli,et al.  CAL Dataflow Components for an MPEG RVC AVC Baseline Encoder , 2011, J. Signal Process. Syst..

[23]  Marco Mattavelli,et al.  Building multimedia security applications in the MPEG reconfigurable video coding (RVC) framework , 2011, MM&Sec '11.

[24]  A. Antola,et al.  A Novel Hardware/Software Codesign Methodology Based on Dynamic Reconfiguration with Impulse C and Codeveloper , 2007, 2007 3rd Southern Conference on Programmable Logic.

[25]  Olli Silven,et al.  Multiprocessor Scheduling of Dataflow Programs within the Reconfigurable Video Coding Framework , 2011 .

[26]  J.-F. Nezan,et al.  Reconfigurable video coding on multicore , 2009, IEEE Signal Processing Magazine.

[27]  Marco Mattavelli,et al.  Hardware synthesis of complex standard interfaces using CAL dataflow descriptions , 2009 .

[28]  Manuel Barbosa,et al.  First Steps Toward a Cryptography-Aware Language and Compiler , 2005, IACR Cryptol. ePrint Arch..

[29]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[30]  Ahmad-Reza Sadeghi,et al.  Garbled Circuits for Leakage-Resilience: Hardware Implementation and Evaluation of One-Time Programs - (Full Version) , 2010, CHES.

[31]  Fayez Gebali,et al.  Applying the Handel-C design flow in designing an HMAC-hash unit on FPGAs , 2006 .

[32]  Peter Schwabe,et al.  New AES Software Speed Records , 2008, INDOCRYPT.

[33]  Ed F. Deprettere,et al.  A framework for rapid system-level exploration, synthesis, and programming of multimedia MP-SoCs , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[34]  Ghislain Roquier,et al.  Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study , 2008, SiPS.

[35]  Ian F. Akyildiz,et al.  Wireless Multimedia Sensor Networks: Applications and Testbeds , 2008, Proceedings of the IEEE.

[36]  Mickaël Raulet,et al.  Overview of the MPEG Reconfigurable Video Coding Framework , 2011, J. Signal Process. Syst..

[37]  David Gregg,et al.  A Program Generator for Intel AES-NI Instructions , 2010, INDOCRYPT.

[38]  Guido Bertoni,et al.  Efficient Software Implementation of AES on 32-Bit Platforms , 2002, CHES.

[39]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[40]  Christophe Lucarz,et al.  A co-design platform for algorithm/architecture design exploration , 2008, 2008 IEEE International Conference on Multimedia and Expo.

[41]  Johann Großschädl,et al.  Light-Weight Instruction Set Extensions for Bit-Sliced Cryptography , 2008, CHES.

[42]  Johan Eker,et al.  CAL language report: Specification of the CAL actor language , 2003 .