noble-secp256k1
Ed25519Tool
noble-secp256k1 | Ed25519Tool | |
---|---|---|
3 | 5 | |
696 | 20 | |
- | - | |
7.5 | 5.6 | |
13 days ago | 8 months ago | |
JavaScript | JavaScript | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
noble-secp256k1
-
A beginner's guide to constant-time cryptography (2017)
I noticed in July of 2022 that Go did exactly the vulnerable example and reported it to the security team.
https://github.com/golang/go/issues/53849
It was fixed as of Go 1.21 https://go.dev/doc/go1.21
---
The article cites JavaScript, which is not constant time. There's no sure way to do constant time operations in JavaScript and thus no secure way to do crypto directly in Javascript. Browsers like Firefox depend on low level calls which should be implemented in languages that are constant time capable.
JavaScript needs something like constant time WASM in order to do crypto securely, but seeing the only constant time WASM project on GitHub has only 16 stars and the last commit was 2 years ago, it doesn't appear to have much interest. https://github.com/WebAssembly/constant-time
However, for JavaScript, I recommend Paul's library Noble which is "hardened to be algorithmically constant time". It is by far the best library available for JavaScript. https://github.com/paulmillr/noble-secp256k1
- Noble Cryptography
- How to encrypt data in JS using a library
Ed25519Tool
-
Show HN: Non.io, a Reddit-like platform Ive been working on for the last 4 years
I'm concerned about the `#` character in the URL.
# means fragment and that's kept local and not sent to the server unless client side Javascript sends it to the server. I would use an identifier that doesn't already mean something to the URL.
See https://github.com/Cyphrme/URLFormJS#query-parameters-fragme... (Also see https://github.com/Cyphrme/Path)
For an example where this is relevant: https://cyphr.me/ed25519_tool/ed.html#?msg_encoding=Text&msg...
And see https://www.rfc-editor.org/rfc/rfc3986#section-3.5
-
r/Crypto, can you help take down an evil tool that's stealing people's private keys?
For browsers this problem is partially solved as subresources may be integrity checked. Further, there have been proposals like DOMTegrity, that provides a complete solution. For now, yes, full integrity checking isn't done automatically in browser, but it may be done automatically using git or manually as is normally done for any software downloaded not using a package manager or git.
-
Daily General Discussion - September 30, 2022
The only reason the evil tool is now the second result is because this backdoor angered me so much I created the (now) #1 tool, that runs in browser, never sends off keys, and is fully open source. Feel free to click on that one all you want and star it on Github. Just practicing, "cypherpunks write code". 😉
-
Ed25519 Online Tool - Sign, Verify, and Generate Ed25519 Keys.
git clone https://github.com/Cyphrme/ed25519_applet.git
What are some alternatives?
javascript-obfuscator - A powerful obfuscator for JavaScript and Node.js
tweetnacl-js - Port of TweetNaCl cryptographic library to JavaScript
zkp-ecdsa - Proves knowledge of an ECDSA-P256 signature under one of many public keys that are stored in a list.
constant-time - Constant-time WebAssembly
elliptic - Fast Elliptic Curve Cryptography in plain javascript
chains - provides metadata for chains
secp256k1-voi - High assurance Go secp256k1 (Mirror)
node-rsa - Node.js RSA library
trezor-suite - :candy: Trezor Suite Monorepo
Path - A more robust URI naming scheme
VulnTLS - Collection of TLS vulnerabilities ready to be exploited.
nonio