Giter Club home page Giter Club logo

cipher's People

Contributors

ivan-zaera avatar izaera avatar stevenroose avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cipher's Issues

Let initCipher() be called several times

If you call initCipher() more than once an exception is thrown. This should be fixed as discussed here: [https://groups.google.com/a/dartlang.org/d/topic/misc/_ko-kPSmvPc/discussion]

Refactor the factories

Create an ext.dart library with the API for extending cipher (so that it does not appear in api.dart).

Refactor factories as a class instead of many hashmaps and functions.

This will make, IMO, things clearer and easier to use and maintain.

implement scrypt

Feature request. Scrypt is a key deriviation function often used in the light of cryptocurrencies.
A Java implementation of scrypt can be found ar BouncyCastle: org.bouncycastle.crypto.generators.SCrypt

It's not possible to compress an ECPoint (using Fp) like it is in BouncyCastle

Did you skip the ECPoint.Fp() method from BouncyCastle on purpose?

There is currently no way to compress an ECPoint, neither using the ECPoint or the ECCurve class.

If compression can be achieved using the ECPoint.createPoint(BigInteger x, BigInteger y, [bool withCompression = false]) method by using uncompressed x and y and setting the flag to true (which I doubt), please specify it in the documentation.

RSA signing

This is a feature request to have an RSA signing algorithm. Specifically, I need to be able to:

  • create an RSA public and private key
  • send a client the public key
  • given a token from the client, sign it with my private key

Thanks!

a way to encrypt/decrypt data of arbitrary length

BC uses a CipherStream, I think.

I'm not sure if Dart has something as a ByteStream that could be underlying this. But it might be cumbersome to split your input data into multiple blocks to use the processBlock() method.

I'm not sure of a Uint8List BlockCipher.processData(Uint8List input) is possible?

Adapt to Dart 1.0 release

Now is the time to get your package ready for Dart's release.

If you author Dart packages hosted on pub.dartlang.org, please read on for this important call for participation.

Hello Dart package authors! Time to test and stabilize your packages, and get ready for Dart 1.0. Wait, what?! 1.0? Forealz? Not yet, but soon. You can help the community, and new users, have a successful 1.0 launch by following these steps:

  1. Please update your Dart Editor and SDK to 0.8.10+8 or later.

  2. Update your library's pubspec.yaml with specific version constraints. Please add:

environment:

sdk: ">=0.8.10+6 <2.0.0"

If your package depends on packages produced by the Dart team, like "args", "unittest", "polymer", etc, please use these specific lower and upper bounds:

analyzer: >=0.10.1 < 0.11.0

everything else: >=0.9.0 < 0.10.0

These specific versions protect your package, and more importantly your users, in the face of potential breaking changes in dependencies. Sometime after the 1.0 launch, each package will get its own release cadence.

That's right, the days of 'any' for library packages are over. With a stable SDK, there's no reason to force your users to live on the bleeding edge. Let's all stabilize the Dart community by specifying version dependencies for our libraries.

  1. Test your package, and fix any breaks.

  2. Bump the version of your package.

If your package is >=1.0: Add +1.0.0 if you introduced a breaking change, add +0.1.0 if you added a feature (and it does not break existing users), or add +0.0.1 if it is a bugfix.

if your package is <1.0: technically anything less than 1.0 can break at any time. However we have found the following scheme is helpful to users of your package: add +0.1.0 if it is a breaking change, otherwise add +0.0.1. If you follow this scheme, let your users know!
  1. Publish to pub.dartlang.org! Give yourself a high five for helping launch Dart.

Thank you for your early support and your help to get ready for the launch.

Split impl.dart into client and server parts (was 'dart:io dependency in v0.5.0')

We're using this package in the context of a web app (actually a chrome app). The latest version has introduced a dependency on dart:io. We've temporarily pegged our version dependency at 0.4.0.

packages/cipher/entropy/url_entropy_source.dart:9:8: Error: Library not found 'dart:io'.
import "dart:io";

Any chance this dart:io dependency could be removed, or only included from a cipher_io.dart entry-point?

Use bignum package for BigInteger

Currently I'm used a modified version internally added to cipher of that library. The patches I've made should be transferred to bignum and cipher should rely on that lib.

Refactor tests

Refactor tests to create generic tests based on BlockCipher, StreamCipher, Digest, etc. interfaces.

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.