Source: http://www-cs-students.stanford.edu/~tjw/jsbn/
Jsbn Biblioteca este o implementare rapida, portabil de mare număr de matematica pură în JavaScript, care să permită publice-cheie cripto şi alte aplicaţii de pe desktop si browsere mobile.
jsbn bibliotecă se aseamana mult că a
java.math.BigInteger clasă în Java. De exemplu:
x = new BigInteger ("abcd1234", 16);
y = new BigInteger ("carne de vită", 16);
z = x.mod (y);
alert (z.toString (16));
va imprima b60c.
jsbn.js - de bază BigInteger punerea în aplicare, suficienta pentru criptare RSA, şi nu mult mai mult.
jsbn2.js - restul de bibliotecă, inclusiv majoritatea publice BigInteger metode.
rsa.js - punerea în aplicare de criptare RSA, nu are nevoie de jsbn2.js.
rsa2.js - restul de algoritm RSA, inclusiv decriptare şi keygen.
ec.js - matematica curbe eliptice, depinde atât jsbn.js şi jsbn2.js
sec.js - standard de parametri eliptic curba
rng.js - colector rudimentare entropie şi interfaţă RNG, necesită o backend prng pentru a defini prng_newstate ().
prng4.js - ARC4 pe bază de backend prng pentru rng.js, foarte mici.
base64.js - Base64 codare şi decodare rutine.
sha1.js - SHA-1 funcţie hash, necesară doar pentru demo IBE.
$ Openssl genrsa-out key.pem cheie Generarea privată RSA, 512 bit lung modul ..++++++++++++ ..............++++++++++++ e este 65537 (0x10001) $
$ Openssl RSA-in-key.pem noout
testare), în "plaintext (string)" câmp şi faceţi clic pe "cripta". Rezultatul ar trebui să apară în "cifrat" câmpuri.
$ Openssl-base64 d | openssl rsautl-inkey key.pem-decripta 1JW24UMKntVhmmDilAYC1AjLxgiWHBzTzZsCVAejLjVri92abLHkSyLisVyAdYVr fiS7FchtI9vupe9JF/m3Kg ==Hit Ctrl-D sau indiferent de sistemul de operare foloseste pentru end-of-file. Plaintext dvs. iniţială ar trebui să apară:
Testarea $
jsbn efectuarea operaţiunilor de tip public-cheie, cum ar fi RSA, ECC, şi IBE.
pătrat metodă de a îmbunătăţi performanţa ECC.
isProbablePrime
jsbn este lansat sub o licenţă BSD. A se vedea LICENTA pentru detalii.