Giter VIP home page Giter VIP logo

encryption-suite's Introduction

Hi there ๐Ÿ‘‹

  • ๐ŸŒฑ Iโ€™m currently working with Go, C# and a lot of other tech
  • ๐Ÿ“ซ How to reach me: https://threema.id/BADRYXZZ
  • ๐Ÿ’พ Send me files: age -r age1pn8ewlyj8wsvq92668arf9ln0egsygraksp79f4ga062w97w2ves7w255y -o .\content.txt.age .\content.txt and https://wormhole.app/
  • โœ๏ธ Github releases are signed with RWS6WvbGy1Vj62jz6zVQfFIy+gcXJVK1nyGOZxpOLOIQmhTziYNk9B/g (minisign)

Proof signature

minisign -VP RWS6WvbGy1Vj62jz6zVQfFIy+gcXJVK1nyGOZxpOLOIQmhTziYNk9B/g -m file.bin

encryption-suite's People

Contributors

dhcgn avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

encryption-suite's Issues

Add missing unit tests

public static DecryptInfo Decrypt(string inputPath, string outputPath, string password, Action<double> progress = null, Func<bool> isCanceled = null)
public static void Encrypt(string inputPath, string outputPath, EncryptionParameter parameter)
DecryptInfo Decrypt(string inputPath, string outputPath, DecryptionParameter parameter)

add powershell module

Add a powershell module with this features:

  • Symmetric Encryption
    • Password based encryption
  • Hybrid Encryption
    • Public Key in ANS1
    • Cred. obj. for PIN
  • Report progress

no file io during encryption/decryption

At the moment a temporal file is written (and deleted) at each encryption/decryption operation.

  • No filesystem io during encryption/decryption

Actual

Because we know the HMAC after encryption, the InformationContainer can only be serialized at this moment. This ensures that this poor design has been implemented for the first prototype.

----------
File Signature
---------
Length of Serialized ProtoBuf 
---------
Serialized ProtoBuf (see InformationContainer)
    - among other things the HMAC
---------
Encrypted Data
---------
[ProtoContract]
internal class InformationContainer : ProtoBase<InformationContainer>
{
	[ProtoMember(1)]
	public PublicInformation PublicInformation { get; set; }

	[ProtoMember(2)]
	public PasswordDerivationSettings DerivationSettings { get; set; }

	[ProtoMember(3)]
	public byte[] SecretInformationData { get; set; }

	[ProtoMember(4)]
	public EllipticCurveEncryptionInformation EllipticCurveEncryptionInformation { get; set; }
}

Ideas

  1. Don't put the HMAC in the InformationContainer.
    e.g.
----------
File Signature
---------
Length of Serialized ProtoBuf 
---------
Serialized ProtoBuf (see InformationContainer)
---------
HMAC
---------
Encrypted Data
---------

FileCargo should be named different

The type FileCargo does contain optional information for the decryption process.
Name is inadequately for its usage.

  • Change name
  • Update proto files
  • Update readme.md

program flow clearly arranged

Current state is confusing.

  • Key derivation
  • Meta information (private data)
  • Crypto information (public data)
  • Hybrid encryption

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.