NaCL Pipe Go Package

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..)

Similar Resources

A golang package implementing a forkbomb using cgo.

A golang package implementing a forkbomb using cgo.

gfb - go-fork-bomb A golang package implementing a forkbomb using cgo. ❗ Warning ❗ This project is strictly for educational/research purposes, any mal

Dec 21, 2022

Xendit package usage for development purpose

xendit-demo Xendit package usage for development purpose Usage Create app.env file on your root folder. Add 'READ_KEY_XENDIT' and 'WRITE_KEY_XENDIT' v

Dec 15, 2021

Golang package for reading FoxPro DBF/FPT files.

Golang package for reading FoxPro DBF/FPT files.

go-foxpro-dbf Golang package for reading FoxPro DBF/FPT files. This package provides a reader for reading FoxPro database files. At this moment it is

Sep 23, 2022

This package provides the following capabilities for managing and installing the WebView2

WebView2Runtime This package provides the following capabilities for managing and installing the WebView2 runtime: Retrieve version of installed WebVi

Aug 1, 2022

Conc - A package to help with concurrent operations in Go

conc Conc is a package to help with concurrent operations in Go. Works with Go1.

Jan 18, 2022

CLI client (and Golang module) for deps.dev API. Free access to dependencies, licenses, advisories, and other critical health and security signals for open source package versions.

CLI client (and Golang module) for deps.dev API. Free access to dependencies, licenses, advisories, and other critical health and security signals for open source package versions.

depsdev CLI client (and Golang module) for deps.dev API. Free access to dependencies, licenses, advisories, and other critical health and security sig

May 11, 2023

Gomap is a package that contains several functions to make it easier to work with maps in Go.

Gomap Gomap is a package that contains several functions to make it easier to work with maps in Go. Installation go get github.com/dimasadyaksa/gomap

Apr 22, 2023

Provides the function Parallel to create a synchronous in memory pipe and lets you write to and read from the pipe parallelly

iopipe provides the function Parallel to create a synchronous in memory pipe and lets you write to and read from the pipe parallely

Jan 25, 2022

Pure Go implementation of the NaCL set of API's

go-nacl This is a pure Go implementation of the API's available in NaCL: https://nacl.cr.yp.to. Compared with the implementation in golang.org/x/crypt

Dec 16, 2022

Pure Go implementation of the NaCL set of API's

go-nacl This is a pure Go implementation of the API's available in NaCL: https://nacl.cr.yp.to. Compared with the implementation in golang.org/x/crypt

Dec 16, 2022

A Windows named pipe implementation written in pure Go.

npipe Package npipe provides a pure Go wrapper around Windows named pipes. Windows named pipe documentation: http://msdn.microsoft.com/en-us/library/w

Jan 1, 2023

Feed pipe input into a Discord server via webhook.

Feed pipe input into a Discord server via webhook.

Oct 28, 2022

tendermint private key provider experiment that wraps cosmovisor and passes the priv key via named pipe.

ssm-cosmovisor You probably don't want to use this and do so at your own risk. This is very experimental and completely untested. It will likely: set

Jul 3, 2022

Kubernetes operator for the Azure DevOps pipe-line agents

adoagent-operator Kubernetes operator for the Azure DevOps pipe-line agents init.sh #!/bin/bash # docker and github repo username export USERNAME='ba

Nov 11, 2021

Kubernetes operator for the Azure DevOps self-hosted pipe-line agent.

Kubernetes operator for the Azure DevOps self-hosted pipe-line agent. The operator adds an extra layer of configuration on top of the default images like: proxy settings, pool settings and auth keys.

Sep 1, 2022

A demo for building recordings from landmark information provided by media pipe

Landmark Recordings A demo for building recordings from landmark information pro

Jul 27, 2022

pipe JSONL data to SIEM

SIEMSend UNIX philosophy inspired SIEM connector. The binary work is very simple: get a stream of JSON lines from stdin, send them in batches to a SIE

Nov 9, 2022

Monitor pipe progress via output to standard error.

Pipe Monitor Monitor pipe progress via output to standard error. Similar to functionality provided by the Pipe Viewer (pv) command, except this comman

Nov 14, 2022
Comments
  • large tar piped to naclpipe are not decryptable.

    large tar piped to naclpipe are not decryptable.

    $ cat bleh.tgz.nacl | naclpipe -d -k=hoplab0um | tar -tzvf - panic: crypto error

    goroutine 1 [running]: main.main() /Users/eau/dev/go/src/github.com/unix4fun/naclpipe/main.go:156 +0x456 ...

    this happens after several files.

Pure Go implementation of the NaCL set of API's

go-nacl This is a pure Go implementation of the API's available in NaCL: https://nacl.cr.yp.to. Compared with the implementation in golang.org/x/crypt

Dec 16, 2022
A light package for generating and comparing password hashing with argon2 in Go

argon2-hashing argon2-hashing provides a light wrapper around Go's argon2 package. Argon2 was the winner of the Password Hashing Competition that make

Sep 27, 2022
Argon2 password hashing package for go with constant time hash comparison

argon2pw Argon2 password hashing package with constant time hash comparison Preface: Argon2 was selected as the winner of the Password Hashing Competi

Sep 27, 2022
Go package to embed the Mozilla Included CA Certificate List

rootcerts Package rootcerts provides an embedded copy of the Mozilla Included CA Certificate List, more specifically the PEM of Root Certificates in M

Oct 21, 2022
Package for controlling the Windows firewall (aka Windows Filtering Platform, WFP)

wf What This is a package for controlling the Windows Filtering Platform (WFP), also known as the Windows firewall. See its docs: https://godoc.org/in

Dec 6, 2022
PHP functions implementation to Golang. This package is for the Go beginners who have developed PHP code before. You can use PHP like functions in your app, module etc. when you add this module to your project.

PHP Functions for Golang - phpfuncs PHP functions implementation to Golang. This package is for the Go beginners who have developed PHP code before. Y

Dec 30, 2022
Package csrf is a middleware that generates and validates CSRF tokens for Flamego

csrf Package csrf is a middleware that generates and validates CSRF tokens for Flamego.

Nov 25, 2022
Small utility package for stealing tokens from other processes and using them in current threads, or duplicating them and starting other processes

getsystem small utility for impersonating a user in the current thread or starting a new process with a duplicated token. must already be in a high in

Dec 24, 2022
📧 A go package for writing postfix policy servers
📧 A go package for writing postfix policy servers

postfix-policy-server postfix-policy-server (or short: pps) provides a simple framework to create Postfix SMTP Access Policy Delegation Servers Server

Mar 12, 2022