Basic cryptography techniques for SSI
SSI Course Module 06
1
© KEN Labs 2022
© KEN Labs 2022
Cryptography is the fuel that powers all of self-sovereign identity (SSI).
2
© KEN Labs 2022
Hash functions
Hash functions are an example of a unidirectional function (also called a one-way function).
There are many different hash functions, such as MD5 and SHA 256. Hash functions differentiate themselves by some basic characteristics.
Efficiency
Resistance to preimage
Resistance to second preimage or collision
A unidirectional function is a mathematical function that provides a quick and efficient method to perform a calculation, with no known method to reverse the calculation in a reasonable amount of time.
There are many types of unidirectional functions. A well-known example is the product of two prime integers.
The purpose of a hash is not to encode or hide a message, but to verify a message’s integrity.
3
© KEN Labs 2022
Encryption
Cryptography is divided into two families: symmetric-key and asymmetric-key.
Network centric
Encryption is a way to hide the content of messages or documents so they can only be read by someone who knows a secret.
Asymmetric Encryption
Symmetric Encryption
4
© KEN Labs 2022
Lead
Sign
Signing a message means transforming it in some verifiable way using a private key.
Signature
The transformed message is called a signature.
Transport
The message is then sent along with the signature to a recipient.
Digital signatures
Digital signatures rely on public-key cryptography.
Signing a message means transforming it in some verifiable way using a private key.
Digital signatures are used for every transaction with a blockchain.
Digital signatures are used to form DID-to-DID connections and sign every DID Comm message.
Digital signatures are used to sign every verifiable credential.
Digital signatures are used to sign governance framework documents to ensure that they are authentic and to sign VCs issued for assigned roles within a governance framework.
Verify
The recipient can check the validity of a signature to verify that only the one who knew the private key could have created the signature from the message.
5
© KEN Labs 2022
Verifiable data structures
Four very important data structures.
3 Patricia tries
1 Cryptographic accumulators
2 Merkle trees
Merkle trees are now a core component of many blockchain and decentralized computing technologies.
The basic idea of a Merkle tree (also known as a hash tree) is that it can provide proof that a specific item of data.
4 Merkle-
Patricia trie
Merkle trees and Patricia tries can be used in combination to create data structures in different ways depending on the aspect a protocol needs to optimize, such as speed, memory efficiency, or code simplicity.
An accumulator is a single number that represents the result of some computation on a large set of numbers.
Someone who knows one of the accumulated values can prove their number is a member of the set or, alternatively, prove their number is not contained in the set.
Instead of hashes, these tries are constituted of regular alphanumeric strings.
The subtlety of radix tries is that the nodes don’t store any information; they are only there to indicate a location in the trie where there is a split in the string of characters.
Cryptography can also be used to create data structures that have specific useful properties for data verification.
6
© KEN Labs 2022
Proofs
Proofs and veracity :
Zero-knowledge proofs:
2.5 days
ZKP applications for SSI:
A proof is a way of using cryptography to demonstrate that a computational fact is true.
7
© KEN Labs 2022
Pando DID: pando.network
KEN Labs Research: kencloud.com
info@pando.network
twitter.com/KenLabs_Web3
THANK YOU
WATCHING
8
© KEN Labs 2022