Socket
Socket
Sign inDemoInstall

jsbn

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsbn

The jsbn library is a fast, portable implementation of large-number math in pure JavaScript, enabling public-key crypto and other applications on desktop and mobile browsers.


Version published
Maintainers
1
Weekly downloads
28,063,235
increased by0.55%
Install size
46.6 kB

Weekly downloads

Package description

What is jsbn?

The jsbn npm package is a library that implements big number arithmetic and RSA encryption. It is useful for cryptography and other applications that require manipulation of large integers that are beyond the native JavaScript Number limit.

What are jsbn's main functionalities?

Big Number Arithmetic

This feature allows for the addition, subtraction, multiplication, division, and modulus operations on large integers.

var BigInteger = require('jsbn').BigInteger;
var a = new BigInteger('91823918239182398123');
var b = new BigInteger('98237283728372873232');
var sum = a.add(b); // Addition
var difference = a.subtract(b); // Subtraction
var product = a.multiply(b); // Multiplication
var quotient = a.divide(b); // Division
var remainder = a.mod(b); // Modulus

RSA Encryption

This feature allows for RSA encryption and decryption, which is useful for secure data transmission.

var BigInteger = require('jsbn').BigInteger;
var RSAKey = require('jsbn').RSAKey;
var key = new RSAKey();
key.setPublic('...public exponent...', '...modulus...');
var encrypted = key.encrypt('text to encrypt');
key.setPrivate('...modulus...', '...public exponent...', '...private exponent...');
var decrypted = key.decrypt(encrypted);

Other packages similar to jsbn

Readme

Source

jsbn: javascript big number

Tom Wu's Original Website

I felt compelled to put this on github and publish to npm. I haven't tested every other big integer library out there, but the few that I have tested in comparison to this one have not even come close in performance. I am aware of the bi module on npm, however it has been modified and I wanted to publish the original without modifications. This is jsbn and jsbn2 from Tom Wu's original website above, with the module pattern applied to prevent global leaks and to allow for use with node.js on the server side.

usage

var BigInteger = require('jsbn').BigInteger;

var bi = new BigInteger('91823918239182398123');
console.log(bi.bitLength()); // 67

API

bi.toString()

returns the base-10 number as a string

bi.negate()

returns a new BigInteger equal to the negation of bi

bi.abs

returns new BI of absolute value

bi.compareTo

bi.bitLength

bi.mod

bi.modPowInt

bi.clone

bi.intValue

bi.byteValue

bi.shortValue

bi.signum

bi.toByteArray

bi.equals

bi.min

bi.max

bi.and

bi.or

bi.xor

bi.andNot

bi.not

bi.shiftLeft

bi.shiftRight

bi.getLowestSetBit

bi.bitCount

bi.testBit

bi.setBit

bi.clearBit

bi.flipBit

bi.add

bi.subtract

bi.multiply

bi.divide

bi.remainder

bi.divideAndRemainder

bi.modPow

bi.modInverse

bi.pow

bi.gcd

bi.isProbablePrime

Keywords

FAQs

Last updated on 13 Feb 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc