π–Cipher: Authenticated Encryption with Associated Data

π-Cipher - Cipher

Authenticated Encryption Cipher with Associated Data

 

Second round candidate of the CAESAR competition

The newest version:  picipherv2.01.pdf version from 12 October 2015

Current reference implementation:  source code

Reference implemntation on GitHub with test vectors:  C

About  π-Cipher - Cipher

 
π-Cipher is robust
Offers an intermediate level of nonce-misuse resistance by using SMN.
π-Cipher is tag second preimage resistant
It offers certain level of tag-second preimage resistance and that level depends on the number of blocks of the input message.
π-Cipher is secure
It is designed to support different levels of security with 96, 128 and 256 bits of secret key.
π-Cipher is multi-platform
It can run on different platforms (from 8-bit MCUs to latest 64-bit CPUs) depending on the purpose. There are 16-bit, 32-bit and 64-bit versions.  
π-Cipher is simple
It uses two pass counter based sponge component that is based on ARX operations.
π-Cipher is incremental
Incrementality can be achieved with adding some additional data overhead on the existing message blocks.
π-Cipher is parallel
Associated data, and message blocks can be processed in parallel.
π-Cipher is narrow/wide block flexible
The flexibility of block sizes allows secure authenticated encryption of data in rest and secure incremental mode of operation.

People

 
 Danilo Gligoroski, ITEM, NTNU, Norway
 danilog(at)item.ntnu.no
 Simona Samardjiska, FCSE, UKIM, Macedonia
 simona.samardjiska(at)finki.ukim.mk
 Mohamed El-Hadedy, University of Virginia, USA
 mea4c(at)virginia.edu
 Daniel Otte, RUB, Germany
 bg(at)nerilex.org
 Hristina Mihajloska, FCSE, UKIM, Macedonia
 hristina.mihajloska(at)finki.ukim.mk
 Håkon Jacobsen, ITEM, NTNU, Norway
 hakoja(at)item.ntnu.no
 Rune Erlend Jensen, IDI, NTNU, Norway
 runeerle(at)idi.ntnu.no

Implementations

 

Software Implementations

 

Reference implementation in C (by Daniel Otte)  C

Implementation in Ada (by Daniel Otte)  Ada

Implementation on Atmel AVR 8-bit MCU (by Daniel Otte)
(code size 2.26 KB, speed 741.7 cpb)

Hardware Implementations

 

High speed implementation compliant with GMU API (by Ekawat "Ice" Homsirikamol)

Lightweight implementation prepared for GMU benchmarking (by Mohamed El Haddedy)  code

VHDL implementation of 16-bit version (by Mohamed El Haddedy)  code
VHDL implementation of 32-bit version (by Mohamed El Haddedy)  code
VHDL implementation of 64-bit version (by Mohamed El Haddedy)  code

Table of measurements for FPGA and ASIC can be found here

Resources

 

Second Round

 

 v2.01 version from 10 October 2015

 v2.0 version from 29 August 2015

First Round

 

 v1.1 version from 28 November 2014

 v1.0 version from 14 March 2014

Changelog

 

Version v2.01

  • Corrected pseudo-code algorithms given in the initial documentation v2.0

Version v2.0

  1. Padding rule
  2. Reduction of the number of rounds
  3. Added privacy and integrity proofs for π-Cipher

Version v1.1

  • Changes in the padding rule as it was pointed out by Gäetan Leurent and Thomas Fuhr

Publications

 

 

Cryptanalysis

 

  • Response letter
    Reacion of the designers of π-Cipher to the authors of the paper
     "Key Recovery Attack against 2.5-round π-Cipher"

Contact  π-Cipher - Cipher Team

 

If you have any questions about our cipher please feel free to contact us

π-Cipher
EMAIL
contact(at)pi-cipher.org
Copyright © 2016 Pi-Cipher Team. All rights reserved.