{"id":20079741,"url":"https://github.com/grachale/hybrid_encryption","last_synced_at":"2026-06-13T09:04:55.969Z","repository":{"id":185339024,"uuid":"673377764","full_name":"grachale/hybrid_encryption","owner":"grachale","description":"Implementation of two functions in C++ (seal and open) that encrypt/decrypt data using hybrid encryption.","archived":false,"fork":false,"pushed_at":"2023-08-01T13:53:21.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T13:23:07.170Z","etag":null,"topics":["ciphers","cpp","openssl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grachale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-01T13:43:57.000Z","updated_at":"2024-06-27T12:53:28.000Z","dependencies_parsed_at":"2023-08-01T15:19:53.500Z","dependency_job_id":null,"html_url":"https://github.com/grachale/hybrid_encryption","commit_stats":null,"previous_names":["grachale/hybrid_encryption"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grachale/hybrid_encryption","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fhybrid_encryption","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fhybrid_encryption/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fhybrid_encryption/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fhybrid_encryption/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grachale","download_url":"https://codeload.github.com/grachale/hybrid_encryption/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grachale%2Fhybrid_encryption/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34278192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ciphers","cpp","openssl"],"created_at":"2024-11-13T15:24:25.259Z","updated_at":"2026-06-13T09:04:55.938Z","avatar_url":"https://github.com/grachale.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hybrid encryption\nImplementation of two functions in C++ (seal and open) that encrypt/decrypt data using hybrid encryption.\n\n## Function Parameters for \"seal\":\n\nbool seal(const char* inFile, const char* outFile, const char* publicKeyFile, const char* symmetricCipher);\n\ninFile: The file containing binary data to be encrypted.\n\noutFile: The output file where all necessary information for decryption will be stored.\n\npublicKeyFile: The public key to be used for encrypting the symmetric key.\n\nsymmetricCipher: The name of the symmetric cipher used for encryption.\n\nReturn value: true on success, false otherwise. If the function fails, you must ensure that the output file outFile will not exist.\n\nThe seal function generates a symmetric key and an initialization vector (IV) as inputs for the symmetric cipher symmetricCipher. Using this cipher, key, and IV, the function encrypts the data in inFile. The key for the symmetric cipher is encrypted with an asymmetric cipher (RSA) using the public key stored in publicKeyFile.\n\n## Function Parameters for \"open\":\n\nbool open(const char* inFile, const char* outFile, const char* privateKeyFile);\n\ninFile: The encrypted file in the same format as the output file from the seal function.\n\noutFile: The output file where all decrypted data will be stored (expecting binary match with the input file from the seal function).\n\nprivateKeyFile: The private key used for decrypting the encrypted key.\n\nReturn value: true on success, false otherwise. If the function fails, you must ensure that the output file outFile will not exist.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrachale%2Fhybrid_encryption","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrachale%2Fhybrid_encryption","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrachale%2Fhybrid_encryption/lists"}