Categorygithub.com/unix4fun/naclpipe
modulepackage
0.2.0
Repository: https://github.com/unix4fun/naclpipe.git
Documentation: pkg.go.dev

# README

naclpipe

NaCL Pipe Go Package

Purpose

A simple experimental Go package providing an io.Reader/io.Writer interface with an NaCL (pronounced 'Salt') crypto backend.

  • np* is the previously called naclpipe tool using this Go package.

ChangeLog

  • 2018-11-17

    • remove old unsafe backware compatibility code.
    • tagged 0.2.0
  • 2018-06-24

    • added argon2id key derivation function.
    • upgraded the key derivation function and the parameters to a 2018 flavor.
    • added some godoc documentation
  • 2018-04-01

    • separating command 'np' and package 'naclpipe', this way package can eventually be reused as "crypto" stream.
    • reusable io.Reader/Writer interface.
    • Starting 'semver' and documenting, first version will be 0.1.0
  • 2018-03-24

    • fixing the empty scrypt salt reported by Tom Eklof
    • better handling of pipe input.
    • the structure has changed as the CSPRNG'ed salt is prefixed to the series of blocks

Package Example Usage

import "github.com/unix4fun/naclpipe"

// block size can be arbitrary, we read in block of datas
block := make([]byte, 8192)

// initilize my reader from stdin
cryptoReader, err := naclpipe.NewReader(os.Stdin, "mysuperduperpassword", naclpipe.DerivateArgon2id)
if err != nil {
    log.Fatalf("naclpipe error")
}

// read & decipher in block
_, err := cryptoReader.Read(b)

Package Usage Example / Tool

see np.

Package Doc

Featuring (because there is always a star in your production..)

# Packages

No description provided by the author

# Functions

NewReader initialize an io.Reader using 'password' and the selected derivation function.
NewWriter initialize an io.Writer using 'password' and the selected derivation function.

# Constants

INIT / INTERNAL .
we use argon 2id by default.
INIT / INTERNAL .
INIT / INTERNAL .
No description provided by the author

# Variables

ErrRead triggers on an error from the underlying io.Reader.
ErrUnsafe triggers for unsafe key derivation function.
ErrUnsupported triggers for using an unsupported derivation function.
ErrWrite triggers on an error from the underlying io.Writer.

# Structs

Argon2Params describes the parameters used for calling the Argon2id key derivation function.
NaclPipe define the structure that handle the crypto pipe operation it also holds all internal datas related to the running pipe.
ScryptParams describes the parameters used for calling the scrypt key derivation function.