{"id":16754480,"url":"https://github.com/coastalwhite/intro-power-analysis","last_synced_at":"2025-08-04T12:09:18.718Z","repository":{"id":51959975,"uuid":"346715249","full_name":"coastalwhite/intro-power-analysis","owner":"coastalwhite","description":"An introductory walkthrough into the concepts and workings of Power Analysis using the ChipWhisperer framework","archived":false,"fork":false,"pushed_at":"2021-05-17T10:02:12.000Z","size":4565,"stargazers_count":4,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-02T12:02:42.891Z","etag":null,"topics":["chipwhisperer","exercises","mdbook","power-analysis","simpleserial","walkthrough"],"latest_commit_sha":null,"homepage":"https://coastalwhite.github.io/intro-power-analysis/","language":"Python","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/coastalwhite.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":"2021-03-11T13:42:20.000Z","updated_at":"2025-02-19T18:39:28.000Z","dependencies_parsed_at":"2022-08-24T02:00:50.164Z","dependency_job_id":null,"html_url":"https://github.com/coastalwhite/intro-power-analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coastalwhite/intro-power-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coastalwhite%2Fintro-power-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coastalwhite%2Fintro-power-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coastalwhite%2Fintro-power-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coastalwhite%2Fintro-power-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coastalwhite","download_url":"https://codeload.github.com/coastalwhite/intro-power-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coastalwhite%2Fintro-power-analysis/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268694410,"owners_count":24291793,"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-08-04T02:00:09.867Z","response_time":79,"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":["chipwhisperer","exercises","mdbook","power-analysis","simpleserial","walkthrough"],"created_at":"2024-10-13T03:05:03.977Z","updated_at":"2025-08-04T12:09:18.696Z","avatar_url":"https://github.com/coastalwhite.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction into Power Analysis\n\nAn introductory walkthrough into the concepts and workings of Power Analysis\nusing the [ChipWhisperer](https://github.com/newaetech/chipwhisperer) framework.\nWill take one through breaking the\n[RSA](https://en.wikipedia.org/wiki/RSA_\\(cryptosystem\\)) and\n[AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) algorithms\nwith Power Analysis, and provide exercises to practice.\n\n[Link](https://coastalwhite.github.io/intro-power-analysis/) to the walkthrough.\n\nMade to be part a Master's Course of the [Leiden\nUniversity](https://www.universiteitleiden.nl/en).\n\n## Preliminaries\n\nThis course expects the reader to be reasonably familiar and comfortable with\nprogramming C / Rust and Python. Furthermore, it is highly recommended to have a\nrough understanding of Computer Architecture and encryption methodologies,\nalthough this is not strictly necessary. The walkthrough should take one through\nthe core material and provide references to further reading if unfamiliar topics\npop up.\n\nThis course makes use of the\n[ChipWhisperer](https://github.com/newaetech/chipwhisperer) framework to do the\npower measurements. The course provides example datasets for all exercises for\nwhen the reader does not have a\n[ChipWhisperer](https://github.com/newaetech/chipwhisperer) available, although\nit is recommended to follow along for the measurements as well. One should be\nable to do their measurements with an oscilloscope or other devices as well. The\ntheory behind the data analysis should remain the same.\n\n## Content of the walkthrough\n\nThe walkthrough contains [how to setup your\nenvironment](https://coastalwhite.github.io/intro-power-analysis/preparing.html)\nto be able to run measurements on the\n[ChipWhisperer](https://github.com/newaetech/chipwhisperer), install all the\nnecessary libraries and even how to create your own binaries to run on the\ntarget board. This is followed by an explanation of breaking\n[RSA](https://coastalwhite.github.io/intro-power-analysis/rsa) and\n[AES](https://coastalwhite.github.io/intro-power-analysis/aes). Each of which\ncontaining their own practice exercises for the reader. Ending with a [final\nassignment](https://coastalwhite.github.io/intro-power-analysis/assignment.html),\nwhich is mostly handy for universities using this walkthrough to assess the\nknowledge gained by the student.\n\n## Building from source\n\nThe source code here uses the [mdBook](https://github.com/rust-lang/mdBook)\nproject to generate a webpage from markdown files. In order to build from\nsource, install the `mdbook` binary and run the `mdbook build` command in the\nroot directory of this repository. This will create a `/book` directory\ncontaining the webpages.\n\nAlternatively, one could also (with the help of mdBook) compile into other\nformats such as [epub](https://github.com/Michael-F-Bryan/mdbook-epub) and PDF\n(using the print function on the webpage).\n\n## License\n\nLicensed under a MIT license.\n\n## Contributing\n\nIf any mistake or out-of-date content is found, please either submit a\n[issue](https://github.com/coastalwhite/intro-power-analysis/issues) or [pull\nrequest](https://github.com/coastalwhite/intro-power-analysis/pulls) in this\nrepository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoastalwhite%2Fintro-power-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoastalwhite%2Fintro-power-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoastalwhite%2Fintro-power-analysis/lists"}