{"id":15400397,"url":"https://github.com/tniessen/cryptpad","last_synced_at":"2026-03-12T07:02:13.565Z","repository":{"id":152090584,"uuid":"70940496","full_name":"tniessen/cryptpad","owner":"tniessen","description":"Text editor for Windows supporting strong encryption","archived":false,"fork":false,"pushed_at":"2017-11-07T17:52:10.000Z","size":52,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-03T14:42:38.767Z","etag":null,"topics":["aes-256","cryptpad","decryption","encryption","notepad","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tniessen.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":"2016-10-14T19:19:54.000Z","updated_at":"2024-04-25T10:48:45.000Z","dependencies_parsed_at":"2023-09-16T09:47:24.238Z","dependency_job_id":null,"html_url":"https://github.com/tniessen/cryptpad","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"3eb078df590c780fab7ca57bebf63e76d0369d46"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tniessen/cryptpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcryptpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcryptpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcryptpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcryptpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tniessen","download_url":"https://codeload.github.com/tniessen/cryptpad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcryptpad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30417685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T06:40:58.731Z","status":"ssl_error","status_checked_at":"2026-03-12T06:40:40.296Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aes-256","cryptpad","decryption","encryption","notepad","windows"],"created_at":"2024-10-01T15:53:49.361Z","updated_at":"2026-03-12T07:02:13.551Z","avatar_url":"https://github.com/tniessen.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/rdkgt36mc8ksjp7d?svg=true)](https://ci.appveyor.com/project/tniessen/cryptpad)\n\n## Building and requirements\n\nTo build the program, simply open the Visual Studio 2015 solution and click Build. The resulting\nbinary `cryptpad.exe` requires the .NET Framework 4.\n\n## Encryption\n\ncryptpad uses AES encryption, supporting key lengths of up to 256 bits, and can generate keys using\neither SHA-256 (default), SHA-512, RIPEMD-160 (128 bit keys only) or MD5 (128 bit keys only). Only\ntwo block cipher modes of operation are supported, CBC (recommended) and ECB.\n\n## File format\n\nEncrypted text files begin with a 128 bit IV, followed by any number of encrypted blocks. Therefore,\nthe file size is always a multiple of the block size, which is 128 bits (16 bytes).\n\n### Manual encryption and decryption using OpenSSL\n\nYou can, in fact, manually encrypt and decrypt text files exactly as cryptpad does, using OpenSSL.\nThe following example uses bash and assumes AES/CBC/PKCS7 with a 256 bit key generated using\nSHA-256. However, only minimal changes are required to adapt the commands to other configurations.\n\nFirst, you need to create the key:\n\n```bash\nkey=`echo -n \"$password\" | sha256sum | head -c 64`\n```\n\nTo encrypt content, generate a random initialization vector and its hexadecimal representation,\nand use it in combination with the computed key in order to produce the output file:\n\n```bash\ndd if=/dev/random bs=16 count=1 status=none \u003e file.stxt\niv=`xxd -c 32 -p file.stxt`\n\necho 'Hello world!' | openssl enc -aes-256-cbc -e -iv $iv -K $key \u003e\u003e file.stxt\n```\n\nYou can now open `file.stxt` in cryptpad.\n\nTo decrypt the file, we need to read the IV before reading the actual contents:\n\n```bash\niv=`dd if=file.stxt bs=16 count=1 status=none | xxd -c 32 -p`\n\ndd if=file.stxt bs=16 skip=1 status=none | openssl enc -aes-256-cbc -d -iv $iv -K $key\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftniessen%2Fcryptpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftniessen%2Fcryptpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftniessen%2Fcryptpad/lists"}