{"_id":"@blockialabs/ssi-crypto","_rev":"8-bfdb0e7e4a3392a245a488bace6c78ae","name":"@blockialabs/ssi-crypto","dist-tags":{"latest":"2.0.8"},"versions":{"2.0.0":{"name":"@blockialabs/ssi-crypto","version":"2.0.0","_id":"@blockialabs/ssi-crypto@2.0.0","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"nx":{"name":"ssi-crypto"},"dist":{"shasum":"77e4e1544d955404063536447d36b127e73c68b3","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.0.tgz","fileCount":41,"integrity":"sha512-ym5NqBoH53CmpmdK8Q5e9Op14MCiFCJNRnD3SDE/FQ/mJNso8pMvLHu1XRC1SThof1POSiNgYF2gKnoynrOw2A==","signatures":[{"sig":"MEUCICp+SDn0w78L8fMhhO/XbfUERV+DcLbQGpLyLwXH3Q4zAiEAypVKsNBc9hEtLzB+B+ZoJZXjm7prSSG3IRPzI56JyoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31224},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"1d934414afd658a43ffe3699784c51869a955851","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"_npmVersion":"10.9.2","description":"This library was generated with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.0","@blockialabs/ssi-storage":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.0_1757410394404_0.6748845188916337","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@blockialabs/ssi-crypto","version":"2.0.1","license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.1","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"nx":{"name":"ssi-crypto"},"dist":{"shasum":"9c0a5bb34bd5f49f6db0259fe9fdc07ca4d31f94","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.1.tgz","fileCount":41,"integrity":"sha512-8AQne8CT3CcCJQ+ByEWKYtRbEm3Kjfz9fiC4Lw0DtPdBRxJHq038ch+o8munpTqApZkHdFtsalXQy3B7PZgGHQ==","signatures":[{"sig":"MEQCIHNJ0znYvL2pkU7WlFRmWcrrr6n7bP8NL6yTb1fhwkJMAiB3BgCXmiNINEnOsuleGilmbCskdU7tvP7EygASeUNdaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"7326fa169b854b03b693d74a22b53491083aeb8a","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"_npmVersion":"10.9.2","description":"This library was generated with [Nx](https://nx.dev).","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.1","@blockialabs/ssi-storage":"2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.1_1757426801397_0.29192287261211636","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@blockialabs/ssi-crypto","version":"2.0.2","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.2","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"nx":{"name":"ssi-crypto"},"dist":{"shasum":"34e95e0688c9739101985458638b99fc326af9f7","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.2.tgz","fileCount":41,"integrity":"sha512-FuD7ognNLE+SALUz56jWoGderrTwhRrBJWOkAyXNEJyxFV95qHMjDyh5kjE7wIimcn2rYGlmOYbszxav9852lw==","signatures":[{"sig":"MEUCIQDkrhV8kFpYvGIdal3FxLsp0KecUmVQrN02XlLqlL+a1AIgG0UrV1UEfnVdhgSbU0hDxaV96gM+aMtvi+82+U7nY2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31844},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"2f8809648b4da5bab2d6740e223630b9b55f7237","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"repository":{"url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","type":"git","directory":"packages/ssi-crypto"},"_npmVersion":"10.9.2","description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.2","@blockialabs/ssi-storage":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.2_1757506745547_0.3183443446075158","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@blockialabs/ssi-crypto","version":"2.0.4","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.4","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"nx":{"name":"ssi-crypto"},"dist":{"shasum":"daee1d64acb9dd822dc6043ae4c2ee0816a4d1d9","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.4.tgz","fileCount":2,"integrity":"sha512-LDyZieGkVZdzj5N/wSo63l9GxPqftNqBh9Fm18zsJBAnnNx9SqkiV+G7RZwMoM32X7KHVBEFeEzzr+FlaxJ1Xw==","signatures":[{"sig":"MEQCIFgtzSK97hznJ6Vy+qFSIz3L5DgS3PXoFWDZr6yev6/ZAiB6QXc7BmQRJGKa1x84Syr3L2Yc0aAv1NbARAiVQ8o1oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockialabs%2fssi-crypto@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4389},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"8955516e01892565319f30209391d5bd17d8277b","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"repository":{"url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","type":"git","directory":"packages/ssi-crypto"},"_npmVersion":"10.8.2","description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.4","@blockialabs/ssi-storage":"2.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.4_1757603904743_0.81973341035145","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@blockialabs/ssi-crypto","version":"2.0.5","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.5","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"nx":{"name":"ssi-crypto"},"dist":{"shasum":"df6422535981aa89a6af8449a159c21f8454cb31","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.5.tgz","fileCount":41,"integrity":"sha512-BdWaM/y3SU2NES0ztZLbs4xuiPXHLYKsVTgHt0xU6YSN9cCkt4ZiTjGY17A36cV846xT0imeCHTZRoucj496lA==","signatures":[{"sig":"MEUCIQDrfUkuvg03Azz3qmpKILtcAywIvZ2mXSx0nTYK37vgcAIgIhG9S1EkY8O6WJjTrzh/bYZfRtFdzJenPKdXKmM/i8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockialabs%2fssi-crypto@2.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"8757f919d7d3e049ed9095c27b0296025488e926","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"repository":{"url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","type":"git","directory":"packages/ssi-crypto"},"_npmVersion":"10.8.2","description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.5","@blockialabs/ssi-storage":"2.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.5_1757610204803_0.250791497965976","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@blockialabs/ssi-crypto","version":"2.0.6","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.6","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"nx":{"name":"ssi-crypto"},"dist":{"shasum":"7680dcbbe63177c7975fbca3babbdfa3b2fea83c","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.6.tgz","fileCount":41,"integrity":"sha512-U01Z/+uaobwvlzNJf1gBDthnmyIzRoVZUvKTZ192mqjxjFTk+gC+DE+QrPtpGUD2hYW2bwStYIZo6sTxvxfx0Q==","signatures":[{"sig":"MEUCIQCjJvX1XA2h5uREgvobS7bL/nbtQGoZiiHMBHq2iH/EIwIgEORuLaD9ZmrS5WZUz7xmDxAiGgmKPojPOV2K10dZCDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockialabs%2fssi-crypto@2.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"2604a08dee38daf8218e9963fb73f5f6114e96e6","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"repository":{"url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","type":"git","directory":"packages/ssi-crypto"},"_npmVersion":"10.8.2","description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.0","@blockialabs/ssi-types":"2.0.6","@blockialabs/ssi-storage":"2.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.6_1757683829777_0.5044581588480452","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@blockialabs/ssi-crypto","version":"2.0.7","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"license":"Apache-2.0","_id":"@blockialabs/ssi-crypto@2.0.7","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"nx":{"name":"ssi-crypto"},"dist":{"shasum":"3bd1fd65d9c5377ce1da5a3ff6458b4d08cea506","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.7.tgz","fileCount":41,"integrity":"sha512-cx+jX+xTVIRBXg/mLhc5D6I20ldg7EKPRtq2IXCEGBbvVgdO8/dxObM40o6UHIO1AG0oaXkfdtaut9hP71ZeCg==","signatures":[{"sig":"MEUCIQC6bqvnC3g6Mr546Q5jPvNS56MuSaxLxk6ngckL90g4xwIgYVFLTyfQO8vrmH0A6FHv9u6LRTh6Lk+DrD7F8ywrJA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockialabs%2fssi-crypto@2.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36036},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"dfcbd422c56abf23c3c7bd3bf2818a1ce03ba7e7","_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"repository":{"url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","type":"git","directory":"packages/ssi-crypto"},"_npmVersion":"10.8.2","description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0","@scure/base":"1.2.6","@noble/curves":"^1.9.6","@blockialabs/ssi-types":"2.0.7","@blockialabs/ssi-storage":"2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ssi-crypto_2.0.7_1758102257577_0.48769540665162037","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@blockialabs/ssi-crypto","version":"2.0.8","license":"Apache-2.0","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"repository":{"type":"git","url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","directory":"packages/ssi-crypto"},"description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"development":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"nx":{"name":"ssi-crypto"},"dependencies":{"@blockialabs/ssi-storage":"2.0.8","@blockialabs/ssi-types":"2.0.8","@noble/curves":"^1.9.6","@scure/base":"1.2.6","tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_id":"@blockialabs/ssi-crypto@2.0.8","gitHead":"ec8efbed31088c87c74972943839d10ef337a4d8","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-L14lu5X1nV4fnDUL6yCYRmGycPNppWItIATzXMJCpw/5+65qxpsp+rig758bvBGtqY9l9krAxFIKBbW899DV+A==","shasum":"2a7f0dc1b5be6aec9feef34713adb282ee4cc273","tarball":"https://registry.npmjs.org/@blockialabs/ssi-crypto/-/ssi-crypto-2.0.8.tgz","fileCount":41,"unpackedSize":36036,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockialabs%2fssi-crypto@2.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC/UoHd2wR7h8inujIWM1ETOiHy7hYAuo1yKf02eXiUOwIgY9BDZtiMaZy1YzUpjnrZjU3aKU0Z9tR4Wg1qDS43+NA="}]},"_npmUser":{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"},"directories":{},"maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssi-crypto_2.0.8_1758625095858_0.7238842367489418"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-09T09:33:14.301Z","modified":"2025-09-23T10:58:16.733Z","2.0.0":"2025-09-09T09:33:14.571Z","2.0.1":"2025-09-09T14:06:41.580Z","2.0.2":"2025-09-10T12:19:05.844Z","2.0.4":"2025-09-11T15:18:24.925Z","2.0.5":"2025-09-11T17:03:25.006Z","2.0.6":"2025-09-12T13:30:29.973Z","2.0.7":"2025-09-17T09:44:17.820Z","2.0.8":"2025-09-23T10:58:16.075Z"},"bugs":{"url":"https://github.com/Blockia-Labs/blockialabs-ssi/issues"},"license":"Apache-2.0","homepage":"https://github.com/Blockia-Labs/blockialabs-ssi/blob/main/packages/ssi-crypto/README.md","keywords":["ssi","verifiable credentials","VC","did","decentralized identity","crypto algorithms"],"repository":{"type":"git","url":"git+https://github.com/Blockia-Labs/blockialabs-ssi.git","directory":"packages/ssi-crypto"},"description":"A library providing cryptographic functions for decentralized identity and verifiable credentials.","maintainers":[{"name":"blockialabs","email":"kristijan.boshev@blockialabs.com"}],"readme":"# SSI Crypto\n\nThe `ssi-crypto` package provides cryptographic primitives for Self-Sovereign Identity (SSI) systems. It supports key generation, signing, verification, and key management operations using industry-standard algorithms like Ed25519 and Secp256k1.\n\n## Installation\n\nInstall the package via NPM:\n\n```bash\nnpm install @blockialabs/ssi-crypto\n```\n\n## Key Components\n\n### Core Classes\n\n- `KeyManager`: Manages cryptographic keys including creation, rotation, import/export operations.\n- `Signer`: Provides signing and verification functionality.\n- `Key`: Represents cryptographic key pairs with support for Ed25519 and Secp256k1.\n\n### Algorithms\n\n- `Ed25519Algorithm`: Implementation of Ed25519 digital signature algorithm.\n- `Secp256k1Algorithm`: Implementation of Secp256k1 elliptic curve cryptography.\n- `SigningAlgorithmFactory`: Factory for creating algorithm instances.\n\n### Storage\n\n- `VaultKeyStore`: Secure key storage implementation using the SSI storage abstraction.\n- `KeyRecord`: Data structure for storing key metadata.\n\n### Interfaces\n\n- `IKeyManager`: Interface for key management operations.\n- `ISigner`: Interface for signing and verification operations.\n- `IKeyStore`: Interface for key storage operations.\n- `ISigningAlgorithm`: Interface for cryptographic algorithms.\n\n## Basic Usage\n\n### 1. Setup Key Storage\n\nInitialize the key store and algorithm factory.\n\n```typescript\nimport { VaultKeyStore, SigningAlgorithmFactory } from '@blockialabs/ssi-crypto';\nimport { MemoryStorage } from '@blockialabs/ssi-storage';\n\n// Setup storage (you can use any IStorage implementation)\nconst storage = new MemoryStorage<KeyRecord>();\nconst keyStore = new VaultKeyStore(storage);\n\n// Setup algorithm factory\nconst algorithmFactory = new SigningAlgorithmFactory();\n```\n\n### 2. Initialize Key Manager\n\nCreate a key manager instance.\n\n```typescript\nimport { KeyManager } from '@blockialabs/ssi-crypto';\n\nconst keyManager = new KeyManager(keyStore, algorithmFactory);\n```\n\n### 3. Initialize Signer\n\nCreate a signer instance.\n\n```typescript\nimport { Signer } from '@blockialabs/ssi-crypto';\n\nconst signer = new Signer(keyManager, algorithmFactory);\n```\n\n### 4. Create a Key\n\nGenerate a new cryptographic key.\n\n```typescript\nconst key = await signer.createKey('Ed25519');\nconsole.log('Created key with ID:', key.kid);\n```\n\n### 5. Sign a Message\n\nSign a message using the created key.\n\n```typescript\nconst message = new TextEncoder().encode('Hello, World!');\nconst signature = await signer.sign(message, key);\nconsole.log('Signature:', signature);\n```\n\n### 6. Verify a Signature\n\nVerify the signature against the original message.\n\n```typescript\nconst isValid = await signer.verify(signature, message, key);\nconsole.log('Signature is valid:', isValid);\n```\n\n## Building\n\nRun `nx build ssi-crypto` to build the library.\n\n## Running unit tests\n\nRun `nx test ssi-crypto` to execute the unit tests via [Jest](https://jestjs.io).\n\n## Running lint\n\nRun `nx lint ssi-crypto` to check if there are lint errors.\n\nSee [LICENSE](../../LICENSE).\n","readmeFilename":"README.md"}