Quad, core pack BSSCP (Blockchain cryptographic service provider) package Util Toolkit
Package Description: This package is mainly related to BCCSP (Blockchain cryptographic service provider) of the core files of the interface files, mainly to provide some cryptography-related operational implementation of the pretext, including hashing, signature, verification and decryption and so on. The file is a structural interface description of some of the main cryptographic algorithms, such as AES, Elliptic curve Signature algorithm, SHA hash algorithm, RSA algorithm, and some configuration file interfaces such as KeyStore configuration, optional configuration, and so on. These mainly support the related calls of the MSP. core file 1 Bccsp.go:
BCCSP interface: Mainly defines cryptography related operations, including encryption and decryption, signature and verification, signature, Hash, key life cycle management methods. The name is mainly the Ops suffix. core file 2 aesopts.go:
AES Series interface: AES algorithm related option structure, mainly contains three types of key:128-bit key series Aes128keygenopts operation, 196-bit key series Aes192keygenopts operation, 256-bit key series aes256keygenopts operation. core File 3 Ecdsaopts.go:
ECDSA Series interface: ECDSA algorithm related option structure, mainly contains two types of key:256-bit key series Ecdsap256keygenopts operation, 384-bit key series ecdsap384keygenopts operation. core file 4 Hashopts.go:
Hash Series interface: hash algorithm related options structure, mainly contains two types of four key:256-bit key series Sha256opts operation, 256-bit key series Sha3_256opts operation, 384-bit key series Sha384opts operation, 384-bit Key series sha3_384opts operation. core file 5 rsaopts.go:
Hash Series interface: hash algorithm related options structure, mainly contains four types of key:1024-bit key series Rsa1024keygenopts operation, 2048-bit key series Rsa1024keygenopts operation, 3,072-bit key series Rsa3072keygenopts operation, 4,096-bit key series rsa4096keygenopts operation. Core file 6 Keystore.go:
KeyStore-related interfaces: Primarily used to define KeyStore interfaces and store cryptographic keys. Its main three methods interface: one is to save key, one is to take key, and the other is to constrain whether the KeyStore is read-only state. Core File 7 opts.go:
Set the interface: mainly for some constants to name and other related settings, in addition.
Built-in method: Algorithm () string
⭕️ most of the methods that contain algorithm () algorithms are basically planned for later versions (to be used).
Built-in method: ephemeral () bool
⭕️ describes whether to terminate a job in a loop. When it is false, it terminates, otherwise it continues.
———————————————————————————— utils Toolkit Summary
The main content of the whole encryption package is set up around the interface of the above implementation, including several mainstream pluggable encryption techniques.
You can know that in the subsequent maintenance of the encryption related content, you should maintain the interface state information on this side, in order to ensure the integrity of the information.