This data set, which includes a list of cryptography algorithms with an open source implementation, was originally the output of SCANOSS mining efforts across its entire data base, which includes all relevant open source software published. Today, the intention is to turn this repository into a collaborative project to enrich and maintain this data set, not just for export control, the original target activity, but for other purposes as well, like quantum safe or compliance with a variety of regulations.
There are two main folders in this repo and several subfolders:
The definitions_crypto_algorithms folder contains the current definitions list together the information to create new ones or enrich the existing ones
You can find the index of the cryptography algorithms and their corresponding algorithId in the definition_index_crypto_algorithms.md fine. This is the best place to start.
The [list_definitions_crypto_algorithms](definitions_crypto_algorithms folder contains a set of YAML files which define all the available cryptography algorithms to be used when searching for hints inside source files.
The spec_crypto_algorithms contains the information to create new definitions, or to enrich the existing ones, as well as a description of the syntax followed on each definition. If you want to understand the syntaxt of each one of the definitions, this is the place to go.
The utilities folder contains some helper utility scripts written in Python to illustrate how these definitions can be leveraged.
The primary example is crypto_detect.py. More details on how to use it can be found here
The docs_crypto_algorithms folder contains documents that are relevant for maintainers, contributors and users, related to the project and its releases.
If you find a missing/invalid keyword, please do the following:
The team will review these requests and accept them into repo for everyone to benefit from.
This project is released under the Creative Commons Public Domain CC0-1.0 license. Full details can be found here.