All Projects → secure-io → sio-go

secure-io / sio-go

Licence: MIT License
Authenticated encryption for streams in Go

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to sio-go

Iostreams
IOStreams is an incredibly powerful streaming library that makes changes to file formats, compression, encryption, or storage mechanism transparent to the application.
Stars: ✭ 84 (+300%)
Mutual labels:  encryption, io
core
The XP Framework is an all-purpose, object oriented PHP framework.
Stars: ✭ 13 (-38.1%)
Mutual labels:  streams, io
symmetric-encryption
Symmetric Encryption for Ruby Projects using OpenSSL
Stars: ✭ 454 (+2061.9%)
Mutual labels:  encryption
Effer
Encrypted CLI Notepad written in Rust
Stars: ✭ 12 (-42.86%)
Mutual labels:  encryption
JavaUltimateTools
A Large Repository Of Awesome Code For Java.
Stars: ✭ 24 (+14.29%)
Mutual labels:  encryption
virgil-sdk-net
Virgil Core SDK allows developers to get up and running with Virgil Cards Service API quickly and add end-to-end security to their new or existing digital solutions to become HIPAA and GDPR compliant and more.
Stars: ✭ 16 (-23.81%)
Mutual labels:  encryption
mongoose-field-encryption
A simple symmetric encryption plugin for individual fields. Dependency free, only mongoose peer dependency.
Stars: ✭ 47 (+123.81%)
Mutual labels:  encryption
stellar-android-wallet
An open source Android wallet for Stellar.
Stars: ✭ 31 (+47.62%)
Mutual labels:  encryption
xipher
🔒 Simple perfect xor encryption cipher 🔒
Stars: ✭ 61 (+190.48%)
Mutual labels:  encryption
Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (+328.57%)
Mutual labels:  streams
fluffychat
🐑 Decentralized chat with private messages and rooms. Messages and files are encrypted using RSA
Stars: ✭ 25 (+19.05%)
Mutual labels:  encryption
vector
Virus Ruby
Stars: ✭ 29 (+38.1%)
Mutual labels:  encryption
simple-crypto-js
Simplified AES cryptography for safer and easier encryption and decryption processes of any JavaScript objects.
Stars: ✭ 78 (+271.43%)
Mutual labels:  encryption
eliminate
Delete files and directories without all the bullshit.
Stars: ✭ 51 (+142.86%)
Mutual labels:  io
pakkero
Pakkero is a binary packer written in Go made for fun and educational purpose. Its main goal is to take in input a program file (elf binary, script, even appimage) and compress it, protect it from tampering and intrusion.
Stars: ✭ 143 (+580.95%)
Mutual labels:  encryption
Secure-File-Manager
Secure File Manager is open source file manager for keeping your files in safe.
Stars: ✭ 89 (+323.81%)
Mutual labels:  encryption
php-simple-encryption
The PHP Simple Encryption library is designed to simplify the process of encrypting and decrypting data while ensuring best practices are followed. By default is uses a secure encryption algorithm and generates a cryptologically strong initialization vector so developers do not need to becomes experts in encryption to securely store sensitive data.
Stars: ✭ 32 (+52.38%)
Mutual labels:  encryption
cyphr
Humane encryption
Stars: ✭ 91 (+333.33%)
Mutual labels:  encryption
encrypt0r
App to encrypt and decrypt your files with a passphrase, powered by
Stars: ✭ 26 (+23.81%)
Mutual labels:  encryption
Ogar3
A better version of Ogar
Stars: ✭ 22 (+4.76%)
Mutual labels:  io

Godoc Reference Build Status

Secure IO

The sio package implements provable secure authenticated encryption for continuous byte streams.
It splits a data stream into L bytes long fragments and en/decrypts each fragment with an unique key-nonce combination using an AEAD. For the last fragment the construction prefixes the associated data with the 0x80 byte (instead of 0x00) to prevent truncation attacks.

sio encryption scheme

The sio package follows semantic versioning and hasn't reached a stable v1.0.0, yet. So newer versions may cause major breaking API changes. However, we try to avoid such changes - if not really needed.

How to use sio?

import (
    "github.com/secure-io/sio-go"
)

The sio package provides APIs for en/decrypting an io.Reader or an io.Writer. First, you have to create a Stream instance from a cipher.AEAD and a buffer size. (The buffer size determines the fragment size L). You may want to take a look at this example.

Then you can use the Stream to encrypt resp. decrypt an io.Reader or io.Writer using e.g. the EncryptReader or DecryptWriter methods.

For a comprehensive overview of the API please take a look at godoc.org.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].