{"_id":"@douganderson444/symmetric-proxcryptor-wrapper","_rev":"2-b7a0c953621c9ca37ccadb3758c2cd68","name":"@douganderson444/symmetric-proxcryptor-wrapper","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.2":{"name":"@douganderson444/symmetric-proxcryptor-wrapper","version":"0.0.2","peerDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.6"},"devDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.12","@peerpiper/web3-wallet-connector":"^0.1.2","@sveltejs/adapter-auto":"next","@sveltejs/adapter-static":"^1.0.0-next.39","@sveltejs/kit":"next","@sveltejs/package":"^1.0.0-next.1","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte":"^3.44.0","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.3","vite":"^3.0.0","vitest":"^0.23.2"},"type":"module","dependencies":{"@stablelib/random":"^1.0.2","bs58":"^5.0.0","dag-jose-utils":"^2.0.0","did-jwt":"^6.8.0"},"exports":{"./package.json":"./package.json",".":"./index.js","./proxcryptor.test":"./proxcryptor.test.js","./proxcryptor":"./proxcryptor.js","./utils":"./utils.js"},"types":"./index.d.ts","gitHead":"f0e9b87d194a9dd783db33dc1bffd0fb6364133b","description":"Simple library which combines symmetric encryption with proxy re-encryption to make, share, and retrieve encrypted objects.","_id":"@douganderson444/symmetric-proxcryptor-wrapper@0.0.2","_nodeVersion":"18.5.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-skFlthzYUrsbI8xTlbztguwpTJ9OyrcMTyw2pbdG4TXAAst9HIdEPL+HVrkvRKkeHTM5NcjXkeWYLXufSTiR9A==","shasum":"6cbe9782ebf8bcdea8fbbd0c3488e40bb5db4757","tarball":"https://registry.npmjs.org/@douganderson444/symmetric-proxcryptor-wrapper/-/symmetric-proxcryptor-wrapper-0.0.2.tgz","fileCount":10,"unpackedSize":10503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvS2fzpzUd7HaLjTr6hMAaq6/LoVhgmbS9ZvjYpYGOmwIgNdDFuNszOkbfMO8DU9RnRRoSwMthUeQsdepW549yOgI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjn5XDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtUhAAhgoQjF/BrLWgVOl6dAgn4keMUH5BBkVfKK6vGcIoF2xVXcAq\r\n6xjJQdV+g72lK9JlDgxrjpEjyhyl61wHg6kGeD1JETiFsAwkNqW2OPinjHac\r\n+if1Wvq6gneNq/x+hqQ/K9TfZEsbVd3F50NV8xEAdEAxjYmX+ezUj7S0LMJ6\r\n7ahf89+kYyhrlXYBwkTOipX/I+ak+f6kh6/lr7s9SAGTlU2/b7xhdHo5SgON\r\nAKTj5+sbcYVkIgoE/zADTZLzHp9PMJQKRrcDLSO+x91Lmz+X6sXKskNN9PMi\r\nWrBLYgVK8T5MO39mqG5cEB6p6JjY1AsBEcdr6oGKSrxLopH72DTjpgXA/dT5\r\nlfGeyJistwaCaHmXVYyyB1YE87ilUT1sleycYAXXXyv9h+F8nrdRvtTWOqvQ\r\nzqr7CA4YeT5c9gFUUPEDrajfY82hRu8JCmvjxq/xdVjr3RqZOC18GtNcIPhx\r\nVAkklQgZO/NokKWRqnUYa1atnRzcce0rUf7l0/hUjFTpHA9D4iyyLl4ZKfP9\r\nm6YqOMQ8G16JTBpFZbnEASxu4ifQm6JkNQJ8S0PR9EEymK0pOXpkMen1+v2o\r\nEwya0v3tm3Z9M3h6/SYtSVTwG/n0/V7ahbisGaAA+7BY4n9VOsaWHDJW+zQo\r\nxYl0eoJYN6APjLtm5PIP8cVKntbKsgxvpqs=\r\n=lDwg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"douganderson444","email":"douganderson444@gmail.com"},"directories":{},"maintainers":[{"name":"douganderson444","email":"douganderson444@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/symmetric-proxcryptor-wrapper_0.0.2_1671402947542_0.4075149815053185"},"_hasShrinkwrap":false},"0.0.3":{"name":"@douganderson444/symmetric-proxcryptor-wrapper","version":"0.0.3","peerDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.6"},"devDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.12","@peerpiper/web3-wallet-connector":"^0.1.2","@sveltejs/adapter-auto":"next","@sveltejs/adapter-static":"^1.0.0-next.39","@sveltejs/kit":"next","@sveltejs/package":"^1.0.0-next.1","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte":"^3.44.0","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.3","vite":"^3.0.0","vitest":"^0.23.2"},"type":"module","dependencies":{"@stablelib/random":"^1.0.2","bs58":"^5.0.0","dag-jose-utils":"^2.0.0","did-jwt":"^6.8.0"},"exports":{"./package.json":"./package.json",".":"./index.js","./symJoseCryptor.test":"./symJoseCryptor.test.js","./symJoseCryptor":"./symJoseCryptor.js","./utils":"./utils.js"},"types":"./index.d.ts","gitHead":"b1f310db69ed4de60826a513ad7153058ad6513c","description":"Simple library which combines symmetric encryption with proxy re-encryption to make, share, and retrieve encrypted objects.","_id":"@douganderson444/symmetric-proxcryptor-wrapper@0.0.3","_nodeVersion":"18.5.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-465XpdevFgSFr1FHS1gQsykpjYP26yZ5YrWkUDlPujcHGRa3Em80baPaxh121SPpSbVazfz3aXdbf3ua9jNEjA==","shasum":"01cd8425280947a4c28ec95d3edc0efa6ea31afb","tarball":"https://registry.npmjs.org/@douganderson444/symmetric-proxcryptor-wrapper/-/symmetric-proxcryptor-wrapper-0.0.3.tgz","fileCount":10,"unpackedSize":11913,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQxAXYzvq8BhbkNqPo9wo1SzhtjSGCWcBiMxF6AmOQJwIgH8jVg/1FcTkya2VIIE7FNiIRSLxfc+PPWlQidXvgxvw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoKozACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJEQ/9FR/MGhsDOAHE1NS0IgaLuiQROb7iXJFLBGkJZkHZts0S+xJO\r\ng29StxEybdvf/DZOIcJdVseLzFKuCiEL3qEl1Ud8NmwF9rsYHKqkqjqp90ub\r\nk3yRlHN1drbtrlT7o0RGefjO+IRd7d/QqLyFl7Q0mBDgyLid/1G2YWd0N3lR\r\neRMVTWsTutl4vlgSLwD/FWRk1qHgSe/qZW/JF3T1EkGAL2JBuLdXlHpcILSx\r\ncWQtornbwDgK7eyAUH8B2CY+9JYQt/2DdA4Rd6+LRP8vFvrajvdaybbH6nqZ\r\nvss/SflaFdbOQzrX2kXRJ3xNdhqwB82p8Bcr0RSE7+eXeicJRhJoJlleu0bl\r\nIk9dnBQtPanKU6tq44Dk5jpD/5MAdRX3Af7pP5JuEcoIRm7Xoq5W1yOhq8Tb\r\nS6Hi0DBo2hIPNq481akz/LPt9gV0AkbbKpc1FRSNhlDtzUMPGM9VEXz+v9Tw\r\ncr+X19TBFKknI1aXdmbYqPJSEjp7Rsthq66RJefUV+4P7D07VG7hYv3gmmnM\r\nDJ7rsOyRAKr+W78ed7byxhB++vTHgtD52t71vfo3zZp/cmW+4MWWbBr/XI5p\r\nTeY5Hq32v0jnFeJnoiiUjzDwvF9uDCyMBcAsgOMSEOvYQCLHyKOcPo2jN+Qh\r\nSUH0GGQcPIue8CjxuoNAyGOudmeIVI02JdQ=\r\n=R1ts\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"douganderson444","email":"douganderson444@gmail.com"},"directories":{},"maintainers":[{"name":"douganderson444","email":"douganderson444@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/symmetric-proxcryptor-wrapper_0.0.3_1671473715500_0.46208992750003985"},"_hasShrinkwrap":false},"0.0.4":{"name":"@douganderson444/symmetric-proxcryptor-wrapper","version":"0.0.4","peerDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.6","svelte":"^3.55.1"},"devDependencies":{"@peerpiper/iframe-wallet-sdk":"^0.0.12","@peerpiper/web3-wallet-connector":"^0.1.2","@sveltejs/adapter-auto":"next","@sveltejs/adapter-static":"^1.0.0-next.39","@sveltejs/kit":"^1.0.0","@sveltejs/package":"^1.0.2","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte":"^3.55.1","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.3","vite":"^4.0.0","vitest":"^0.23.2"},"type":"module","dependencies":{"@stablelib/random":"^1.0.2","bs58":"^5.0.0","dag-jose-utils":"^2.0.0","did-jwt":"^6.8.0"},"exports":{"./package.json":"./package.json",".":"./index.js","./symJoseCryptor.test":"./symJoseCryptor.test.js","./symJoseCryptor":"./symJoseCryptor.js","./utils":"./utils.js"},"types":"./index.d.ts","gitHead":"6d839abc51e6e4c321c38b3b688d17082fdaafd5","description":"Simple library which wraps symmetric encryption around proxy re-encryption to make, share, and retrieve encrypted objects.","_id":"@douganderson444/symmetric-proxcryptor-wrapper@0.0.4","_nodeVersion":"18.5.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-jgE7WVy7FPqKbiPyfQEpsRFW3XUSyq/i5cM8lvvF8c+WMxQisF6JzKf3jZKG41Oo6nBHY4wSFIY+wcVbvShjJQ==","shasum":"7317ebfeed41fddca463445b1b1abe977ff60322","tarball":"https://registry.npmjs.org/@douganderson444/symmetric-proxcryptor-wrapper/-/symmetric-proxcryptor-wrapper-0.0.4.tgz","fileCount":10,"unpackedSize":12394,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzVGVHxvNAU6V8B/PRvs26Ug+Rc1aFc/JxRnOiCyvC3QIhAMmPygQ/K6G7uDOPMn0pLvsQMf59GUC6uQ7yXjf6u05T"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyAxmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoZhAAixvB0zjKFL3k8gYkvlbi7iJvoQ88+1mWokQJlrBztjEg7G9X\r\noMDFhE7J+f/dvHh3Cn1E4nXwCqxI6JZJ77SNQrdETYaig8NzLsXh7r5tkbW/\r\nACeG3dXqwlHbWaosH2+LlP7wcO6jWi+XsZcDSnTq5gRirqSJz5hXTnA+xX+u\r\ncw9mkNUa7SDUAhe9XRpegxiOhkIc15MaX5CYB0pSA+AcIbAfo3SyxC5XdIHv\r\nZrHVpitJRJiCDzbJk1lTAcq/99BXiKWqhaZ+dkX7e/CidQI268pa8d+HNPhN\r\nRmfMc8ovZLkMveMCDUT9C645vdj2vPvd9jmvPSENDZcXaTE5hr5HJiSz89Ab\r\n5qrk8A99m3UfGvmbQplPfWZUahjn0ibDOsGTnAm2XCUGGy7lcf16B9nPwszI\r\nC/MUBKecu1D3l43dF3+GEyWMKfmUsbUkKwoxz6u6wv0cT0Kgs+z/BmXg90L+\r\nR3eM+Ihb3ni5t4QY4nYvn5z7cv6N4WCJSavtQC4v6sx/vAr4NBWOFdFjHUd6\r\nInQB9M0Zg92TNNTij+we6eJix24OyuByDuY3hCtVuIqUxUEpheKPKJrWFq6Y\r\nBM4k/NR2mn8QJWy7nAbRDOi+oFaoZDIDeyhV8DajyS9CwRIh8/i6nkPHcIJH\r\nS13LzlZ5HR+RqiUaWuPXtQDQThTrAaAMvSQ=\r\n=W4+H\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"douganderson444","email":"douganderson444@gmail.com"},"directories":{},"maintainers":[{"name":"douganderson444","email":"douganderson444@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/symmetric-proxcryptor-wrapper_0.0.4_1674054758279_0.10665425152521646"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-18T22:35:47.479Z","0.0.2":"2022-12-18T22:35:47.734Z","modified":"2023-01-18T15:12:38.561Z","0.0.3":"2022-12-19T18:15:15.643Z","0.0.4":"2023-01-18T15:12:38.468Z"},"maintainers":[{"name":"douganderson444","email":"douganderson444@gmail.com"}],"description":"Simple library which wraps symmetric encryption around proxy re-encryption to make, share, and retrieve encrypted objects.","readme":"# Symmetric Proxcryptor Wrapper\n\nSimple library which wraps symmetric encryption around proxy re-encryption to make, share, and retrieve encrypted objects.\n\n# Why\n\nThe Proxcryptor from `@peerpiper/iframe-wallet-sdk` (via the browser [connector](https://www.npmjs.com/package/@peerpiper/web3-wallet-connector)) gives you the ability to:\n\n- [x] `selfEncrypt` data with your ed25519 private key\n- [x] `selfDecrypt` data with your ed25519 private key\n- [x] `transformEncrypt` data for another ed25519 public\n- [x] `reDecrypt` others' data data with your ed25519 private key\n\nFirst, if that `data` is large, you'll likely want to symmetrically encrypt it first, then reEncrypt that symmetric key using `transformEncrypt` instead of transforming that data directly (since it's faster).\n\nSecond, the selfEncrypted key needs to be saved somewhere. JWE gives us the ability to add the key to the JWE object as Additional Authenticated Data (AAD), so the encryptedKey can easily yet securely be found witht the data object, making it convenient to transform for others when desired.\n\nThat is what this library does for you. Without this library, you'd have to do all of that manually.\n\n# API\n\n```js\nimport { SymJoseCryptor } from '@douganderson444/symmetric-proxcryptor-wrapper';\n\n// get a `wallet` instance from https://www.npmjs.com/package/@peerpiper/web3-wallet-connector\nconst cryptor = new SymJoseCryptor(wallet.proxcryptor);\n\n// self-encrypt a secret\nconst tag = 'MySecret';\nconst jwe = await cryptor.encryptTagSecrets({ secret: 'shhh just between us' }, tag);\n\n// you can decrypt it yourself\nconst selfDecrypted = await cryptor.selfDecrypt(jwe);\n\n// Typically, you will pass in another public key (base64, base58 or hex) to grant access to the secret\nconst theirReEncryptedKey = await cryptor.transform(publicKey, tag, jwe);\n\n// on their machine\n// now they can use this library to decrypt it\nconst decrypted = await cryptor.decrypt(theirReEncryptedKey, jwe); // {secret: 'shhh just between us'}\n\n```\n\n# Integrations\n\nDesigned to work with any proxcryptor interoperable with the protocol at [`@peerpiper/iframe-wallet-sdk`](https://github.com/PeerPiper/iframe-wallet-sdk)\n","readmeFilename":"README.md"}