Light combinators for finite fields arithmetic

Abstract This work completes the definition of a library which provides the basic arithmetic operations in binary finite fields as a set of functional terms with very specific features. Such a functional terms have type in Typeable Functional Assembly ( TFA ). TFA is an extension of Dual Light Affine Logic ( DLAL ). DLAL is a type assignment designed under the prescriptions of Implicit Computational Complexity (ICC), which characterises polynomial time costing computations. We plan to exploit the functional programming patterns of the terms in the library to implement cryptographic primitives whose running-time efficiency can be obtained by means of the least hand-made tuning as possible. We propose the library as a benchmark. It fixes a kind of lower bound on the difficulty of writing potentially interesting low cost programs inside languages that can express only computations with predetermined complexity. In principle, every known and future ICC compliant programming language for polynomially costing computations should supply a simplification over the encoding of the library we present, or some set of combinators of comparable interest and difficulty. We finally report on the applicative outcome that our library has and which is a reward we get by programming in the very restrictive scenario that TFA provides. The term of TFA which encodes the inversion in binary fields suggested us a variant of a known and efficient imperative implementation of the inversion itself given by Fong. Our variant, can outperform Fong's implementation of inversion on specific hardware architectures.

[1]  Luca Roversi Light Affine Logic as a Programming Language: A First Contribution , 2000, Int. J. Found. Comput. Sci..

[2]  Patrick Baillot,et al.  Soft lambda-Calculus: A Language for Polynomial Time Computation , 2004, FoSSaCS.

[3]  Luca Roversi A P-Time Completeness Proof for Light Logics , 1999, CSL.

[4]  Andrea Asperti,et al.  Intuitionistic Light Affine Logic , 2002, TOCL.

[5]  Graham Hutton,et al.  A tutorial on the universality and expressiveness of fold , 1999, Journal of Functional Programming.

[6]  Luca Roversi,et al.  Can a Light Typing Discipline Be Compatible with an Efficient Implementation of Finite Fields Inversion? , 2013, FOPARA.

[7]  J. Robin B. Cockett,et al.  Pola: A Language for PTIME Programming , 2009, FICS.

[8]  Michael Mendler,et al.  The NASA STI Program Office provides , 2000 .

[9]  Francesco Quaglia,et al.  PELCR: Parallel environment for optimal lambda-calculus reduction , 2007, TOCL.

[10]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[11]  Kazushige Terui,et al.  Verification of Ptime Reducibility for system F Terms: Type Inference in Dual Light Affine Logic , 2007, Log. Methods Comput. Sci..

[12]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[13]  Kazushige Terui,et al.  Light types for polynomial time computation in lambda-calculus , 2004, LICS 2004.

[14]  Luca Roversi,et al.  Typing a Core Binary-Field Arithmetic in a Light Logic , 2011, FOPARA.

[15]  Martin Hofmann,et al.  Linear types and non-size-increasing polynomial time computation , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[16]  Krishnendu Chatterjee,et al.  Algorithms for Omega-Regular Games with Imperfect Information , 2006, Log. Methods Comput. Sci..

[17]  Tanja Lange,et al.  Handbook of Elliptic and Hyperelliptic Curve Cryptography , 2005 .

[18]  Patrick Baillot,et al.  Elementary Complexity and Geometry of Interaction , 1999, Fundam. Informaticae.

[19]  Marco Gaboardi,et al.  A PolyTime Functional Language from Light Linear Logic , 2010, ESOP.

[20]  Ugo Dal Lago Context Semantics, Linear Logic and Computational Complexity , 2005, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[21]  Alfred Menezes,et al.  Field inversion and point halving revisited , 2004, IEEE Transactions on Computers.

[22]  Marco Pedicini Remarks on Elementary Linear Logic , 1996, Electron. Notes Theor. Comput. Sci..

[23]  Martin Hofmann,et al.  Bounded Linear Logic, Revisited , 2009, TLCA.