{"id":27946790,"url":"https://github.com/elcritch/keyx","last_synced_at":"2025-05-07T13:57:56.984Z","repository":{"id":57513327,"uuid":"105949957","full_name":"elcritch/keyx","owner":"elcritch","description":"Elixir implementation of Shamir's Secret Sharing","archived":false,"fork":false,"pushed_at":"2019-10-28T17:32:04.000Z","size":6086,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T13:57:50.934Z","etag":null,"topics":["crypto","secret-sharing","security"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elcritch.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}},"created_at":"2017-10-05T23:20:40.000Z","updated_at":"2024-09-12T12:35:04.000Z","dependencies_parsed_at":"2022-08-31T23:00:32.594Z","dependency_job_id":null,"html_url":"https://github.com/elcritch/keyx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elcritch%2Fkeyx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elcritch%2Fkeyx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elcritch%2Fkeyx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elcritch%2Fkeyx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elcritch","download_url":"https://codeload.github.com/elcritch/keyx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252892523,"owners_count":21820647,"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":["crypto","secret-sharing","security"],"created_at":"2025-05-07T13:57:56.377Z","updated_at":"2025-05-07T13:57:56.964Z","avatar_url":"https://github.com/elcritch.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeyX\n\nElixir library for Shamir's Secret Sharing (SSS) algorithm. Now implemented in native Elixir following Hashicorp Vault's implementation of SSS in order to provide a byte-compatible but distinct implementation of Shamir's method. \n\n## Implementation Details\n\nThis version follows Vault's usage of a new polynomial in GF(2^8) space for each byte of the given secret byte array (binary). In the returned shares, y values for each secret byte are concatenated into a single byte array with a single trailing x value at the end (`length(secret) == length(share[n]) + 1`). This could be considered the 'specification' of the return secret shares (rather than separate {x,y} points).\n\nThe reasoning for the extra work of following another Shamir implementation is to ensure multiple libraries or code bases can decode secret shares once split. Note that the Elixir library returns the raw binary, whereas the Go version generally hex encode the binary array.  \n\nDocumentation can be found at [https://hexdocs.pm/keyx](https://hexdocs.pm/keyx).\n\n## Installation\n\nIf [available in Hex](https://hex.pm/docs/publish), the package can be installed\nby adding `keyx` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:keyx, \"~\u003e 0.4.1\"}\n  ]\nend\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felcritch%2Fkeyx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felcritch%2Fkeyx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felcritch%2Fkeyx/lists"}