From abf962fccb4c44b8a71180aa770bea5f9f653ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Wed, 3 Sep 2014 15:44:31 +0200 Subject: Adding text files for license and general info. --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..aced79f --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +chacha +======== + +Verilog 2001 implementation of the ChaCha stream cipher. + +## Functionality ## +This core implements ChaCha with support for 128 and 256 bit keys. The +number of rounds can be set from two to 32 rounds in steps of two. The +default number of rounds is eight. + +The core contains an internal 64-bit block counter that is automatically +updated for each data block. + + +## Performance ## +Each quarterround takes one cycle which means that the mininum latency +will be 4*rounds. When the core is functionally correct we will add two +more version with 2 and 4 parallel quarterrounds respectively. The four +quarterounds version will achieve 1 cycle/round. + + +## Implementation ## +Implementation results using the Altera Quartus 13 design tool. + +### Cyclone IV GX ### +- 6233 LEs +- 3677 registers +- 56.1 MHz +- 11 cycles latency +- 2.6 Gbps performance. + + +### Cyclone V GX ### +- 2631 ALMs for logic +- 3677 registers +- 54.3 MHz +- 11 cycles latency +- 2.5 Gbps performance. + + +## Status ## + +(2014-09-03) +- Added a new port in the core to allow setting of the initial value of +the counter. The top level wrapper currently sets this value to a +constant zero. + +- Added the ChaCha core to Cryptech. + -- cgit v1.2.3