{"id":15400433,"url":"https://github.com/tniessen/cubicrypt","last_synced_at":"2025-03-20T04:08:09.888Z","repository":{"id":177582718,"uuid":"657143847","full_name":"tniessen/cubicrypt","owner":"tniessen","description":"Secure datagram transmissions over untrusted channels, designed for CubeSats 📡🔐🛰","archived":false,"fork":false,"pushed_at":"2024-04-15T10:47:54.000Z","size":104,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T21:21:46.462Z","etag":null,"topics":["authenticated-encryption","authentication","communication","cubesat","embedded","encryption","ground-station","protocol","satellite","space"],"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":"2023-06-22T12:13:51.000Z","updated_at":"2024-04-23T15:35:55.000Z","dependencies_parsed_at":"2023-07-10T19:16:00.588Z","dependency_job_id":"89c3b6fe-c3c1-4925-98ff-e8de03fa5b83","html_url":"https://github.com/tniessen/cubicrypt","commit_stats":null,"previous_names":["tniessen/cubicrypt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcubicrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcubicrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcubicrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tniessen%2Fcubicrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tniessen","download_url":"https://codeload.github.com/tniessen/cubicrypt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244547604,"owners_count":20470103,"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":["authenticated-encryption","authentication","communication","cubesat","embedded","encryption","ground-station","protocol","satellite","space"],"created_at":"2024-10-01T15:53:54.439Z","updated_at":"2025-03-20T04:08:09.865Z","avatar_url":"https://github.com/tniessen.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cubicrypt\n\nThis project implements a small mechanism for authentication and encryption of\ndatagrams for secure transmission over untrusted (simplex or duplex) channels.\n\nThe protocol is designed to be simple, almost stateless, and reliable and secure\neven across system malfunctions that are likely to occur on embedded devices in\nspace. The library minimizes write operations to persistent storage to reduce\nwear and delays and does not require a cryptographically secure source of\nrandomness for basic operation.\n\nSee [Cubicrypt protocol][] for a detailed description of the protocol.\n\nThe only required cryptographic primitive is [AES][]. It is used with a 256-bit\nprimary key to derive 128-bit session keys, which are again used with [AES][] in\n[Galois/Counter Mode (GCM)][]. Even on embedded devices, AES-GCM often benefits\nfrom hardware acceleration.\n\nThe optional key exchange extension is based on [X25519][] and [SHA-256][].\n\nCubicrypt supports the following implementations of the required cryptographic\nprimitives:\n\n- [CycloneCRYPTO][]\n- [gcrypt][]\n- [Mbed TLS][]\n- [Nettle][]\n- [OpenSSL][] (default)\n- [STM32 cryptographic library (CMOX)][]\n\n[AES]: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard\n[Cubicrypt protocol]: ./PROTOCOL.md\n[CycloneCRYPTO]: https://oryx-embedded.com/products/CycloneCRYPTO.html\n[Galois/Counter Mode (GCM)]: https://en.wikipedia.org/wiki/Galois/Counter_Mode\n[Mbed TLS]: https://github.com/ARMmbed/mbedtls\n[Nettle]: https://github.com/gnutls/nettle\n[OpenSSL]: https://github.com/openssl/openssl\n[SHA-256]: https://en.wikipedia.org/wiki/SHA-2\n[STM32 cryptographic library (CMOX)]: https://www.st.com/en/embedded-software/x-cube-cryptolib.html\n[X25519]: https://en.wikipedia.org/wiki/Curve25519\n[gcrypt]: https://github.com/gpg/libgcrypt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftniessen%2Fcubicrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftniessen%2Fcubicrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftniessen%2Fcubicrypt/lists"}