Code Monkey home page Code Monkey logo

mku11 / salmon-aes-ctr Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 45.11 MB

Salmon is an AES-256 encryption library with built-in integrity, parallel operations, and seekable stream support. It provides a high level API for encrypting data, streams, and a virtual drive API for encrypting files. Salmon is powered by a fast native library for Intel x86_64 and ARM64.

Home Page: https://github.com/mku11/Salmon-AES-CTR/tree/main

License: MIT License

C# 52.99% Java 45.64% CMake 0.05% C 1.01% Batchfile 0.05% CSS 0.06% C++ 0.15% Dockerfile 0.05%
java c csharp aes-ni intrinsics arm64 hmac-sha256 javafx x86 android

salmon-aes-ctr's People

Contributors

mku11 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

yangboyd

salmon-aes-ctr's Issues

Threads are not calculated correctly for multi processing

The number of threads for multiprocessing is undercalculated. For example when the threads passed are 2 the partitioning of the data is defensive and always assigns a single thread. As a workaround for now is to pass threads: 3 or more.
This affects the following:
SalmonEncryptor
SalmonDecryptor
SalmonFileImporter
SalmonFileExporter

Clone Vault

  • ability to clone a vault
  • split nonce sequence for every clone
  • handshake with a unique code generated when importing a cloned vault to prevent multiple copies
  • migrate config file to xml in a private space per OS/platform

Replace Package Querying with DocumentProvider

Querying packages in Android and explicitly sharing files could be replace with a less intrusive DocumentProvider which will provide a virtual filesystem to the file picker for other apps to use.

Linux Support

Include Linux dynamic libraries in Salmon.Linux.Native with clang/gcc.
Library support for both .Net Core on Linux and Mono.

For Salmon Vault UI there are these options for now:

  • C# with GtkSharp
  • Java with JavaFx

Salmon Vault app file sharing for platforms other than Android

Android (and iOS) provide per app security model which allows us to implement app file sharing via a file provider.
This is an exploratory item for other platforms although very challenging admittedly for Windows where ACL is not as supportive as Android wrt application/process. The idea is to provide file sharing to an arbitrary app selected by the user at the same time prevent access to other apps.

Typescript/Javascript port for Core

Port Core and FS libraries to javascript.

Native wasm library:
Prior to providing a corresponding native WASM library with AES-NI see that the default SubtleCrypto on popular browsers is not fast enough so to justify the work.

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.