Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Non-streaming encryption api #941

Closed
calvinmetcalf opened this issue Feb 24, 2015 · 9 comments
Closed

Proposal: Non-streaming encryption api #941

calvinmetcalf opened this issue Feb 24, 2015 · 9 comments
Labels
crypto Issues and PRs related to the crypto subsystem. feature request Issues that request new features to be added to Node.js. help wanted Issues that need assistance from volunteers or PRs that need help to proceed. stalled Issues and PRs that are stalled.

Comments

@calvinmetcalf
Copy link
Contributor

The steaming format is a poor fit for authenticated ciphers so one idea would be to make a new non streaming api for encryption (maybe just authenticated encryption?) to avoid situations where we are decrypting data we have not authenticated.

This would also allow us to impliment ccw mode which I seem to recall having issues related to needing to know the message length ahead of time.

I can try throwing together a pull if people like this idea.

@mikeal
Copy link
Contributor

mikeal commented Feb 24, 2015

+1

@domenic
Copy link
Contributor

domenic commented Feb 25, 2015

Might be a different issue (maybe spin it off into NG if so) but I'd be curious to see to what extent your thinking aligns with web crypto's APIs.

@calvinmetcalf
Copy link
Contributor Author

I don't think think we need to have such complex key management objects and
I'd probably want the parameters to be slightly more consistent (all in an
object or none in an object), Plus we'd need a synchronous version not just
an async version. I've found, in general, that the subtle crypto api is
way too complex.

On Wed, Feb 25, 2015 at 12:32 AM Domenic Denicola notifications@github.com
wrote:

Might be a different issue (maybe spin it off into NG if so) but I'd be
curious to see to what extent your thinking aligns with web crypto
https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html's
APIs.


Reply to this email directly or view it on GitHub
#941 (comment).

@Fishrock123 Fishrock123 added the crypto Issues and PRs related to the crypto subsystem. label Feb 26, 2015
@calvinmetcalf
Copy link
Contributor Author

wait nope, probably not able to do this myself, don't know enough c++ and got stuck trying to figure out where ctx_ was defined.

@brendanashworth brendanashworth added the feature request Issues that request new features to be added to Node.js. label May 6, 2015
@seishun
Copy link
Contributor

seishun commented Oct 16, 2015

Most of crypto is synchronous. You can just easily write non-streaming wrappers in JS-land. Or are you talking about some specific crypto function where this wouldn't work?

@calvinmetcalf
Copy link
Contributor Author

ccm mode doesn't work currently due to the streaming nature

@Trott
Copy link
Member

Trott commented Jun 25, 2016

Is this basically in a "waiting for someone to implement it" state?

@nodejs/crypto

@bnoordhuis
Copy link
Member

That, and the API needs to be hashed out.

@Trott Trott added stalled Issues and PRs that are stalled. help wanted Issues that need assistance from volunteers or PRs that need help to proceed. labels Jul 8, 2017
@bnoordhuis
Copy link
Member

I'll go ahead and close out this issue. It's been open for 2.5 years with no movement whatsoever; the last comment was my own and that was over a year ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crypto Issues and PRs related to the crypto subsystem. feature request Issues that request new features to be added to Node.js. help wanted Issues that need assistance from volunteers or PRs that need help to proceed. stalled Issues and PRs that are stalled.
Projects
None yet
Development

No branches or pull requests

8 participants