{"id":26915724,"url":"https://github.com/1solon/as2-aes-encryption","last_synced_at":"2026-05-02T03:32:39.445Z","repository":{"id":231156295,"uuid":"781042428","full_name":"1Solon/AS2-AES-Encryption","owner":"1Solon","description":"This is a simple implementation of the Rijndael-AES encryption algorithm in C.","archived":false,"fork":false,"pushed_at":"2024-04-13T22:08:49.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T04:59:36.174Z","etag":null,"topics":["aes","assignment","c"],"latest_commit_sha":null,"homepage":"","language":"Python","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/1Solon.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}},"created_at":"2024-04-02T16:35:50.000Z","updated_at":"2024-04-13T21:48:59.000Z","dependencies_parsed_at":"2024-04-13T15:24:41.239Z","dependency_job_id":"3ad9d43c-34b9-4f73-821e-0fb52b15169c","html_url":"https://github.com/1Solon/AS2-AES-Encryption","commit_stats":null,"previous_names":["1solon/as2-aes-encryption"],"tags_count":0,"template":false,"template_full_name":"1Solon/c-devcontainer-template","purl":"pkg:github/1Solon/AS2-AES-Encryption","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Solon%2FAS2-AES-Encryption","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Solon%2FAS2-AES-Encryption/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Solon%2FAS2-AES-Encryption/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Solon%2FAS2-AES-Encryption/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1Solon","download_url":"https://codeload.github.com/1Solon/AS2-AES-Encryption/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Solon%2FAS2-AES-Encryption/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32522245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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":["aes","assignment","c"],"created_at":"2025-04-01T18:39:28.061Z","updated_at":"2026-05-02T03:32:39.423Z","avatar_url":"https://github.com/1Solon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n## AS2-AES-Encryption\n\n_Assignment to build a Rijndael-AES implementation in c_\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub Repo stars](https://img.shields.io/github/stars/1Solon/AS2-AES-Encryption?style=for-the-badge)\n![GitHub forks](https://img.shields.io/github/forks/1Solon/AS2-AES-Encryption?style=for-the-badge)\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/1Solon/AS2-AES-Encryption/release.yaml?style=for-the-badge\u0026label=Scheduled%20Release)\n\n\u003c/div\u003e\n\n## What is this?\nThis is a simple implementation of the Rijndael-AES encryption algorithm in C. The library exposes two functions:\n```c\nunsigned char *aes_encrypt_block(unsigned char *plaintext, unsigned char *key);\nunsigned char *aes_decrypt_block(unsigned char *ciphertext, unsigned char *key);\n```\nThe `aes_encrypt_block` function takes a 16-byte plaintext block and a 16-byte key, and returns a 16-byte ciphertext block. The `aes_decrypt_block` function takes a 16-byte ciphertext block and a 16-byte key, and returns a 16-byte plaintext block.\n\n## Usage\nTo use the library, simply include the `libRijndael_lib.so` or `rijndael.h`  header file in your project and link against the `rijndael` library.\n\n**Note: this project is intended as an example only, DO NOT EVER USE SELF-BUILT CRYPTO IN A REAL PROJECT.**\n\n## Building\nTo build the library, run the following commands:\n```bash\ncmake . -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \u0026\u0026 make\n```\nThis will generate the `libRijndael_lib.so` shared library in the `build` directory.\n\n## Testing\nTo run the tests, run the following command:\n```bash\npytest\n```\nIf you do not have `pytest` installed, you can install it by running:\n```bash\npip install pytest\n```\n\n## DevContainer\nThis project includes a `devcontainer.json` file for use with Visual Studio Code. To use the devcontainer, simply open the project in Visual Studio Code and click the \"Reopen in Container\" button that appears in the bottom right corner of the window.\n\n## Acknowledgements\nThis project makes heavy use of examples from these links, which were invaluable in understanding the Rijndael-AES algorithm:\n\n* [Wikipedia](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)\n* [GeeksForGeeks](https://www.geeksforgeeks.org/advanced-encryption-standard-aes/)\n* [Sam Trenholme's C implementation](http://www.samiam.org/key-schedule.html)\n* [m3y54m](https://github.com/m3y54m/aes-in-c/blob/main/src/main.c)\n\nFor testing, I used the test vectors from the [NIST Cryptographic Algorithm Validation Program](https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/block-ciphers#AES).\n\nI also used [ircmaxell](https://github.com/ircmaxell/quality-checker/blob/master/tmp/gh_18/PHP-PasswordLib-master/test/Data/Vectors/aes-ecb.test-vectors)'s tests\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1solon%2Fas2-aes-encryption","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1solon%2Fas2-aes-encryption","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1solon%2Fas2-aes-encryption/lists"}