Skip to main content

Toolsuite for side-channel acquisition, container and analysis

Project description

Ledger LogoLedger-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

Ledger Donjon Logo About Ledger Donjon Ledger Donjon Logo

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.

Project details


Release history Release notifications | RSS feed

This version

1.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lascar-1.1.tar.gz (77.5 kB view details)

Uploaded Source

Built Distribution

lascar-1.1-py3-none-any.whl (95.5 kB view details)

Uploaded Python 3

File details

Details for the file lascar-1.1.tar.gz.

File metadata

  • Download URL: lascar-1.1.tar.gz
  • Upload date:
  • Size: 77.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for lascar-1.1.tar.gz
Algorithm Hash digest
SHA256 6a5d77ee3671ebcecee9c8736fdc249386d71881cd17da2d8c0851dddabe83c3
MD5 29d9ca1d048b198d7ed2f0be61c1ef0f
BLAKE2b-256 059c020fbf9e5244cf89f1f6a862a3bcc4c84c73753fdc3d6d3488d69b36ad0d

See more details on using hashes here.

File details

Details for the file lascar-1.1-py3-none-any.whl.

File metadata

  • Download URL: lascar-1.1-py3-none-any.whl
  • Upload date:
  • Size: 95.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for lascar-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 650228cac2388787e6a4877b7a395dcc8254f876dc68fb2069bc3e3cebeebc8b
MD5 b4002c84af19f02c654e7d44a209cc4a
BLAKE2b-256 44c70773127e840d884acb026e50d12647d635c9527acb633effdac611348a5b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page