Skip to main content

Ledger Logo Ledger-Donjon Logo

Join the chat at https://gitter.im/Ledger-Donjon/lascar

Documentation Status

LASCAR

Ledger's Advanced Side Channel Analysis Repository

A fast, versatile, and open source python3 library designed to facilitate Side-Channel Analysis.

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.

From 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.

This 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.

Main features

The philosophy behind lascar is to simplify for the end user the process of a side-channel analysis. It provides many classes and functions that you can accomodate with, or inherit from to do the job you need.

  • Openness: lascar library is open source and is intended to facilitate attack implementations, and exchange between users. Contributing to lascar is strongly encouraged.
  • Simplicity: For basic state of the art attacks, the corresponding lascar script shall stay basic
  • Compatibility: Since lascar relies on mainstream python libraries (numpy, sklearn, keras): lascar is easily deployable
  • 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),...

Please note that performance has not yet been challenged.

The tutorial/examples folders of the library provide basic scripts solving the most frequent use-cases of side-channel analysis.

Installation

Lascar can be installed with pip3:

pip3 install "git+https://github.com/Ledger-Donjon/lascar.git"

Requirements

This library requires the following packages:

Tutorial

The tutorial folder contains commented scripts to understand how to handle the core classes behind lascar (Container, Session, Engine, OutputMethod)

Examples

See examples.md

Command-line tool

Use lascarctl, lascar command line tool. For documentation, see here

Created 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 and the detailed introduction!

Acknowledgerments

Ledger's Donjon would like to thank the people behind ASCAD, for making available real side-channel traces and scripts for analysis. Their traces have been used in examples/ascad/ folder to illustrate how to use lascar to reproduce (part of) their study.

Metadata

Release files for lascar 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lascar 1.1
File Size Uploaded
lascar-1.1.tar.gz 77.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lascar 1.1
File Interpreter ABI Platform
lascar-1.1-py3-none-any.whl Python 3 none any Details

Total release size: 173.0 kB

Release files / lascar-1.1.tar.gz

Download URL lascar-1.1.tar.gz
Size 77.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6a5d77ee3671ebcecee9c8736fdc249386d71881cd17da2d8c0851dddabe83c3
BLAKE2b-256 checksum
How to use checksums
059c020fbf9e5244cf89f1f6a862a3bcc4c84c73753fdc3d6d3488d69b36ad0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / lascar-1.1-py3-none-any.whl

Download URL lascar-1.1-py3-none-any.whl
Size 95.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
650228cac2388787e6a4877b7a395dcc8254f876dc68fb2069bc3e3cebeebc8b
BLAKE2b-256 checksum
How to use checksums
44c70773127e840d884acb026e50d12647d635c9527acb633effdac611348a5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page