diff --git a/README.md b/README.md
index f97a298..30429db 100644
--- a/README.md
+++ b/README.md
@@ -1,75 +1,36 @@
# SCRUTINY
-
+![License](https://img.shields.io/badge/License-MIT-blue)
[![Pylint](https://github.com/crocs-muni/scrutiny/actions/workflows/pylint.yml/badge.svg?branch=main)](https://github.com/crocs-muni/scrutiny/actions/workflows/pylint.yml)
[![Flake8](https://github.com/crocs-muni/scrutiny/actions/workflows/flake8.yml/badge.svg?branch=main)](https://github.com/crocs-muni/scrutiny/actions/workflows/flake8.yml)
An automated toolkit to analyze secure hardware, and build user-verifiable hardware profiles. SCRUTINY provides high-level frameworks to verify profiles against reference and produce detailed HTML reports. For now, SCRUTINY is capable of JavaCard smartcards, Trusted Platform Modules (TPM), self-encrypted disks (SED) and cryptographic libraries analysis and verification using domain-specific tools listed below (tools marked with * are developed primarily by a third party):
-- [JCAlgTest](https://github.com/crocs-muni/JCAlgTest) ![stars](https://img.shields.io/github/stars/crocs-muni/JCAlgTest.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/JCAlgTest.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/JCAlgTest.svg)
-
-Automated testing tool for algorithms from JavaCard API supported by particular smart card. Performance testing of almost all available methods. The results for more than 60+ cards available at https://jcalgtest.org.
-
-
-- [jcAIDScan](https://github.com/petrs/jcAIDScan) ![stars](https://img.shields.io/github/stars/petrs/jcAIDScan.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/petrs/jcAIDScan.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/petrs/jcAIDScan.svg)
-
-An automated scanner for JavaCard packages installed and supported by target card. Evaluates all packages from JavaCard API specification up to JC API 3.0.5.
-
-- [GlobalPlatformPro tool*](https://github.com/martinpaljak/GlobalPlatformPro) ![stars](https://img.shields.io/github/stars/martinpaljak/GlobalPlatformPro.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/martinpaljak/GlobalPlatformPro.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/martinpaljak/GlobalPlatformPro.svg)
-
-Mature tool for managing applets via GlobalPlatform
-
-- [TPMAlgTest](https://github.com/crocs-muni/tpm2-algtest) ![stars](https://img.shields.io/github/stars/crocs-muni/tpm2-algtest.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/tpm2-algtest.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/tpm2-algtest.svg)
-
-A scanner for Trusted Platform Module algorithms, performance and properties of cryptographic implementation.
-
-- [JCMathLib - ECPoint library](https://github.com/OpenCryptoProject/JCMathLib) ![stars](https://img.shields.io/github/stars/OpenCryptoProject/JCMathLib.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/OpenCryptoProject/JCMathLib.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/OpenCryptoProject/JCMathLib.svg)
-Provides software re-implementation of low-level operations like ECPoint or BigInteger without any use of proprietary API. Used for JavaCard capabilities testing.
-
-- [ECTester](https://github.com/crocs-muni/ectester) ![stars](https://img.shields.io/github/stars/crocs-muni/ectester.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/ectester.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/ectester.svg)
-
-ECTester is a tool for testing and analysis of elliptic curve cryptography implementations on JavaCards and in cryptographic libraries.
-
-- [pyecsca](https://github.com/J08nY/pyecsca) ![stars](https://img.shields.io/github/stars/J08nY/pyecsca.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/J08nY/pyecsca.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/J08nY/pyecsca.svg)
-
-Python Elliptic Curve cryptography Side-Channel Analysis toolkit. Focuses on black-box implementations of ECC and presents a way to extract implementation information about a black-box implementation of ECC through side-channels. The main goal of pyecsca is to be able to reverse engineer the curve model, coordinate system, addition formulas, scalar multiplier and even finite-field implementation details.
-
-- [ec-detector](https://github.com/crocs-muni/ec-detector) ![stars](https://img.shields.io/github/stars/crocs-muni/ec-detector.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/ec-detector.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/ec-detector.svg)
-
-EC detector is a code parser that can determine, with some degree of confidence, which elliptic curves a given piece of code contains.
-
-- [roca_detect](https://github.com/crocs-muni/roca) ![stars](https://img.shields.io/github/stars/crocs-muni/roca.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/roca.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/roca.svg)
-
-Tester of properties of keys vulnerable to Return of the Coppersmith’s Attack (CVE-2017-15361) allowing practical factorization of RSA keys from Infineon chips.
-
-- [RSABias](https://github.com/crocs-muni/RSABias) ![stars](https://img.shields.io/github/stars/crocs-muni/RSABias.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/RSABias.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/RSABias.svg)
-
-Tester of statistical properties of RSA keys, which vary between different cryptographic libraries.
-
-- [Javus](https://github.com/crocs-muni/Javus) ![stars](https://img.shields.io/github/stars/crocs-muni/Javus.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/Javus.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/Javus.svg)
-
-A testing framework for executing known logical attacks against the JavaCard platform. The behavioral characteristics of JCVM are retrieved.
+| Tool | Repo stats | Domain | Info | Notes |
+|----------|----------|----------|----------|----------|
+| [JCAlgTest](https://github.com/crocs-muni/JCAlgTest) | ![stars](https://img.shields.io/github/stars/crocs-muni/JCAlgTest.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/JCAlgTest.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/JCAlgTest.svg) | ![][javacard] ![][rsa] ![][ecc] | Automated testing tool for algorithms from JavaCard API supported by particular smart card. Performance testing of almost all available methods. The results for more than 100+ cards available at https://jcalgtest.org. | |
+| [jcAIDScan](https://github.com/petrs/jcAIDScan) | ![stars](https://img.shields.io/github/stars/petrs/jcAIDScan.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/petrs/jcAIDScan.svg) ![lastcommit](https://img.shields.io/github/last-commit/petrs/jcAIDScan.svg) | ![][javacard] | An automated scanner for JavaCard packages installed and supported by target card. Evaluates all packages from JavaCard API specification up to JC API 3.0.5. | |
+| [GlobalPlatformPro tool](https://github.com/martinpaljak/GlobalPlatformPro) | ![stars](https://img.shields.io/github/stars/martinpaljak/GlobalPlatformPro.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/martinpaljak/GlobalPlatformPro.svg) ![lastcommit](https://img.shields.io/github/last-commit/martinpaljak/GlobalPlatformPro.svg) | ![][javacard] | Mature tool for managing applets via GlobalPlatform | Developed by M. Paljak |
+|[TPMAlgTest](https://github.com/crocs-muni/tpm2-algtest) | ![stars](https://img.shields.io/github/stars/crocs-muni/tpm2-algtest.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/tpm2-algtest.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/tpm2-algtest.svg) | ![][tpm] ![][rsa] ![][ecc] | A scanner for Trusted Platform Module algorithms, performance and properties of cryptographic implementation. | |
+| [JCMathLib - ECPoint library](https://github.com/OpenCryptoProject/JCMathLib) | ![stars](https://img.shields.io/github/stars/OpenCryptoProject/JCMathLib.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/OpenCryptoProject/JCMathLib.svg) ![lastcommit](https://img.shields.io/github/last-commit/OpenCryptoProject/JCMathLib.svg) | ![][javacard] ![][rsa] ![][ecc] | Provides software re-implementation of low-level operations like ECPoint or BigInteger without any use of proprietary API. Used for JavaCard capabilities testing. | |
+| [ECTester](https://github.com/crocs-muni/ectester) | ![stars](https://img.shields.io/github/stars/crocs-muni/ectester.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/ectester.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/ectester.svg) | ![][javacard] ![][cryptolibs] ![][ecc] | ECTester is a tool for testing and analysis of elliptic curve cryptography implementations on JavaCards and in cryptographic libraries. | |
+| [pyecsca](https://github.com/J08nY/pyecsca) | ![stars](https://img.shields.io/github/stars/J08nY/pyecsca.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/J08nY/pyecsca.svg) ![lastcommit](https://img.shields.io/github/last-commit/J08nY/pyecsca.svg) | ![][javacard] ![][cryptolibs] ![][ecc] | Python Elliptic Curve cryptography Side-Channel Analysis toolkit. Reverse engineer the curve model, coordinate system, addition formulas, scalar multiplier and even finite-field implementation details from blackbox implementations using side-channels. | |
+| [ec-detector](https://github.com/crocs-muni/ec-detector) | ![stars](https://img.shields.io/github/stars/crocs-muni/ec-detector.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/ec-detector.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/ec-detector.svg) | ![][cryptolibs] ![][ecc] | EC detector is a code parser that can determine, with some degree of confidence, which elliptic curves a given piece of code contains. | |
+| [roca_detect](https://github.com/crocs-muni/roca) | ![stars](https://img.shields.io/github/stars/crocs-muni/roca.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/roca.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/roca.svg) | ![][javacard] ![][cryptolibs] ![][rsa] | Tester of properties of keys vulnerable to Return of the Coppersmith’s Attack (CVE-2017-15361) allowing practical factorization of RSA keys from Infineon chips. | |
+| [RSABias](https://github.com/crocs-muni/RSABias) | ![stars](https://img.shields.io/github/stars/crocs-muni/RSABias.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/RSABias.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/RSABias.svg) | ![][javacard] ![][cryptolibs] ![][rsa] | Tester of statistical properties of RSA keys, which vary between different cryptographic libraries. | |
+| [Javus](https://github.com/crocs-muni/Javus) | ![stars](https://img.shields.io/github/stars/crocs-muni/Javus.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/Javus.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/Javus.svg) | ![][javacard] | A testing framework for executing known logical attacks against the JavaCard platform. The behavioral characteristics of JCVM are retrieved. | |
+| [JCProfilerNext](https://github.com/lzaoral/JCProfilerNext) | ![stars](https://img.shields.io/github/stars/lzaoral/JCProfilerNext.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/lzaoral/JCProfilerNext.svg) ![lastcommit](https://img.shields.io/github/last-commit/lzaoral/JCProfilerNext.svg) | ![][javacard] | Performance profiler for on-card JavaCard code. Provides a completely automated preprocessing, compilation, installation and profiling of JavaCard code on JavaCard smart cards. Produces interactive performance graphs. | |
+| [opal-toolset](https://github.com/crocs-muni/opal-toolset) | ![stars](https://img.shields.io/github/stars/crocs-muni/opal-toolset.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/opal-toolset.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/opal-toolset.svg) | ![][sed] ![][rng] | A set of tools for managing and analysing self-encrypting devices with Opal standard. | |
+| [booltest](https://github.com/ph4r05/booltest) | ![stars](https://img.shields.io/github/stars/ph4r05/booltest.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/ph4r05/booltest.svg) ![lastcommit](https://img.shields.io/github/last-commit/ph4r05/booltest.svg) | ![][rng] | Statical randomness testing tool for TRNG and PRNG generators based on boolean polynomials. | |
+| [cooltest](https://github.com/jirigav/cooltest/) | ![stars](https://img.shields.io/github/stars/jirigav/cooltest.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/jirigav/cooltest.svg) ![lastcommit](https://img.shields.io/github/last-commit/jirigav/cooltest.svg) | ![][rng] | Statical randomness testing tool for TRNG and PRNG generators based on a histogram construction. | |
+| [sec-certs](https://github.com/crocs-muni/sec-certs) | ![stars](https://img.shields.io/github/stars/crocs-muni/sec-certs.svg?style=social) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/sec-certs.svg) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/sec-certs.svg) | algs | A tool for data scraping, analysis and adavnaced searching of security certificates from Common Criteria and FIPS 140-2/3 schemes. | |
-- [JCProfilerNext](https://github.com/lzaoral/JCProfilerNext) ![stars](https://img.shields.io/github/stars/lzaoral/JCProfilerNext.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/lzaoral/JCProfilerNext.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/lzaoral/JCProfilerNext.svg)
-Performance profiler for Java Card code. Provides a completely automated preprocessing, compilation, installation and profiling of JavaCard code on JavaCard smart cards. Produces interactive performance graphs.
-
-- [opal-toolset](https://github.com/crocs-muni/opal-toolset) ![stars](https://img.shields.io/github/stars/crocs-muni/opal-toolset.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/opal-toolset.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/opal-toolset.svg)
-
-A set of tools for managing and analysing Opal SED devices.
-
-- [booltest](https://github.com/ph4r05/booltest) ![stars](https://img.shields.io/github/stars/ph4r05/booltest.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/ph4r05/booltest.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/ph4r05/booltest.svg)
-Boolean PRNG tester - analysing statistical properties of PRNGs.
-
-- [cooltest](https://github.com/jirigav/cooltest/) ![stars](https://img.shields.io/github/stars/jirigav/cooltest.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/jirigav/cooltest.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/jirigav/cooltest.svg)
-CoolTest is a randomness-testing tool using distinguishers based on a histogram construction.
-
-- [sec-certs](https://github.com/crocs-muni/sec-certs) ![stars](https://img.shields.io/github/stars/crocs-muni/sec-certs.svg?style=social) ![lastcommit](https://img.shields.io/github/last-commit/crocs-muni/sec-certs.svg) ![numcontributors](https://img.shields.io/github/contributors-anon/crocs-muni/sec-certs.svg)
-
-A tool for data scraping and analysis of security certificates from Common Criteria and FIPS 140-2/3 frameworks.
## How does it work?
SCRUTINY will run set of open-source tools (see above) to gather information about your smart card, TPM, disk or cryptographic library. The information will be parsed and united into JSON profile. Such profile can be compared to reference, producing verification JSON profile, which can be transformed to HTML report, easily readable by a human.
+Depending on a target you analyze (smartcard, TPM, disk, library...), the exact usage steps differ. The example below applies for smartcards with JavaCard platform.
+
## Set-up
### 1. Download the repository
@@ -80,6 +41,8 @@ SCRUTINY will run set of open-source tools (see above) to gather information abo
`$ python -u setup_script.py`
+## Analysis of smartcad with JavaCard platform
+
### 3. Connect your Java Card
### 4. Run SCRUTINY Java Card analysis
@@ -104,8 +67,20 @@ Run any of the scripts with `-h/--help` to show detailed usage instructions.
## Dependencies
-Python 3.8 with PIP, Java Runtime Environment.
+At least Python 3.8 with PIP, Java Runtime Environment.
## Limitations
-SCRUTINY is limited by the tools it depends on. Selection from multiple connected smart cards in the measurement script is not supported. Please, have at most one card connected to the PC while performing SCRUTINY Measure for Java Cards.
+SCRUTINY is limited by the tools it depends on. Selection from multiple connected smart cards in the measurement script is not supported. Please, have at most one card connected to the PC while performing SCRUTINY Measure for JavaCards.
+
+
+[javacard]: https://img.shields.io/badge/platform-javacard-green
+[tpm]: https://img.shields.io/badge/platform-tpm-blue
+[cryptolibs]: https://img.shields.io/badge/platform-cryptolibs-yellow
+[sed]: https://img.shields.io/badge/platform-sed-red
+
+[rsa]: https://img.shields.io/badge/alg-RSA-red
+[ecc]: https://img.shields.io/badge/alg-ECC-orange
+[rng]: https://img.shields.io/badge/alg-rng-lightgray
+
+