{"id":22912035,"url":"https://github.com/opencoff/crypto-rand","last_synced_at":"2025-04-01T11:09:05.492Z","repository":{"id":47391231,"uuid":"395814723","full_name":"opencoff/crypto-rand","owner":"opencoff","description":"AES and Chacha based cryptographic random generator","archived":false,"fork":false,"pushed_at":"2021-08-13T22:27:40.000Z","size":17,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-07T06:15:17.821Z","etag":null,"topics":["aes256-random","arc4random","chacha-cipher","cryptographic-random-generator","nist-sp-800-22"],"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/opencoff.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}},"created_at":"2021-08-13T22:27:16.000Z","updated_at":"2024-06-20T16:02:32.000Z","dependencies_parsed_at":"2022-08-29T10:41:36.930Z","dependency_job_id":null,"html_url":"https://github.com/opencoff/crypto-rand","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/opencoff%2Fcrypto-rand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fcrypto-rand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fcrypto-rand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fcrypto-rand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencoff","download_url":"https://codeload.github.com/opencoff/crypto-rand/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246628235,"owners_count":20808106,"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":["aes256-random","arc4random","chacha-cipher","cryptographic-random-generator","nist-sp-800-22"],"created_at":"2024-12-14T04:19:37.677Z","updated_at":"2025-04-01T11:09:05.467Z","avatar_url":"https://github.com/opencoff.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crypto-rand\nThis is a thread-safe adaptation of OpenBSD arc4random(2)\ncryptographic random generator but generalized to use\nAES-256-CTR or Chacha20 ciphers.\n\nBoth cryptographic random generators pass NIST-SP800-22 (Rev 1a).\n\n## Using the API\nThe core of the code is in `cryptorand.c` and the API is documented\nin `cryptorand.h`.\n\n## Testing and Performance\nThe NIST-SP800-22 test suite is [here](https://github.com/dj-on-github/sp800_22_tests.git).\n\nTo run the NIST-SP800-2 tests, first fetch the test-suite from\ngithub:\n\n    git clone https://github.com/dj-on-github/sp800_22_tests.git\n\n    make\n    ./t_arc4rand 1048576 \u003e arc4\n    ./t_aesrand 1048576 \u003e aes\n\n    cd sp800_22_tests\n    ./sp800_22_tests.py ../arc4\n    ./sp800_22_tests.py ../aes\n\n\nThere are also a couple of benchmarks to measure speed of the\ngenerators against the system's random generator (/dev/urandom):\n\n\n        ./t_arc4rand_bench 16 32 64 128\n        ./t_aesrand_bench  16 32 64 128\n\nThe benchmarks show the speed-up of the generators relative to the\nsystem's random generator.\n\nThe core random generator should be quite portable to any system\n(including RTOS). It only uses C stdlib and no stdio. The repository\nincludes portable implementations of AES and Chacha20. The cipher\nspecific code is separated into `cipher.h`. If your platform\nprovides HW accelerated AES, it is quite easy to plug that into this\ngenerator.\n\n\n## How is it licensed?\nI don't have any special licensing terms; my changes are subject to\nthe original licensing terms in the file `cryptorand.c`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fcrypto-rand","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencoff%2Fcrypto-rand","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fcrypto-rand/lists"}