{"id":19329921,"url":"https://github.com/zhongruoyu/aes","last_synced_at":"2025-07-23T10:33:40.831Z","repository":{"id":153369441,"uuid":"368170028","full_name":"ZhongRuoyu/aes","owner":"ZhongRuoyu","description":"Advanced Encryption Standard (AES) in C with file encryption/decryption support.","archived":false,"fork":false,"pushed_at":"2021-06-07T04:47:36.000Z","size":273,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T06:46:52.366Z","etag":null,"topics":["aes","cryptography","encryption"],"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/ZhongRuoyu.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},"funding":{"github":"ZhongRuoyu"}},"created_at":"2021-05-17T12:02:59.000Z","updated_at":"2022-03-30T19:06:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"e17e7ffa-3eda-47a2-8ce6-7aff709a6265","html_url":"https://github.com/ZhongRuoyu/aes","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ZhongRuoyu/aes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhongRuoyu%2Faes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhongRuoyu%2Faes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhongRuoyu%2Faes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhongRuoyu%2Faes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZhongRuoyu","download_url":"https://codeload.github.com/ZhongRuoyu/aes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhongRuoyu%2Faes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266662717,"owners_count":23964593,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["aes","cryptography","encryption"],"created_at":"2024-11-10T02:32:21.561Z","updated_at":"2025-07-23T10:33:40.788Z","avatar_url":"https://github.com/ZhongRuoyu.png","language":"C","funding_links":["https://github.com/sponsors/ZhongRuoyu"],"categories":[],"sub_categories":[],"readme":"# AES\n\n`AES` is an implementation of the [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) in C, in accordance with the [Standard](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf) published in 2001 and the [AES submission document on Rijndael](https://csrc.nist.gov/csrc/media/projects/cryptographic-standards-and-guidelines/documents/aes-development/rijndael-ammended.pdf) originally published in 1999.\n\n`AES` supports encryption and decryption of single-block (128-bit) hexadecimal strings and files. In terms of byte padding for file encryption/decryption, `AES` uses the padding method 2 from [ISO/IEC 9797-1](https://en.wikipedia.org/wiki/ISO/IEC_9797-1).\n\nFor file encryption/decryption, `AES`, as a single-threaded and instruction-set independent implementation, offers a considerable speed without sacrificing portability and future flexibility.\n\nAll the \"flavours\" of the algorithm, i.e. AES-128, AES-192, and AES-256, are supported. `AES` determines the exact algorithm by the length of the key provided.\n\n## To Build\n\n### Building with GNU Make\n\n`AES` can be easily built with GNU Make. To do so, you may need to install `make`, `clang`, and `git` using your package manager. For instance:\n\n```bash\n$ sudo apt install build-essential clang git  # for Debian, Ubuntu, and related\n$ sudo dnf install make clang git             # for Fedora, Red Hat, and related\n```\n\nWith the requirements satisfied, the executable can be built as follows.\n\n```bash\n$ git clone https://github.com/ZhongRuoyu/AES.git\n$ cd AES\n$ make\n```\n\nWith the last `make` command, an executable named `aes` would be created in the working directory.\n\n### Building Manually\n\nIf you are running on a platform where `make` is not well supported (e.g. Windows), you may build `AES` manually with `clang` or `gcc`.\n\nTo build, `git clone` this repository, or download a zipped archive. Open a terminal in the root directory of the repository, and build the executable by including all the source files in the [/src](/src) directory, with include path [/include](/include). For instance, using `clang` on Windows with PowerShell:\n\n```powershell\nclang src/*.c -I include -std=c11 -O2 -o aes.exe\n```\n\nThe source file [/src/data.c](/src/data.c) may be generated with [/data/makedata.c](/data/makedata.c):\n\n```powershell\nclang data/makedata.c -I include -std=c11 -O2 -o makedata.exe\n./makedata.exe src/data.c\n```\n\n## To Use\n\nRun `aes --help` to view the detailed help message on using `AES`.\n\nFor example, running the following...\n\n```bash\n$ aes -e -s \"3243f6a8 885a308d 313198a2 e0370734\" -k \"2b7e1516 28aed2a6 abf71588 09cf4f3c\"\n```\n\n... gives the following output:\n\n```bash\n3925841d02dc09fbdc118597196a0b32\n```\n\nYou may need to include the path to the executable `aes` as well.\n\n## Licence\n\nCopyright (c) 2021 Zhong Ruoyu.\n\nThis repository is licensed under the MIT License. See [LICENSE](/LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhongruoyu%2Faes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhongruoyu%2Faes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhongruoyu%2Faes/lists"}