Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/block_cipher_protocol_0.rst.txt

.. index:: single: block_cipher_protocol .. _block_cipher_protocol/0:

.. rst-class:: right

protocol

block_cipher_protocol

Protocol for one-shot encryption and decryption using a block cipher.

| Availability: | logtalk_load(block_ciphers(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-08-03

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: encrypt_block/3 .. _block_cipher_protocol/0::encrypt_block/3:

encrypt_block/3 ^^^^^^^^^^^^^^^^^^^

Encrypts a plaintext block using the given key.

| Compilation flags: | static

| Template: | encrypt_block(Key,PlaintextBlock,CiphertextBlock) | Mode and number of proofs: | encrypt_block(+list(byte),+list(byte),--list(byte)) - one_or_error

| Exceptions: | Key or PlaintextBlock is a variable or a partial list: | instantiation_error | Key is neither a variable nor a list of the required number of bytes: | type_error(list(byte,KeySize),Key) | PlaintextBlock is neither a variable nor a list of the required number of bytes: | type_error(list(byte,BlockSize),PlaintextBlock) | Key or PlaintextBlock contains a non-integer byte: | type_error(integer,Byte) | Key or PlaintextBlock contains an integer outside the byte range: | domain_error(byte,Byte)


.. index:: decrypt_block/3 .. _block_cipher_protocol/0::decrypt_block/3:

decrypt_block/3 ^^^^^^^^^^^^^^^^^^^

Decrypts a ciphertext block using the given key.

| Compilation flags: | static

| Template: | decrypt_block(Key,CiphertextBlock,PlaintextBlock) | Mode and number of proofs: | decrypt_block(+list(byte),+list(byte),--list(byte)) - one_or_error

| Exceptions: | Key or CiphertextBlock is a variable or a partial list: | instantiation_error | Key is neither a variable nor a list of the required number of bytes: | type_error(list(byte,KeySize),Key) | CiphertextBlock is neither a variable nor a list of the required number of bytes: | type_error(list(byte,BlockSize),CiphertextBlock) | Key or CiphertextBlock contains a non-integer byte: | type_error(integer,Byte) | Key or CiphertextBlock contains an integer outside the byte range: | domain_error(byte,Byte)


.. index:: block_size/1 .. _block_cipher_protocol/0::block_size/1:

block_size/1 ^^^^^^^^^^^^^^^^

Returns the cipher block size in bytes.

| Compilation flags: | static

| Template: | block_size(BlockSize) | Mode and number of proofs: | block_size(--integer) - one


.. index:: key_size/1 .. _block_cipher_protocol/0::key_size/1:

key_size/1 ^^^^^^^^^^^^^^

Returns the cipher key size in bytes.

| Compilation flags: | static

| Template: | key_size(KeySize) | Mode and number of proofs: | key_size(--integer) - one


Protected predicates

(none)

Private predicates

(none)

Operators

(none)