IOTA tutorial 20: Masked Authenticated Messaging Payload

IOTA tutorial 20: Masked Authenticated Messaging Payload

If you like this video and want to support me, go this page for my donation crypto addresses:
https://www.youtube.com/c/mobilefish/about

This is part 20 of the IOTA tutorial.

In this video series different topics will be explained which will help you to understand IOTA.
It is recommended to watch each video sequentially as I may refer to certain IOTA topics explained earlier.

The main objective of this video is to provide you with some basic knowledge about the Masked Authenticated Messaging Payload.

The masked payload is created in file:
https://github.com/iotaledger/MAM/blob/master/mam/src/mam.rs
See the create function.

The nonce is created in file:
https://github.com/iotaledger/iota.rs/blob/master/curl-cpu/src/ham.rs
See the search function.

Nonce is a number based on the side key, root, index, message length, next root and message.
Lets call these values “masked bundle values”.
Nonce can be interpreted as a value created by scrambling these “masked bundle values” in a specific way using the security level.

The subseed and key are created in file:
https://github.com/iotaledger/iota.rs/blob/master/sign/src/iss.rs
See the subseed and key function.

The signature is created in file:
https://github.com/iotaledger/iota.rs/blob/master/sign/src/iss.rs
See the signature function.

When consuming a MAM stream, the signature is first validated by verifying if the signature belongs to one of the tree’s leaves.
If the signature verification fails, the entire message is deemed invalid.
If the signature verification is valid, the message is unmasked.

The masked payload is parsed in file:
https://github.com/iotaledger/MAM/blob/master/mam/src/mam.rs
See the parse function.

The security level is extracted in file:
https://github.com/iotaledger/iota.rs/blob/master/sign/src/iss.rs
See the checksum_security function.

The signature and address are extracted in file:
https://github.com/iotaledger/iota.rs/blob/master/sign/src/iss.rs
See the digest_bundle_signature function.

The parse function requires a root value when the function is called.
This root value must match the calculated root.
If this is the case, the next root and message are unmasked.

Check out all my other IOTA tutorial videos:
https://www.youtube.com/playlist?list=PLmL13yqb6OxdIf6CQMHf7hUcDZBbxHyza

Subscribe to my YouTube channel:
https://www.youtube.com/channel/UCG5_CT_KjexxjbgNE4lVGkg?sub_confirmation=1

The presentation used in this video tutorial can be found at:
https://www.mobilefish.com/developer/iota/iota_quickguide_tutorial.html

#mobilefish #howto #iota

Related Post: