crypto

package module
v0.0.0-...-8b7e99e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2023 License: LGPL-3.0 Imports: 2 Imported by: 0

README

Build Status Godoc Reference Go Report

The crypto package

Notice: The public API is not stable and backward compatibility is currently not guaranteed. This code should currently NOT used in productive environments!

Introduction

The crypto package implements some additional cryptographic functionality, currently not supported by the standard or additional golang packages.
This repository should not replace or somehow compete with the golang crypto packages. Rather, this package should supplement the official and additional golang cryptographic.

Currently implemented:

Aim

The aim of this project / repository is a powerful, flexible and easy to use cryptographic library, which can be easily integrated into Go applications.

Installation

Install in your GOPATH: go get -u github.com/enceve/crypto
Install Dependencies: go get -u golang.org/x/crypto

Contribute

First of all: Contributions are welcome!

If you have an idea or found a bug - please raise an issue. If you want to add functionality - as usual on github send a pull request.

Documentation

Overview

Package crypto contains commen and general useful cryptographic functions and types.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func XOR

func XOR(dst, src, with []byte) int

XOR xors the bytes in src and with and writes the result to dst. The destination is assumed to have enough space. Returns the number of bytes xor'd.

Types

type AuthenticationError

type AuthenticationError struct{}

A AuthenticationError indicates, that an authentication process failed. E.g. the message authentication of a AEAD cipher.

func (AuthenticationError) Error

func (a AuthenticationError) Error() string

type KeySizeError

type KeySizeError int

A KeySizeError indicates, that the size of a given key does not match the expected size.

func (KeySizeError) Error

func (k KeySizeError) Error() string

type NonceSizeError

type NonceSizeError int

A NonceSizeError indicates, that the size of a given nonce does not match the expected size.

func (NonceSizeError) Error

func (n NonceSizeError) Error() string

Directories

Path Synopsis
Package blake2 implements the both hash functions BLAKE2b and BLAKE2s described in RFC 7693.
Package blake2 implements the both hash functions BLAKE2b and BLAKE2s described in RFC 7693.
blake2b
Package blake2b implements the BLAKE2b hash function.
Package blake2b implements the BLAKE2b hash function.
blake2s
Package blake2s implements the BLAKE2s hash function.
Package blake2s implements the BLAKE2s hash function.
Package camellia implements the camellia block cipher.
Package camellia implements the camellia block cipher.
Package chacha20 implements the ChaCha stream cipher and the ChaCha20Poly1305 AEAD construction described in RFC 7539.
Package chacha20 implements the ChaCha stream cipher and the ChaCha20Poly1305 AEAD construction described in RFC 7539.
chacha
Package chacha implements some low level functions of the ChaCha cipher family.
Package chacha implements some low level functions of the ChaCha cipher family.
Package cipher implements additional block cipher modes that can be wrapped around low-level block cipher implementations.
Package cipher implements additional block cipher modes that can be wrapped around low-level block cipher implementations.
Package cmac implements the fast CMac MAC based on a block cipher.
Package cmac implements the fast CMac MAC based on a block cipher.
dh
Package dh implements the Diffie-Hellman key exchange over multiplicative groups of integers modulo a prime.
Package dh implements the Diffie-Hellman key exchange over multiplicative groups of integers modulo a prime.
ecdh
Package ecdh implements the Diffie-Hellman key exchange with elliptic curves.
Package ecdh implements the Diffie-Hellman key exchange with elliptic curves.
Package hc128 implements the stream cipher HC-128 from the eSTREAM portfolio (software) designed by Hongjun Wu.
Package hc128 implements the stream cipher HC-128 from the eSTREAM portfolio (software) designed by Hongjun Wu.
Package hc256 implements the stream cipher HC-256 designed by Hongjun Wu.
Package hc256 implements the stream cipher HC-256 designed by Hongjun Wu.
Package pad implements some padding schemes for block ciphers.
Package pad implements some padding schemes for block ciphers.
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
Package serpent implements the Serpent block cipher submitted to the AES challenge.
Package serpent implements the Serpent block cipher submitted to the AES challenge.
Package siphash implements a hash / MAC function developed Jean-Philippe Aumasson and Daniel J Bernstein in 2012.
Package siphash implements a hash / MAC function developed Jean-Philippe Aumasson and Daniel J Bernstein in 2012.
Package skein implements the Skein512 hash function based on the Threefish tweakable block cipher.
Package skein implements the Skein512 hash function based on the Threefish tweakable block cipher.
skein1024
Package skein1024 implements the Skein1024 hash function based on the Threefish1024 tweakable block cipher.
Package skein1024 implements the Skein1024 hash function based on the Threefish1024 tweakable block cipher.
skein256
Package skein256 implements the Skein256 hash function based on the Threefish256 tweakable block cipher.
Package skein256 implements the Skein256 hash function based on the Threefish256 tweakable block cipher.
threefish
Package threefish implements the Threefish tweakable block cipher.
Package threefish implements the Threefish tweakable block cipher.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL