Jump to content

Component: Hydro Encryption (Comms: Networking): Difference between revisions

From Flowcode Help
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead""
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(One intermediate revision by the same user not shown)
Line 69: Line 69:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''hash_keygen'''
| width="90%" class="mtx-class-macrohead" | '''hash_keygen'''
|-
|-
| colspan="2" | Creates a secret key suitable for use with the hash_hash function. You must provide a 32 byte array for the key. 
| colspan="2" | Creates a secret key suitable for use with the hash_hash function. You must provide a 32 byte array for the key. 
Line 88: Line 88:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''hash_with_key'''
| width="90%" class="mtx-class-macrohead" | '''hash_with_key'''
|-
|-
| colspan="2" | Creates a hash fingerprint of the data, using the given key. Returns 0 if successful. 
| colspan="2" | Creates a hash fingerprint of the data, using the given key. Returns 0 if successful. 
Line 122: Line 122:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''hash_without_key'''
| width="90%" class="mtx-class-macrohead" | '''hash_without_key'''
|-
|-
| colspan="2" | Creates a hash fingerprint of the data, which will always have the same fingerprint, similar to the MD5 or SHA-1 Returns 0 if successful. 
| colspan="2" | Creates a hash fingerprint of the data, which will always have the same fingerprint, similar to the MD5 or SHA-1 Returns 0 if successful. 
Line 151: Line 151:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''init'''
| width="90%" class="mtx-class-macrohead" | '''init'''
|-
|-
| colspan="2" | Initialisation function. To be called at the very start of your program. 
| colspan="2" | Initialisation function. To be called at the very start of your program. 
Line 165: Line 165:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''secretbox_decrypt'''
| width="90%" class="mtx-class-macrohead" | '''secretbox_decrypt'''
|-
|-
| colspan="2" | Decrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
| colspan="2" | Decrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
Line 204: Line 204:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''secretbox_encrypt'''
| width="90%" class="mtx-class-macrohead" | '''secretbox_encrypt'''
|-
|-
| colspan="2" | Encrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
| colspan="2" | Encrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
Line 243: Line 243:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''secretbox_keygen'''
| width="90%" class="mtx-class-macrohead" | '''secretbox_keygen'''
|-
|-
| colspan="2" | Creates a secret key suitable for use with the secretbox functions. You must provide a 32 byte array for the key. 
| colspan="2" | Creates a secret key suitable for use with the secretbox functions. You must provide a 32 byte array for the key. 
Line 262: Line 262:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''sign_create'''
| width="90%" class="mtx-class-macrohead" | '''sign_create'''
|-
|-
| colspan="2" | Computes a signature for a message using the secret key. Returns 0 if successful. 
| colspan="2" | Computes a signature for a message using the secret key. Returns 0 if successful. 
Line 296: Line 296:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''sign_keygen'''
| width="90%" class="mtx-class-macrohead" | '''sign_keygen'''
|-
|-
| colspan="2" | Creates Private and Public key pair to sign and verify messages. Returns 0 if successful. 
| colspan="2" | Creates Private and Public key pair to sign and verify messages. Returns 0 if successful. 
Line 320: Line 320:
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''sign_verify'''
| width="90%" class="mtx-class-macrohead" | '''sign_verify'''
|-
|-
| colspan="2" | Verify the signature of a mesasge using the public key. Returns 0 if successful. 
| colspan="2" | Verify the signature of a mesasge using the public key. Returns 0 if successful. 
Line 354: Line 354:
{| class="mtx-class-macrotable wikitable"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|}
|}

Latest revision as of 14:23, 13 July 2026

Author
Version 1.0
Category Comms: Networking


Hydro Encryption component

A cipher suite to enable encryption and decryption of data messages, based on libhydrogen.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_libhydrogen.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_libhydrogen.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples






Macro reference

hash_keygen

hash_keygen
Creates a secret key suitable for use with the hash_hash function. You must provide a 32 byte array for the key. 
- BYTE key
 
- VOID Return


hash_with_key

hash_with_key
Creates a hash fingerprint of the data, using the given key. Returns 0 if successful. 
- BYTE hash
Buffer for the hash. Size >=32 makes it practically impossible for two messages to produce the same fingerprint. 
- BYTE data
The data buffer to be processed 
- UINT size
Byte count of the data to be processed 
- BYTE key
Key to be used 
- INT Return


hash_without_key

hash_without_key
Creates a hash fingerprint of the data, which will always have the same fingerprint, similar to the MD5 or SHA-1 Returns 0 if successful. 
- BYTE hash
Buffer for the hash. Size >=32 makes it practically impossible for two messages to produce the same fingerprint. 
- BYTE data
Data buffer to be processed 
- UINT size
Byte count of data to be processed 
- INT Return


init

init
Initialisation function. To be called at the very start of your program. 
- INT Return


secretbox_decrypt

secretbox_decrypt
Decrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
- BYTE message
Buffer for the decrypted message. Size must be at least length - 36 
- UINT length
The length (byte count) of the ciphertext 
- UINT ID
Message ID. Must match with the original message ID. Can be 0 
- BYTE key
The secret key 
- BYTE ciphertext
Buffer containing the ciphertext to be decrypted. 
- INT Return


secretbox_encrypt

secretbox_encrypt
Encrypts a message with a secret key. A single key is used both to encrypt/sign and verify/decrypt messages. For this reason, it is critical to keep the key confidential. Returns 0 on success. 
- BYTE message
Buffer containing the message to be encrypted. 
- UINT length
The length (byte count) of the message 
- UINT ID
Message ID. Can be 0 
- BYTE key
The secret key 
- BYTE ciphertext
Buffer for ciphertext output. Buffer size must be at least length + 36 
- INT Return


secretbox_keygen

secretbox_keygen
Creates a secret key suitable for use with the secretbox functions. You must provide a 32 byte array for the key. 
- BYTE key
 
- VOID Return


sign_create

sign_create
Computes a signature for a message using the secret key. Returns 0 if successful. 
- BYTE signature
Buffer to receive the signature. Must be 64 bytes. 
- BYTE message
Buffer containing the data to sign 
- UINT message_size
Byte count of the message 
- BYTE secret_key
Secret/Private key to be used.Size is 64 bytes. 
- INT Return


sign_keygen

sign_keygen
Creates Private and Public key pair to sign and verify messages. Returns 0 if successful. 
- BYTE Secret
Buffer to receive the Private/Secret Key. Buffer size must be 64 bytes 
- BYTE Public
Buffer to receive the Public key. Buffer size must be 32 bytes 
- INT Return


sign_verify

sign_verify
Verify the signature of a mesasge using the public key. Returns 0 if successful. 
- BYTE signature
Buffer to receive the signature. Must be 64 bytes. 
- BYTE message
Buffer containing the data to sign 
- UINT message_size
Byte count of the message 
- BYTE public_key
Public key to be used.Size is 32 bytes. 
- INT Return


Property reference

Properties