Skip to main content

Algtest pyProcess

A tool for simple visualizations of gathered TPM and JavaCard smart card data collected by tpm2-algtest and JCAlgtest tools respectively.

Getting started

Dependencies

Installing

  • Setup virtual environment
python -m venv venv
source venv/bin/activate
  • Install package using pip or run setup.py
pip install -e .

NOTE

If you are an user of fish shell, right command is source venv/bin/activate.fish


Usage

pyprocess command

An entry point to the command line interface, which is used mostly to preprocess the datasets which are then analysed in jupyter notebooks.

Commands:
  tpm       A collection of commands for processing of results from tpm2-algtest
  javacard  NOT YET IMPLEMENTED
tpm commands
metadata-update

Command which is used to find all measurements on a given path, and group them by exact firmware. The output is metadata.json which contains these aggregated paths. Latter part of this file contains directory hashes, to prevent duplicate inclusion of the same measurement. An example of metadata.json file is shown below.

If you have already created a metadata.json file and just want to add more measurements, you may use -i option which takes path to old metadata.json file.

pyprocess tpm metadata-update ./results/tpmalgtest_results_2022
pyprocess tpm metadata-update -i metadata.json ./results/tpmalgtest_results_2023

An example of metadata.json file.

{
  "entries": {
    "STM 73.4.17568.4452": {
      "TPM name": "STM 73.4.17568.4452",
      "vendor": "STM",
      "title": "",
      "measurement paths": [
        "/home/tjaros/storage/research/tpm/tpmalgtest_results/out4/out",
        "/home/tjaros/storage/research/tpm/tpmalgtest_results/algtest_result_8d400ec7-122c-498f-b141-733d359ad78f_STM",
        "/home/tjaros/storage/research/tpm/tpmalgtest_results/algtest_result_9fdfdf94-3a4a-4cd3-9a92-86642f9f4f6c"
      ]
    },
    "AMD AMD 3.37.0.5": {
      "TPM name": "AMD AMD 3.37.0.5",
      "vendor": "AMD",
      "title": "",
      "measurement paths": [
        "/home/tjaros/storage/research/tpm/tpmalgtest_results/algtest_result_70de7ce0-de7c-42bc-9f86-708d8304ad48"
      ]
    },
  },
   "hashes": [
    "862ad83383339467dbd687f3ebb2d075",
    "7f78e96bd4fc47299cdbaa7cf1a1c1e3",
    "3d6f2c211f00245d2a7b2c6458b3626a",
    "2b3242fc08c73b608a227eea563f1531",
   ],
}

License

This project is licensed under MIT License - see the LICENSE file for details

Release files for algtestprocess 0.1.6

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

Source distribution (sdist)

Source distribution for algtestprocess 0.1.6
File Size Uploaded
algtestprocess-0.1.6.tar.gz 84.2 kB Details

Release files / algtestprocess-0.1.6.tar.gz

Download URL algtestprocess-0.1.6.tar.gz
Size 84.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0453f03e7ac9c7fb2435935fd2f6e326b8cbe495c7b4efa9f61b132c3ac039d4
BLAKE2b-256 checksum
How to use checksums
cd84fdd495e0f4fb6ebcf0fb95a32173a0db0427e700dab9afecd053cf184244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.6 This release

1 release file

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