A JavaScript SRP-6a implementation compatible with opencoff/go-srp.

Overview

js-srp

This is an implementation of the SRP-6a protocol with modifications to provide compatibility with opencoff/go-srp. These differences are quoted here, from the opencoff/go-srp README.

Differences from SRP-6a and RFC 5054

We differ from the SRP-6a spec and RFC 5054 in a couple of key ways:

  • We hash the identity I; this provides some (minimal) protection against dictionary attacks on the username.
  • We hash the user passphrase p; this expands shorter passphrase into longer ones and extends the alphabet used in the passphrase.
  • We differ from RFC 5054 in our choice of hash function; we use Blake-2b. SHA-1 is getting long in the tooth, Blake2b is the current state-of-the art. Equivalently, one may use SHA3 (see below for using a user supplied hash function).

The only difference is that Blake2b is not supported because it is not offered by WebCrypto; instead, you can choose between the overlapping supported hash functions between opencoff/go-srp and WebCrypto.

Currently, only client functionality is implemented.

This library does not have any external runtime dependencies. It requires a JavaScript runtime that supports w3c Typed Arrays, BigInt, and WebCrypto, which includes the majority of web browsers and JavaScript engines.

You might also like...

Multi-chain sniper bot to buy and sell tokens on ETH compatible chains. Features include instant or mempool sniping, rug protection, and sell management.

Multi-chain sniper bot to buy and sell tokens on ETH compatible chains. Features include instant or mempool sniping, rug protection, and sell management.

An open-source defi sniper. defi-sniper is free to download. NEW Community telegram group: https://t.me/+aBLUmP1UnypiNTVh Premium Services Now Availab

May 3, 2022

Rebase.co for German GmbH's. Flip your German GmbH to Delaware to be venture-compatible

πŸ‡©πŸ‡ͺ πŸ‡ΊπŸ‡Έ FlipGmbH Rebase.co for German GmbH's. Flip your German GmbH to a Delaware C-Corp to be compatible for international venture funding. Inspire

Aug 19, 2022

Color palette text parser to a function, compatible with GMT, GDAL, GRASS, PostGIS, ArcGIS

cpt2js Color palette text parser to a function, input compatible with GMT, GDAL, GRASS, PostGIS, ArcGIS Demo From GDAL docs: The text-based color conf

Dec 4, 2022

Hashlips NFT Mint Dapp modified by fazelpejmanfar (Compatible with ERC721A)

Hashlips NFT Mint Dapp modified by fazelpejmanfar (Compatible with ERC721A)

Welcome to HashLips πŸ‘„ All the code in these repos was created and explained by HashLips on the main YouTube channel. Edited By Fazel Pejmanfar and co

Nov 30, 2022

Generate type definitions compatible with @kintone/rest-api-client

Generate type definitions compatible with @kintone/rest-api-client

kintone-form-model-generator Generate type definitions compatible with @kintone/rest-api-client Prerequirements Node.js (=12) Install # Install npm i

Dec 15, 2022

Browser library compatible with Node.js request package

Browser Request: The easiest HTTP library you'll ever see Browser Request is a port of Mikeal Rogers's ubiquitous and excellent [request][req] package

Nov 11, 2022

chain-syncer is a module which allows you to synchronize your app with any ethereum-compatible blockchain/contract state. Fast. Realtime. Reliable.

Chain Syncer Chain Syncer is a JS module which allows you to synchronize your app with any ethereum-compatible blockchain/contract state. Fast. Realti

Dec 15, 2022

An Ethereum-compatible blockchain with a giant capacity for storage

goliath The Goliath blockchain is an Ethereum L2 with a giant capacity. For devs, it means you'll never need another chain. No bridges, no new languag

Dec 23, 2022

Typescript package compatible with python's pickle loads/dumps

picklefriend Typescript package compatible with python's pickle loads/dumps Installation npm i picklefriend Usage import { pickle } from 'picklefriend

Oct 27, 2022
Releases(v0.0.2)
  • v0.0.2(Dec 9, 2022)

    • Added stub examples.
    • Added support for SRP Tools compatibility.
    • Added test for SRP Tools compatibility.
    • Improved environment support: Node.JS CommonJS, Node.JS ES Modules, and Browser ES Modules should all work out of the box using a bare module import.
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1(Sep 25, 2022)

    There are still no tests or examples, and the server portion of SRP is not implemented. This library should probably not be used in production :)

    Source code(tar.gz)
    Source code(zip)
Owner
No REST for the wicked.
null
A simple javascript library for pagination, compatible with Bootstrap.

Easy Pagination JS A simple library for pagination, compatible with Bootstrap. Check my website here. Demo Check this Demo here. Example Import the fi

Wilfredo Paiz 18 Aug 5, 2022
Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API

Zepto.js – a minimalist JavaScript library Zepto is a minimalist JavaScript library for modern browsers with a largely jQuery-compatible API. If you u

Thomas Fuchs 15k Dec 31, 2022
Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software.

Jspreadsheet CE v4: The JavaScript spreadsheet Jexcel CE has been renamed to Jspreadsheet CE News Important: Please import jspreadsheet.css (jexcel.cs

null 6.2k Dec 19, 2022
πŸ“ A multiselect component in Pure JS - Compatible with IE11

Iconic Multiselect A multiselect component written in pure JavaScript - Also compatible with IE11 Default template: Custom template: ?? Try live demo

Sidney Wimart 8 Aug 31, 2022
zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

Marto.eth 10 Aug 25, 2022
esbuild plugin to generate mix-manifest.json file compatible with Laravel Mix.

esbuild-mix-manifest-plugin An esbuild plugin to generate a mix-manifest.json compatible with Laravel Mix. Installation You can install the plugin via

Stefan Zweifel 6 Dec 25, 2022
Exports a JPDB deck to a Yomichan compatible frequency list.

JPDB Frequency List A frequency list generated using most of the jpdb corpus can be found in the releases. It is not exhaustive, as there is no deck a

marv 17 Nov 16, 2022
Making webshell and terminal supports trzsz ( trz / tsz ), which similar to rz / sz, and compatible with tmux.

trzsz.js Making webshell and terminal supports trzsz ( trz / tsz ), which similar to ( rz / sz ), and compatible with tmux. Why? Considering laptop ->

null 95 Jan 3, 2023
Spiner bot to buy and sell tokens on ETH and ERC compatible chains as soon as liquidity is added and trade is enabled.

An open-source defi sniper. open-sniper is free to download. Premium Services Now Available While open-sniper is free and open-source, if you want the

spacemonk 4 Apr 21, 2022
A Multichain crypto wallet library that supports Ethereum, Solana and other EVM compatible blockchains.

Multichain Crypto Wallet A Multichain crypto wallet library that supports Ethereum, Solana and other EVM compatible blockchains. Installation npm inst

Abdulfatai Suleiman 117 Jan 2, 2023