CodeQL library for Go
codeql/go-all 5.0.6-dev (changelog, source)
Search

Module Cryptography

Provides models for cryptographic things.

Import path

import semmle.go.Concepts

Classes

BlockModeInit

A data flow node that initializes a block cipher mode of operation, and may also propagate taint for encryption algorithms.

CryptographicOperation

A data-flow node that is an application of a cryptographic algorithm. For example, encryption, decryption, signature-validation.

EncryptionAlgorithmInit

A data flow node that initializes an encryption algorithm.

EncryptionMethodCall

An EncryptionOperation which is a method call where the encryption algorithm and block cipher mode of operation (if there is one) flow to the receiver and the input is an argument.

EncryptionOperation

A data flow node that is an application of an encryption algorithm, where the encryption algorithm and the block cipher mode of operation (if there is one) have been initialized separately.

HashAlgorithmInit

A data flow node that initializes a hash algorithm.

HashOperation

A data flow node that is an application of a hash algorithm.

Aliases

BlockMode

A cryptographic block cipher mode of operation. This can be used to encrypt data of arbitrary length using a block encryption algorithm.

CryptographicAlgorithm

A cryptographic algorithm.

CryptographicOperation

Provides classes for modeling new applications of a cryptographic algorithms.

EncryptionAlgorithm

An encryption algorithm such as DES or AES512.

HashingAlgorithm

A hashing algorithm such as MD5 or SHA512.

PasswordHashingAlgorithm

A password hashing algorithm such as PBKDF2 or SCRYPT.