PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Jose Luis Lucas   Kravatte PHP Keccak Farfalle   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Kravatte PHP Keccak Farfalle
Encrypt and decrypt data based on Farfalle
Author: By
Last change:
Date: 3 years ago
Size: 1,737 bytes
 

Contents

Class file image Download

Kravatte

PHP-Kravatte Achouffe Cipher Suite: Encryption, Decryption, and Authentication Tools based on the Farfalle modes

Based on this Python implementation with minor changes https://github.com/inmcm/kravatte

Kravatte is a high-speed instance of Farfalle based on Keccak-p[1600] permutations, claimed to resist against classical and quantum adversaries. Modes for authentication, encryption and authenticated encryption are defined accordingly.

https://keccak.team/2017/updated_farfalle_kravatte.html https://eprint.iacr.org/2016/1188.pdf

It pass all tests from https://github.com/inmcm/kravatte/tree/master/tests

2021 @denobispsis

$x=new Kravatte;

MAC

$x->mac('Supersecreto', 'Et in Arcadia ego', 64)

SANE

$x->Kravatte_SANE($nonce,$key);

$cipher = $x->Kravatte_SANE_enc($message, $metadata);

[$cipher, $val]

$x->Kravatte_SANE($nonce,$key);

$plain = $x->Kravatte_SANE_dec(pack("H",$cipher[0]), $meta, pack("H",$cipher[1]));

[$message, $val]

SANSE

$x->Kravatte_SANSE($key);

$cipher = $x->Kravatte_SANSE_enc($message, $metadata);

[$cipher, $val]

$x->Kravatte_SANSE($key);

$plain = $x->Kravatte_SANSE_dec(pack("H",$cipher[0]), $meta, pack("H",$cipher[1]));

[$message, $val]

WBC

$x->Kravatte_WBC(strlen($message), $tweak,$key);

$cipher = $x->Kravatte_WBC_enc($message);
	
$x->Kravatte_WBC(strlen($message), $tweak,$key);

$message = $x->Kravatte_WBC_dec(pack("H*",$cipher));

WBC_AE

$x->Kravatte_WBC_AE(strlen($message), $key);

$cipher = $x->Kravatte_WBC_AE_enc($message,$metadata);

$x->Kravatte_WBC_AE(strlen($message),$key);

$plain = $x->Kravatte_WBC_AE_dec(pack("H*",$cipher),$metadata);

Oracle

$x->KravatteOracle($message, $key);

$x->random($size);