All Projects → oasisprotocol → deoxysii

oasisprotocol / deoxysii

Licence: MIT license
Go Deoxys-II-256-128

Programming Languages

go
31211 projects - #10 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to deoxysii

aes-gcm-siv
.NET Core 3.0 implementation of AES-GCM-SIV nonce misuse-resistant authenticated encryption
Stars: ✭ 22 (+22.22%)
Mutual labels:  aead
aes-gcm-siv
A Java implementation of AES-GCM-SIV (RFC 8452).
Stars: ✭ 32 (+77.78%)
Mutual labels:  aead
dtls
Datagram Transport Layer Security (DTLS) client.
Stars: ✭ 72 (+300%)
Mutual labels:  aead
Cryptography-Guidelines
Guidance on implementing cryptography as a developer.
Stars: ✭ 15 (-16.67%)
Mutual labels:  aead
symmecrypt
Golang symmetric encryption library
Stars: ✭ 85 (+372.22%)
Mutual labels:  aead
XChaCha8Blake3Siv
XChaCha8Blake3Siv is a nonce-reuse misuse-resistant (NRMR) and key-committing authenticated encryption with associated data (AEAD) algorithm
Stars: ✭ 14 (-22.22%)
Mutual labels:  aead
miscreant.go
Go implementation of Miscreant: misuse-resistant encryption library with AES-SIV (RFC 5297) and AES-PMAC-SIV support
Stars: ✭ 32 (+77.78%)
Mutual labels:  mrae
miscreant.rb
Ruby implementation of Miscreant: misuse-resistant encryption library with AES-SIV (RFC 5297) and AES-PMAC-SIV support
Stars: ✭ 22 (+22.22%)
Mutual labels:  mrae

deoxysii - Deoxys-II-256-128 for Go

Build status GoDoc

This package provides a "from-the-paper" implementation of the Deoxys-II-256-128 v1.43 algorithm from the final CAESAR portfolio.

Implementations

  • (ct32) Portable 32 bit constant time implementation (Extremely slow).

  • (ct64) Portable 64 bit constant time implementation (Extremely slow).

  • (aesni) SSSE3 + AESNI implementation for amd64

  • (vartime) Portable and variable time (insecure) implementation, for illustrative purposes (tested/benchmarked but never reachable or usable by external consumers).

Notes

Performance for the AES-NI implementation still has room for improvement, however given that the Deoxys-BC-384 tweakable block cipher has 3 more rounds than AES-256, and Deoxys-II will do two passes over the data payload, it is likely reasonably close to what can be expected.

The pure software constant time implementation would benefit considerably from vector optimizations as the amount of internal paralleism is quite high, making it well suited to be implemented with bitslicing. Additionally a rather ludicrous amount of time is spent implementing the h permutation in software, that can be replaced with a single PSHUFB instruction.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].