gocryptx

module
v0.0.0-...-e5e38fc Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2023 License: MIT

README

Go Cryptx

Go Report Card

This repo has a few helpful crypto utilities that I've used or plan to use. I'm happy to accept PRs relating to functionality or documentation.


Note:

See the Security Policy for details about how to responsibly report security issues. These should be resolved outside of the normal PR flow to protect users from undue risk.


Packages

  • xor: Provides some utilities for XOR screening, including an io.Reader and io.Writer implementation that screens in flight.
  • passlock: Provides some utilities for AES 128/256 encryption using a user-supplied passphrase. This is useful for situations where key management is considered harder than password management.
    • Provides a KeyGenerator type that uses scrypt under the hood to generate AES 128/256 keys based on the given passphrase and a secure random seed.
      • The key generator may be tuned to match your threat model, but reasonable default are provided.
    • This also includes a way to encrypt/decrypt a payload with multiple, surrogate keys. This allows multiple, independent passphrases to be used to interact with a payload.
    • There are no guarantees that this mechanism is interoperable with other passphrase locking mechanisms or systems.

Applications

  • xorgen: Provides a CLI that can be used with go:generate comments to easily embed XOR screened and compressed files.

Directories

Path Synopsis
cmd
xorgen/internal/tmpl
Code generated by xorgen, DO NOT EDIT.
Code generated by xorgen, DO NOT EDIT.
pkg
passlock
Package passlock provides functions for encrypting data using a key derived from a user-provided passphrase.
Package passlock provides functions for encrypting data using a key derived from a user-provided passphrase.
xor
Package xor provides some light-weight screening of lower sensitivity data.
Package xor provides some light-weight screening of lower sensitivity data.

Jump to

Keyboard shortcuts

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