Ed25519 signing and verification applet.

Overview

Ed25519 Applet

Live demo: https://cyphr.me/ed25519_applet/ed.html

This tool can run locally and offline

git clone this project to a local directory.

git clone https://github.com/Cyphrme/ed25519_applet.git

Then, in your web browser, use file:// to load ed.html

file:///pathToDirectory/ed.html

Signing and verification tool for Ed25519

  • Sign a message.
  • Verify a signature.
  • Generate a public key from seed.
  • Generate a new random public/private key pair and seed.

Supported formats:

Messages: Base64, Hex, and Text (Bytes). Keys: Base64 and Hex.

Naming Differences in Implementations

Many libraries, including this tool, refer to what the RFC calls "private key" as the "seed" (like Go ). The 32 byte seed is used to generate the private component "secret scalar s", the public key, and the "prefix" (nounce).

The "actual" private component (secret scalar s as named by the RFC (Section 5.1.5.3)) is typically regenerated from seed on signing, although it is possible to use secret scalar s and prefix to sign without the seed. The public component is computed from "secret scalar s", but prefix is generated from seed and is used for signing. NaCL used to return the private key as secret scalar s concatenated with prefix . Instead of requiring secret scalar s and prefix for signing, most libraries required seed and regenerate both secret scalar s and prefix from seed, and optionally cache the public key.

What some libraries call the "private key" (64 bytes) is the seed (32 bytes) concatenated with the public key (32 bytes). (Caching the public key precludes relatively slow regeneration when signing.)

TODO

Ed25519ph

paulmillr/noble-ed25519#63

Paul's Noble library currently only supports "PureEdDSA" and does not support Ed25519ph ("pre-hashed"). We are waiting for it to be supported before we can implement it.

Generate from seed "secret scalar s" and permit input from sss || prefix

It would be nice to output "secret scalar s" || "prefix" and accept it as input as well. See paulmillr/noble-ed25519#64. It would require additional code to Noble since sss || prefix is not a possible input, assuming seed is not given.

We might never do this if there's no use for it among all modern tools.

Dist

noble-ed25519.js is taken directly from Noble and may be used in other applications. See also join.js.

Other ed25519 resources:

Attribution

Implemented using noble/ed25519: https://github.com/paulmillr/noble-ed25519

"Cyphr.me" is a trademark of Cypherpunk, LLC. The Cyphr.me logo is all rights reserved Cypherpunk, LLC and may not be used without permission.

Keywords

Ed25519 test page, Ed25519 online tool.

You might also like...

A web app designed to keep track of activities that are done and those that are and not done. Users can add, delete, mark as completed and update the activities. Built with Javscript, html, css and webpack.e your activites

ToDoListApp A web app designed to help web keep track of activities that are done and those that are still pending. Users can add, delete, mark as com

Dec 23, 2022

Tiny JavaScript library (1kB) by CurrencyRate.today, providing simple way and advanced number, money and currency formatting and removes all formatting/cruft and returns the raw float value.

Zero dependency tiny JavaScript library (1kB bytes) by CurrencyRate.today, providing simple way and advanced number, money and currency formatting and removes all formatting/cruft and returns the raw float value.

Nov 8, 2022

A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Oct 13, 2022

"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. It is created with HTML , CSS , JS and webpack and NPM.

My Todo List "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as com

Mar 29, 2022

๐Ÿš€ A web extension starter built with React, Typescript, and Tailwind CSS. Build once, and run on multiple browsers: Google Chrome, Mozilla Firefox, Microsoft Edge, Brave, and Opera..

๐Ÿš€ A web extension starter built with React, Typescript, and Tailwind CSS. Build once, and run on multiple browsers: Google Chrome, Mozilla Firefox, Microsoft Edge, Brave, and Opera..

Web Extension Starter A web extension starter, built with React, Typescript, and Tailwind CSS. Build once, and run on multiple browsers: Google Chrome

Dec 28, 2022

This Application provides basic authentication features like you can register and create account and then login and access your profile.

  This Application provides basic authentication features like you can register and create account and then login and access your profile.

