{"id":15321231,"url":"https://github.com/reznik99/cryptotools","last_synced_at":"2026-02-09T22:32:28.986Z","repository":{"id":50357502,"uuid":"518821154","full_name":"reznik99/CryptoTools","owner":"reznik99","description":"Crypto playground in your browser","archived":false,"fork":false,"pushed_at":"2025-01-27T02:28:19.000Z","size":9399,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T14:21:57.950Z","etag":null,"topics":["cryptography","material-ui","pkcs1","pkcs10","pkcs8","react","sec1","subtlecrypto","x509"],"latest_commit_sha":null,"homepage":"https://crypto.francescogorini.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reznik99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-28T11:37:28.000Z","updated_at":"2025-01-27T02:26:53.000Z","dependencies_parsed_at":"2024-03-07T13:44:03.923Z","dependency_job_id":"e8cbd805-2235-4e9a-931f-834ce420873b","html_url":"https://github.com/reznik99/CryptoTools","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FCryptoTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FCryptoTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FCryptoTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FCryptoTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reznik99","download_url":"https://codeload.github.com/reznik99/CryptoTools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248995010,"owners_count":21195483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","material-ui","pkcs1","pkcs10","pkcs8","react","sec1","subtlecrypto","x509"],"created_at":"2024-10-01T09:10:11.828Z","updated_at":"2026-02-09T22:32:28.944Z","avatar_url":"https://github.com/reznik99.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n# CryptoTools\n\n\n### `Cryptographic tools for your browser in a Single-Page app`\n\nThis website [crypto.francescogorini.com](https://crypto.francescogorini.com) is a cryptographic playground to **play** with, **test** and **learn** about **cryptography**. \u003cbr /\u003e\nIt runs all cryptographic operations in the browser utilising [SubtleCrypto API](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto), [PKIJS](https://github.com/PeculiarVentures/PKI.js) and [ASN1JS](https://github.com/lapo-luchini/asn1js) as well as [Go](https://go.dev/wiki/WebAssembly).\n\n### This project uses:\n- [React](https://github.com/facebook/react)\n- [Typescript](https://github.com/microsoft/TypeScript)\n- [Material UI](https://mui.com/)\n- [PKI.js](https://github.com/PeculiarVentures/PKI.js)\n- [ASN1.js](https://github.com/PeculiarVentures/ASN1.js)\n- [Go WASM](https://go.dev/wiki/WebAssembly)\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n### Generation\n- [x] __AES__ Key Generation.\n- [x] __RSA__ Key Generation.\n- [x] __ECDSA__ Key Generation with NIST __P-256__ __P-384__ and __P-521__ curve support.\n- [x] __PKCS10/CSR__ Generation with custom __Subjects__ and __SANs__, with __ECDSA__, __RSA-PSS__ and __RSASSA-PKCS1-v1_5__ signatures.\n- [x] __x509 Certificate__ Generation/Signing with custom key/cert.\n### Key Derivation\n- [x] __HKDF__ Key Derivation.\n- [x] __PBKDF2__ Key Derivation.\n- [x] __ECDH__ Key agreement with __P-256__ __P-384__ and __P-521__ curve support.\n- [ ] __Ed25519__ Key agreement with __Curve25519__ curve support.\n### Encrypt/Decrypt\n- [x] __AES-CBC__ Encrypt/Decrypt.\n- [x] __AES-GCM__ Encrypt/Decrypt.\n- [x] __RSA-OAEP__ Encrypt/Decrypt.\n- [ ] __AES-GCM__ with additional authenticated data __AEAD__.\n- [x] __File__ encryption support (output is base64, needs file download option).\n### Sign/Verify\n- [x] __RSASSA-PKCS1-v1_5__ Sign/Validate.\n- [x] __RSA-PSS__ Sign/Validate.\n- [x] __ECDSA__ Sign/Verify with NIST __P-256__ __P-384__ and __P-521__ curve support.\n- [x] __HMAC__ support.\n- [ ] __File__ signing support.\n### Hashing\n- [x] __SHA-1__, __SHA-256__, __SHA-384__ and __SHA-512__ support.\n- [ ] __MD5__ support.\n- [ ] __File__ hashing support.\n### Conversion\n- [x] __Base64__ support.\n- [x] __Hex__ support.\n- [x] __ASCII__ support.\n- [ ] __File__ support.\n- [ ] __PKCS7__ support.\n\nSee the [open issues](https://github.com/reznik99/CryptoTools/issues) for a full list of proposed features (and known issues).\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nFrancesco Gorini - goras.francesco@gmail.com - https://francescogorini.com\n\nProject Link: [https://github.com/reznik99/CryptoTools](https://github.com/reznik99/CryptoTools)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/reznik99/cryptotools.svg?style=for-the-badge\n[contributors-url]: https://github.com/reznik99/cryptotools/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/reznik99/cryptotools.svg?style=for-the-badge\n[forks-url]: https://github.com/reznik99/cryptotools/network/members\n[stars-shield]: https://img.shields.io/github/stars/reznik99/cryptotools.svg?style=for-the-badge\n[stars-url]: https://github.com/reznik99/cryptotools/stargazers\n[issues-shield]: https://img.shields.io/github/issues/reznik99/cryptotools?style=for-the-badge\n[issues-url]: https://github.com/reznik99/cryptotools/issues\n[license-shield]: https://img.shields.io/github/license/reznik99/cryptotools?style=for-the-badge\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/francesco-gorini-b334861a6/\n[screenshot]: res/read-me-banner.jpg","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freznik99%2Fcryptotools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freznik99%2Fcryptotools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freznik99%2Fcryptotools/lists"}