├── .aegir.js ├── .github ├── dependabot.yml └── workflows │ ├── automerge.yml │ ├── js-test-and-release.yml │ ├── semantic-pull-request.yml │ └── stale.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benchmark ├── ed25519 │ ├── compat.cjs │ ├── index.js │ └── package.json ├── ephemeral-keys.cjs ├── key-stretcher.cjs └── rsa.cjs ├── package.json ├── src ├── aes │ ├── cipher-mode.ts │ ├── ciphers-browser.ts │ ├── ciphers.ts │ └── index.ts ├── ciphers │ ├── aes-gcm.browser.ts │ ├── aes-gcm.ts │ └── interface.ts ├── hmac │ ├── index-browser.ts │ ├── index.ts │ └── lengths.ts ├── index.ts ├── keys │ ├── ecdh-browser.ts │ ├── ecdh.ts │ ├── ed25519-browser.ts │ ├── ed25519-class.ts │ ├── ed25519.ts │ ├── ephemeral-keys.ts │ ├── exporter.ts │ ├── importer.ts │ ├── index.ts │ ├── interface.ts │ ├── jwk2pem.ts │ ├── key-stretcher.ts │ ├── keys.proto │ ├── keys.ts │ ├── rsa-browser.ts │ ├── rsa-class.ts │ ├── rsa-utils.ts │ ├── rsa.ts │ ├── secp256k1-class.ts │ └── secp256k1.ts ├── pbkdf2.ts ├── random-bytes.ts ├── util.ts └── webcrypto.ts ├── stats.md ├── test ├── aes │ └── aes.spec.ts ├── crypto.spec.ts ├── fixtures │ ├── aes.ts │ ├── go-aes.ts │ ├── go-elliptic-key.ts │ ├── go-key-ed25519.ts │ ├── go-key-rsa.ts │ ├── go-key-secp256k1.ts │ ├── go-stretch-key.ts │ └── secp256k1.ts ├── helpers │ └── test-garbage-error-handling.ts ├── hmac │ └── hmac.spec.ts ├── keys │ ├── ed25519.spec.ts │ ├── ephemeral-keys.spec.ts │ ├── importer.spec.ts │ ├── key-stretcher.spec.ts │ ├── rsa.spec.ts │ └── secp256k1.spec.ts ├── random-bytes.spec.ts ├── util.spec.ts └── workaround.spec.ts └── tsconfig.json /.aegir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.aegir.js -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/automerge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.github/workflows/automerge.yml -------------------------------------------------------------------------------- /.github/workflows/js-test-and-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.github/workflows/js-test-and-release.yml -------------------------------------------------------------------------------- /.github/workflows/semantic-pull-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.github/workflows/semantic-pull-request.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/ed25519/compat.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/ed25519/compat.cjs -------------------------------------------------------------------------------- /benchmark/ed25519/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/ed25519/index.js -------------------------------------------------------------------------------- /benchmark/ed25519/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/ed25519/package.json -------------------------------------------------------------------------------- /benchmark/ephemeral-keys.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/ephemeral-keys.cjs -------------------------------------------------------------------------------- /benchmark/key-stretcher.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/key-stretcher.cjs -------------------------------------------------------------------------------- /benchmark/rsa.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/benchmark/rsa.cjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/package.json -------------------------------------------------------------------------------- /src/aes/cipher-mode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/aes/cipher-mode.ts -------------------------------------------------------------------------------- /src/aes/ciphers-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/aes/ciphers-browser.ts -------------------------------------------------------------------------------- /src/aes/ciphers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/aes/ciphers.ts -------------------------------------------------------------------------------- /src/aes/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/aes/index.ts -------------------------------------------------------------------------------- /src/ciphers/aes-gcm.browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/ciphers/aes-gcm.browser.ts -------------------------------------------------------------------------------- /src/ciphers/aes-gcm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/ciphers/aes-gcm.ts -------------------------------------------------------------------------------- /src/ciphers/interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/ciphers/interface.ts -------------------------------------------------------------------------------- /src/hmac/index-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/hmac/index-browser.ts -------------------------------------------------------------------------------- /src/hmac/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/hmac/index.ts -------------------------------------------------------------------------------- /src/hmac/lengths.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/hmac/lengths.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/keys/ecdh-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ecdh-browser.ts -------------------------------------------------------------------------------- /src/keys/ecdh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ecdh.ts -------------------------------------------------------------------------------- /src/keys/ed25519-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ed25519-browser.ts -------------------------------------------------------------------------------- /src/keys/ed25519-class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ed25519-class.ts -------------------------------------------------------------------------------- /src/keys/ed25519.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ed25519.ts -------------------------------------------------------------------------------- /src/keys/ephemeral-keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/ephemeral-keys.ts -------------------------------------------------------------------------------- /src/keys/exporter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/exporter.ts -------------------------------------------------------------------------------- /src/keys/importer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/importer.ts -------------------------------------------------------------------------------- /src/keys/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/index.ts -------------------------------------------------------------------------------- /src/keys/interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/interface.ts -------------------------------------------------------------------------------- /src/keys/jwk2pem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/jwk2pem.ts -------------------------------------------------------------------------------- /src/keys/key-stretcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/key-stretcher.ts -------------------------------------------------------------------------------- /src/keys/keys.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/keys.proto -------------------------------------------------------------------------------- /src/keys/keys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/keys.ts -------------------------------------------------------------------------------- /src/keys/rsa-browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/rsa-browser.ts -------------------------------------------------------------------------------- /src/keys/rsa-class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/rsa-class.ts -------------------------------------------------------------------------------- /src/keys/rsa-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/rsa-utils.ts -------------------------------------------------------------------------------- /src/keys/rsa.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/rsa.ts -------------------------------------------------------------------------------- /src/keys/secp256k1-class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/secp256k1-class.ts -------------------------------------------------------------------------------- /src/keys/secp256k1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/keys/secp256k1.ts -------------------------------------------------------------------------------- /src/pbkdf2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/pbkdf2.ts -------------------------------------------------------------------------------- /src/random-bytes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/random-bytes.ts -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/util.ts -------------------------------------------------------------------------------- /src/webcrypto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/src/webcrypto.ts -------------------------------------------------------------------------------- /stats.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/stats.md -------------------------------------------------------------------------------- /test/aes/aes.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/aes/aes.spec.ts -------------------------------------------------------------------------------- /test/crypto.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/crypto.spec.ts -------------------------------------------------------------------------------- /test/fixtures/aes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/aes.ts -------------------------------------------------------------------------------- /test/fixtures/go-aes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-aes.ts -------------------------------------------------------------------------------- /test/fixtures/go-elliptic-key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-elliptic-key.ts -------------------------------------------------------------------------------- /test/fixtures/go-key-ed25519.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-key-ed25519.ts -------------------------------------------------------------------------------- /test/fixtures/go-key-rsa.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-key-rsa.ts -------------------------------------------------------------------------------- /test/fixtures/go-key-secp256k1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-key-secp256k1.ts -------------------------------------------------------------------------------- /test/fixtures/go-stretch-key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/go-stretch-key.ts -------------------------------------------------------------------------------- /test/fixtures/secp256k1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/fixtures/secp256k1.ts -------------------------------------------------------------------------------- /test/helpers/test-garbage-error-handling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/helpers/test-garbage-error-handling.ts -------------------------------------------------------------------------------- /test/hmac/hmac.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/hmac/hmac.spec.ts -------------------------------------------------------------------------------- /test/keys/ed25519.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/ed25519.spec.ts -------------------------------------------------------------------------------- /test/keys/ephemeral-keys.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/ephemeral-keys.spec.ts -------------------------------------------------------------------------------- /test/keys/importer.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/importer.spec.ts -------------------------------------------------------------------------------- /test/keys/key-stretcher.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/key-stretcher.spec.ts -------------------------------------------------------------------------------- /test/keys/rsa.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/rsa.spec.ts -------------------------------------------------------------------------------- /test/keys/secp256k1.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/keys/secp256k1.spec.ts -------------------------------------------------------------------------------- /test/random-bytes.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/random-bytes.spec.ts -------------------------------------------------------------------------------- /test/util.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/util.spec.ts -------------------------------------------------------------------------------- /test/workaround.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/test/workaround.spec.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/js-libp2p-crypto/HEAD/tsconfig.json --------------------------------------------------------------------------------