{"id":19625559,"url":"https://github.com/makemake-kbo/satunna","last_synced_at":"2025-07-03T11:03:37.280Z","repository":{"id":153189700,"uuid":"408868540","full_name":"makemake-kbo/satunna","owner":"makemake-kbo","description":"satunna is a WIP reproducible pseudo-random code execution hashing algorithm ","archived":false,"fork":false,"pushed_at":"2021-10-29T14:42:26.000Z","size":33,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-28T18:36:48.051Z","etag":null,"topics":["crypto","cryptography","hash","hashing-algorithm","salt","salting","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"Go","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/makemake-kbo.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-21T15:11:39.000Z","updated_at":"2023-10-08T21:51:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b08a78d-a4d1-49d5-9b8b-57c8f352608d","html_url":"https://github.com/makemake-kbo/satunna","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/makemake-kbo/satunna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makemake-kbo%2Fsatunna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makemake-kbo%2Fsatunna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makemake-kbo%2Fsatunna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makemake-kbo%2Fsatunna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makemake-kbo","download_url":"https://codeload.github.com/makemake-kbo/satunna/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makemake-kbo%2Fsatunna/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263314104,"owners_count":23447291,"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","cryptography","hash","hashing-algorithm","salt","salting","virtual-machine"],"created_at":"2024-11-11T11:42:10.771Z","updated_at":"2025-07-03T11:03:37.253Z","avatar_url":"https://github.com/makemake-kbo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# satunna\n\n`satunna` is a reproducible pseudo-random code execution hashing algo.   \nIt uses a virtual machine that executes pseudo-random instructions that produce a 256-bit Blake2b cryptographic hash.   \n\n## Specifications\n\n***__SPECS ARE WIP AND ARE SUBJECT TO CHANGE__***\n\n### The Virtual Machine\n\n#### Seed\n\nThe seed is used to determine which instructions in what order are used on the inputed data.   \nThe seed is a positive intenger derived from the first 16 bytes of the blake2b hash of the file(or string).\n\n#### The Instruction Set\n\nThe satunnaVM is a CISC, turing complete virtual machine that is designed to compute 64-bit integers and nothing more.  \n\n\nThe current VM instruction set is being worked on as `satunna` is being developed.\n\n|instruction|dst|src|`src == dst ?`|operation|\n|-|-|-|-|-|\n|IADD_M|R|R|`src = 0`|`dst = dst + [mem]`|\n|ISUB_R|R|R|`src = imm32`|`dst = dst - src`|\n|ISUB_M|R|R|`src = 0`|`dst = dst - [mem]`|\n|IMUL_R|R|R|`src = imm32`|`dst = dst * src`|\n|IMUL_M|R|R|`src = 0`|`dst = dst * [mem]`|\n|IMULH_R|R|R|`src = dst`|`dst = (dst * src) \u003e\u003e 64`|\n|IMULH_M|R|R|`src = 0`|`dst = (dst * [mem]) \u003e\u003e 64`|\n|IMUL_RCP|R|-|-|\u003ccode\u003edst = 2\u003csup\u003ex\u003c/sup\u003e / imm32 * dst\u003c/code\u003e|\n|INEG_R|R|-|-|`dst = -dst`|\n|IXOR_R|R|R|`src = imm32`|`dst = dst ^ src`|\n|IXOR_M|R|R|`src = 0`|`dst = dst ^ [mem]`|\n|IROR_R|R|R|`src = imm32`|`dst = dst \u003e\u003e\u003e src`|\n|IROL_R|R|R|`src = imm32`|`dst = dst \u003c\u003c\u003c src`|\n|ISWAP_R|R|R|`src = dst`|`temp = src; src = dst; dst = temp`|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakemake-kbo%2Fsatunna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakemake-kbo%2Fsatunna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakemake-kbo%2Fsatunna/lists"}