Juvix imports
module arch.node.engines.decryption_messages;
import prelude open;
import arch.node.types.identities open;
Decryption Messages¶
Message interface¶
type DecryptionMsg :=
| MsgDecryptionRequest RequestDecryption
| MsgDecryptionResponse ResponseDecryption;
Message sequence diagrams¶
Request sequence¶
sequenceDiagram
participant C as Client
participant DE as Decryption Engine
C->>DE: RequestDecryption(encryptedData)
Note over DE: Attempt to decrypt data
alt Decryption Successful
DE-->>C: ResponseDecryption(decryptedData, err=none)
else Decryption Failed
DE-->>C: ResponseDecryption(emptyByteString, err="Decryption Failed")
end
Message types¶
RequestDecryption
¶
type RequestDecryption :=
mkRequestDecryption@{
data : Ciphertext;
};
A RequestDecryption
instructs a decryption engine instance to decrypt data.
Arguments
data
:- The encrypted ciphertext to decrypt.
ResponseDecryption
¶
type ResponseDecryption :=
mkResponseDecryption@{
data : Plaintext;
err : Option String;
};
A ResponseDecryption
contains the data decrypted by a decryption engine instance
in response to a RequestDecryption
.
Arguments
data
:- The decrypted data.
err
:- An error message if decryption failed.
DecryptionMsg
¶
type DecryptionMsg :=
| MsgDecryptionRequest RequestDecryption
| MsgDecryptionResponse ResponseDecryption;