Authentication API This Application provides basic authentication features like you can register and create account and then login and access your pro

Jan 17, 2022

Look up a city and get back weather forecast for searched city and top News headline related to that city and an interactive map which shows the location of that city.

Look up a city and get back weather forecast for searched city and top News headline related to that city and an interactive map which shows the location of that city.

WeatheredVibes Description As a user I want to look up a city to get the current weather and suggested current news articles based on the location sea

Mar 12, 2022
Comments
  • Support ECDSA (ES256, ES384, ES512)

    Support ECDSA (ES256, ES384, ES512)

    Don't worry about ES192 or ES224 since Javascript won't support it without an outside library.

    Probably use Cozejs's cryptokey.js

    https://github.com/Cyphrme/Cozejs/blob/master/cryptokey.js

    enhancement good first issue help wanted 
    opened by zamicol 0
  • Support Ed25519ph

    Support Ed25519ph

    Paul currently supports Ed25519. We're hoping Paul will implement Ed25519ph soon: https://github.com/paulmillr/noble-ed25519/issues/63

    The W3C Web Cryptography API recommendation also omits Ed25519, so an external package that implements the Ed25519 primitive is used. The upcoming update FIPS 186-5 specifies Ed25519 support. (https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5-draft.pdf, section 7.8) Hopefully this will motivate Javascript to include Ed25519.

    See also:

    • https://github.com/Cyphrme/Cozejs/issues/2
    • https://cyphr.me/ed25519_tool/ed.html
    • https://github.com/Cyphrme/ed25519_tool
    enhancement good first issue help wanted 
    opened by zamicol 0
Releases(v0.0.1)
  • v0.0.1(Sep 30, 2022)

๐Ÿ” Full stack engineers archive applet for Wechat.

Full Stack Engineers Archive Contributing We welcome you to join the development of this applet. Please see contributing document. ?? Also, we welcome

Wechat applet Development Team 3 May 24, 2022
Using UnoCSS in Applet(UniApp...)

unocss-applet Using UnoCSS in Applet(UniApp...). Presets and Plugins @unocss-applet/preset-applet - The default preset (right now it's equivalent to @

null 33 Jan 2, 2023
Zero-Knowledge OTP verification on chain

zkOTP: Zero-Knowledge OTP verification on chain Motivation Inspired by SmartOTP and Modulo's 1wallet, a zkOTP solution can manage access to a smart co

drCathieSo.eth 15 Dec 22, 2022
โœ…โŽ A lightweight image rotation verification plugin.

RVerify.js โœ… โŽ A lightweight image rotation verification plugin. Installation Add RVerify.js and RVerify.css to your project. <script src="RVerify.js"

Feng L.H. 44 Dec 6, 2022
Playful and Colorful One-Page portfolio featuring Parallax effects and animations. Especially designers and/or photographers will love this theme! Built with MDX and Theme UI.

Gatsby Starter Portfolio: Cara Playful and Colorful One-Page portfolio featuring Parallax effects and animations. Using the Gatsby Theme @lekoarts/gat

prashanth s 1 Dec 24, 2021
Recompo is a free and open-source project that is designed for customizability and speed and is easy to use and powerful.

About Recompo is a free and open-source project that is designed for customizability and speed and is easy to use and powerful Installation recompo is

recompo 4 Mar 20, 2022
A quick and easy to use security reconnaissance webapp tool, does OSINT, analysis and red-teaming in both passive and active mode. Written in nodeJS and Electron.

แต”แดฅแต” RedJoust A quick and easy to use security reconnaissance webapp tool, does OSINT, analysis and red-teaming in both passive and active mode. Writte

Dave 17 Oct 31, 2022
An app to manage tasks. A user can add, delete and edit a task and mark it as completed, It uses simple GUI and relies on DOM manipulation in pure JS and using local storage.

An app to manage tasks. A user can add, delete and edit a task and mark it as completed, It uses simple GUI and relies on DOM manipulation in pure JS and using local storage.

KHITER Mohamed Achraf 6 Aug 20, 2022