Skip to content

Crypto Algorithms List Properties Description #15

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions crypto-algorithms-list-properties-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# SPDX Cryptographic Algorithms List properties description

## Id

* Description: unique identifier for every cryptographic algorithm. This list provides an identifier per algorithm.
* Values: string, where the usage of lower or upper case characters depend on each algorithm

## Name

* Description: widely accepted name provided by the author of the algorithm or a standardization body
* Values: string

## commonkeySize

* Description: the detected key size
* Values: <integer>, where <integer> is an integer, provided in bits. More than one value is possible, separated by the operator AND

## specifiedkeySize

* Description: the default key size or range determined by the authors of the algorithm, standardization or compliance bodies/agencies
* Values: one of these options, or a combination of them, are valid
* <integer>, where <integer> is provided in bits. More than one value is possible, separated by the operator AND
* <integer> TO <integer>, where <integer> are provided in bits, to express a range

## cryptoClass

* Description: cryptographic algorithms are categorized in classes. The classes are defined by the number of cryptographic keys that are used in conjunction with the algorithm.
* Cryptographic hash functions do not require keys for their basic operation.
* Symmetric-key algorithms transform data in a way that is fundamentally difficult to undo without knowledge of a secret key. The key is “symmetric” because the same key is used for a cryptographic operation and its inverse
* Asymmetric-key algorithms, commonly known as public-key algorithms, use two related keys (i.e., a key pair) to perform their functions: a public key and a private key. The public key may be known by anyone; the private key should be under the sole control of the entity that “owns” the key pair. Even though the public and private keys of a key pair are related, knowledge of the public key cannot be used to determine the private key.
* Values: "Cryptographic-Hash-Function" , "Symetric-Key-Algorithm" or "Asymmetric-Key-Algorithm"

Note: the subclasses has been added to the cryptoClass property, separated by a "/" character from the class. This specific way to structure the subclasses is WIP.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If "Values" is a fixed set of 3 alternatives, there cannot be subclasses.
The easiest way would be to define something like cryptoSubClass as a separate string, arbitrary for now, to be defined maybe later.

Otherwise you have to explain here the actual structure of the allowed values.