Code Monkey home page Code Monkey logo

cipha's Introduction

Cipha

Lightweight cryptography library

It is currently under active development. Do not use for actual applications.

Cipha is a portable link library. Some of the goals are:

  • making a reusable library for other projects
  • providing an easy interface for interacting with various cryptographic functions

Stuff I want to add in the future:

  • a random sorting mechanism
  • different implementations of file-wiping algorithms
  • hdd-wiping functions
  • support for one-time pads
  • support for HMACs
  • factories for creating pre-defined ciphers of similar cryptographic stength
  • possible (ssl) networking support for file and/or message transfers
  • documentation :^)

I am not building my own cryptographic functions, I am relying on the cryptographic implementation of .NET

To take a deeper look on how to use it, simply browse the wiki or go through the unit tests. Each class has its own Test class, settled in a folder structured which is built parallel to the source code.

cipha's People

Contributors

mitgenosse avatar

Watchers

 avatar

cipha's Issues

Support Hash-based Message Authentication Code

Implement support for HMACs to provide another way for message authentication, integrity checking and everything else provided by signatures.

Hint: Possible interface to support is  System.Security.Cryptography.KeyedHashAlgorithm

KeyPacker for securing symmetric keys

There is currently no support for handling keys like the AsymmetricCiphers ToEncryptedXmlString/FromEncryptedXmlString methods provide.

The "packer" should be able to en/decrypt the symmetric key using public and private key cryptography.

Implement second hasher

The current GenericHasher creates a new instance every time it is used. This is not great performance-wise.

Implement a new class for hashing, likewise SymmetricCipher.

Add disposeAlgorithm

When passing a reference to another cipher (AesManaged or similar), one should be able to specify if the reference shall also be disposed.

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.