SkfBlockCipher

Trait SkfBlockCipher 

Source
pub trait SkfBlockCipher {
    // Required methods
    fn encrypt_init(
        &self,
        key: &dyn ManagedKey,
        param: &BlockCipherParameter,
    ) -> Result<()>;
    fn encrypt(
        &self,
        key: &dyn ManagedKey,
        data: &[u8],
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
    fn encrypt_update(
        &self,
        key: &dyn ManagedKey,
        data: &[u8],
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
    fn encrypt_final(
        &self,
        key: &dyn ManagedKey,
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
    fn decrypt_init(
        &self,
        key: &dyn ManagedKey,
        param: &BlockCipherParameter,
    ) -> Result<()>;
    fn decrypt(
        &self,
        key: &dyn ManagedKey,
        data: &[u8],
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
    fn decrypt_update(
        &self,
        key: &dyn ManagedKey,
        data: &[u8],
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
    fn decrypt_final(
        &self,
        key: &dyn ManagedKey,
        buffer_size: usize,
    ) -> Result<Vec<u8>>;
}
Expand description

Block cipher service

Required Methods§

Source

fn encrypt_init( &self, key: &dyn ManagedKey, param: &BlockCipherParameter, ) -> Result<()>

Initialize encryption

[key] - The key object

[param] - The encryption parameter

Source

fn encrypt( &self, key: &dyn ManagedKey, data: &[u8], buffer_size: usize, ) -> Result<Vec<u8>>

Encrypt data

[data] - The data to encrypt

[buffer_size] - The buffer size to receive encrypted data,it depends on the encryption parameter passed by encrypt_init and crypto algorithm

see SKF_Encrypt for more details

Source

fn encrypt_update( &self, key: &dyn ManagedKey, data: &[u8], buffer_size: usize, ) -> Result<Vec<u8>>

Encrypting multiple groups of data.

[data] - The data to encrypt

[buffer_size] - The buffer size to receive encrypted data,it depends on the encryption parameter passed by encrypt_init and crypto algorithm

see SKF_EncryptUpdate for more details

Source

fn encrypt_final( &self, key: &dyn ManagedKey, buffer_size: usize, ) -> Result<Vec<u8>>

Finish encrypting multiple groups of data, return the remaining encrypted result

[buffer_size] - The buffer size to receive encrypted data,it depends on the encryption parameter passed by encrypt_init and crypto algorithm

see SKF_EncryptFinal for more details

Source

fn decrypt_init( &self, key: &dyn ManagedKey, param: &BlockCipherParameter, ) -> Result<()>

Initialize decryption

[key] - The key object

[param] - The decryption parameter

see SKF_DecryptInit for more details

Source

fn decrypt( &self, key: &dyn ManagedKey, data: &[u8], buffer_size: usize, ) -> Result<Vec<u8>>

Decrypt data

[data] - The data to decrypt

[buffer_size] - The buffer size to receive decrypted data,it depends on the decryption parameter passed by decrypt_init and crypto algorithm

see SKF_Decrypt for more details

Source

fn decrypt_update( &self, key: &dyn ManagedKey, data: &[u8], buffer_size: usize, ) -> Result<Vec<u8>>

Decrypting multiple groups of data.

[data] - The data to decrypt

[buffer_size] - The buffer size to receive decrypted data,it depends on the encryption parameter passed by decrypt_init and crypto algorithm

see SKF_EncryptUpdate for more details

Source

fn decrypt_final( &self, key: &dyn ManagedKey, buffer_size: usize, ) -> Result<Vec<u8>>

Finish decrypting multiple groups of data, return the remaining decrypted result

[buffer_size] - The buffer size to receive decrypted data,it depends on the decryption parameter passed by decrypt_init and crypto algorithm

see SKF_EncryptFinal for more details

Implementors§