Skip to content

morpheme-im/snowfive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snowfive

A highly optimized Go implementation of the SNOW-V and SNOW-Vi synchronous stream ciphers.

API

GoDoc

const KeySize = 32
const IVSize = 16

func NewSnowVCipher(key, iv []byte) (*SnowVCipher, error)
func (c *SnowVCipher) Rekey(key, iv []byte) error
func (c *SnowVCipher) XORKeyStream(dst, src []byte)
func (c *SnowVCipher) Destroy()

func NewSnowViCipher(key, iv []byte) (*SnowViCipher, error)
func (c *SnowViCipher) Rekey(key, iv []byte) error
func (c *SnowViCipher) XORKeyStream(dst, src []byte)
func (c *SnowViCipher) Destroy()

Benchmark

16 KiB stream throughput

Algorithm Gbps vs AES-256-CTR
SNOW-Vi 78.03 1.59×
SNOW-V 52.47 1.07×
AES-256-CTR 48.98 1.00×
ChaCha20 11.21 0.23×

References

About

A highly optimized Go implementation of the SNOW-V and SNOW-Vi synchronous stream ciphers

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors