{"id":13538640,"url":"https://github.com/ledger-donjon/lascar","last_synced_at":"2026-04-01T23:02:29.377Z","repository":{"id":34201409,"uuid":"155581951","full_name":"Ledger-Donjon/lascar","owner":"Ledger-Donjon","description":"Ledger's Advanced Side-Channel Analysis Repository","archived":false,"fork":false,"pushed_at":"2023-09-05T12:27:19.000Z","size":4250,"stargazers_count":403,"open_issues_count":3,"forks_count":61,"subscribers_count":24,"default_branch":"master","last_synced_at":"2026-03-28T00:58:07.598Z","etag":null,"topics":["open-source","python","side-channel"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ledger-Donjon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-10-31T15:38:09.000Z","updated_at":"2026-03-26T07:43:26.000Z","dependencies_parsed_at":"2023-02-13T23:46:14.888Z","dependency_job_id":"f227686c-27bf-4ed4-973b-10d0d364cb04","html_url":"https://github.com/Ledger-Donjon/lascar","commit_stats":{"total_commits":114,"total_committers":17,"mean_commits":6.705882352941177,"dds":0.6666666666666667,"last_synced_commit":"2638f436bccb3297e423b2e0584e52dc5b2997a4"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Ledger-Donjon/lascar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ledger-Donjon%2Flascar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ledger-Donjon%2Flascar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ledger-Donjon%2Flascar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ledger-Donjon%2Flascar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ledger-Donjon","download_url":"https://codeload.github.com/Ledger-Donjon/lascar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ledger-Donjon%2Flascar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["open-source","python","side-channel"],"created_at":"2024-08-01T09:01:14.443Z","updated_at":"2026-04-01T23:02:29.358Z","avatar_url":"https://github.com/Ledger-Donjon.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"31185b925d5152c7469b963809ceb22d\"\u003e\u003c/a\u003e新添加的"],"readme":"\n[![Ledger-Donjon Logo](images/logo.png)](https://blog.ledger.com/tag/donjon/)\n\n[![Join the chat at https://gitter.im/Ledger-Donjon/lascar](https://badges.gitter.im/Ledger-Donjon/lascar.svg)](https://gitter.im/Ledger-Donjon/lascar?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Documentation Status](https://readthedocs.org/projects/lascar/badge/?version=latest)](https://lascar.readthedocs.io/en/latest/?badge=latest) \n\n\n# LASCAR\n\n**L**edger's **A**dvanced **S**ide **C**hannel **A**nalysis **R**epository\n\nA fast, versatile, and open source python3 library designed to facilitate Side-Channel Analysis.\n\n*lascar* is intended to be used by seasoned side-channel attackers as well as laymen who would like to get a feel of side-channel analysis.\n\nFrom side-channel acquisitions to results management, passing by signal synchronisation, custom attacks, *lascar* provides classes/functions to solve most of the obstacles an attacker would face, when needed to perform sound, state-of-the-art side-channel analysis.\n\nThis project has been developed in parallel of the activities done by Ledger Donjon (Ledger's security team), to fully match our needs regarding side-channel evaluation.\n\n\n## Main features\n\nThe philosophy behind *lascar* is to simplify for the end user the process of a side-channel analysis.\nIt provides many classes and functions that you can accomodate with, or inherit from to do the job you need.\n\n- **Openness**: *lascar* library is open source and is intended to facilitate attack implementations, and exchange between users. Contributing to *lascar* is **strongly encouraged.**\n- **Simplicity**: For **basic** state of the art attacks, the corresponding *lascar* script shall stay **basic**\n- **Compatibility**: Since *lascar* relies on mainstream python libraries (numpy, sklearn, keras): *lascar* is easily deployable\n- **Flexibility**: Implement your own classes (for your already existing trace format, your specific attacks, the way you want your output to be...), use different languages (provided that you bind them with python),...\n\nPlease note that performance has not yet been challenged.\n\nThe [tutorial](tutorial/)/[examples](examples/) folders of the library provide basic scripts solving the most frequent use-cases of side-channel analysis.\n\n\n## Installation\n\n*Lascar* can be installed with pip3:\n\n```\npip3 install \"git+https://github.com/Ledger-Donjon/lascar.git\"\n```\n\n## Requirements\n\nThis library requires the following packages:\n\n- click\n- h5py\n- [keras](https://keras.io/) - for machine learning\n- [matplotlib](https://matplotlib.org/) - for curve visualization\n- [numba](https://numba.pydata.org/) - for python JIT code compilation\n- [numpy](https://numpy.org/\u003e`)\n- progressbar2\n- psuti\n- pytest\n- PyQt5\n- [scikit-learn](https://scikit-learn.org/) - for machine learning\n- [scipy](https://scipy.org/)\n- [tensorflow](https://www.tensorflow.org/) - keras backend\n- [vispy](https://vispy.org/) - for curve visualization\n\n## Tutorial\n\nThe [tutorial](tutorial/) folder contains commented scripts to understand how to handle the core classes behind *lascar* (Container, Session, Engine, OutputMethod)\n\n- [01-discovering-containers.py](tutorial/01-discovering-containers.py)\n- [02-store_containers.py](tutorial/02-store_containers.py)\n- [03-abstract-container.py](tutorial/03-abstract-container.py)\n- [04-acquisition-setup-example.py](tutorial/04-acquisition-setup-example.py)\n- [05-synchronization-example.py](tutorial/05-synchronization-example.py)\n- [06-session-introduction.py](tutorial/06-session-introduction.py)\n- [07-session-dpa-example.py](tutorial/07-session-dpa-example.py)\n- [08-session-manage-outputs.py](tutorial/08-session-manage-outputs.py)\n\n\n## Examples\n\nSee [examples.md](examples/examples.md)\n\n## Command-line tool\n\nUse `lascarctl`, *lascar* command line tool.\nFor documentation, [see here](LASCARCTL.md)\n\n\n## ![Ledger Donjon Logo](images/logo_donjon) About Ledger Donjon ![Ledger Donjon Logo](images/logo_donjon)\nCreated in 2018, Ledger Donjon (Ledger security team) regroups experts in security with a wide range of expertise (such as software, perturbation and side-channel attacks, secured development, reverse engineering, ...). Based in Paris, Ledger's Donjon tends to shift the paradigm of security through obscurity. Take a look at our [blogposts](https://www.ledger.fr/category/security/) and the [detailed introduction](https://www.ledger.fr/2018/11/12/introducing-ledger-donjon/)!\n\n\n## Acknowledgerments\n\nLedger's Donjon would like to thank the people behind [ASCAD](https://github.com/ANSSI-FR/ASCAD), for making available real side-channel traces and scripts for analysis.\nTheir traces have been used in examples/ascad/ folder to illustrate how to use *lascar* to reproduce (part of) their study.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledger-donjon%2Flascar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fledger-donjon%2Flascar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledger-donjon%2Flascar/lists"}