Distributed Systems Flashcards

1
Q

What is the name of the protocol that uses an iterative application of the Diffie-Hellman algorithm for distributed group key management?

A

The protocol that uses an iterative application of the Diffie-Hellman algorithm for distributed group key management is called the Tree-based Group Diffie-Hellman (TGDH) protocol.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the advantages of the Needham-Schroeder protocol for dynamic pairwise key establishment?

A

1.The Needham-Schroeder protocol is simple and efficient for establishing pairwise keys in a distributed system.

2.It provides mutual authentication between the communicating parties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the disadvantages of the Needham-Schroeder protocol for dynamic pairwise key establishment?

A

1.The protocol assumes that the communication channel between the group controller and the users is secure, which may not always be the case.

2.It relies on a trusted group controller for key distribution, which can be a single point of failure.

3.The protocol is vulnerable to replay attacks if timestamps or sequence numbers are not used.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between a multi-signature and a group signature algorithm?

A

A multi-signature algorithm requires all or a certain number of users to sign a message, and anyone can verify the signatures and know who the signers are. It is often used in scenarios where joint approval from multiple parties is required.

A group signature algorithm allows any group member to sign a message on behalf of the group, and anyone can verify the signature but cannot identify the signer. It is often used in scenarios where signer anonymity is required.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the purpose of a proof-of-work in a blockchain-based distributed ledger

A

The purpose of a proof-of-work in a blockchain-based distributed ledger is to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How can Shamir’s secret sharing be used to implement a (k,n) threshold signature algorithm?

A

Shamir’s Secret Sharing can be used to implement a (k,n) threshold signature algorithm in the following way:

*The secret (e.g., a private key) is split into n shares using Shamir’s Secret Sharing.
Each of the n users holds one share.

*To sign a message, each user signs the message with their share of the secret.

*Any k out of n signatures can be combined to produce the original signature.

*The original signature can be verified with the public key corresponding to the secret.

*This way, any k out of n users can jointly sign a message, but any fewer than k users cannot.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the role of a group controller in the Needham-Schroeder protocol?

A

In the Needham-Schroeder protocol, the group controller (GC) plays a crucial role. It is responsible for generating and distributing keys to the users. The GC acts as an intermediary, enabling users to establish pairwise keys with each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does the tree-based group Diffie-Hellman (TGDH) protocol work?

A

The Tree-based Group Diffie-Hellman (TGDH) protocol is a decentralized approach to manage keys in distributed systems. It allows users to create a group key using the Diffie-Hellman algorithm iteratively. The users are organized in a binary tree, where each user is a leaf node. Each node in the tree (including the leaf nodes) holds a group key, which is the result of the Diffie-Hellman operation between the keys of its child nodes. When a user wants to join or leave the group, only the keys of the nodes on the path from the user to the root need to be updated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the advantages of centralized key management in distributed systems?

A

Simplicity and efficiency. The group controller can easily distribute keys and handle authentication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the disadvantages of centralized key management in distributed systems?

A

Single point of failure (the group controller), potential bottleneck in large systems, and trust issues (all users must trust the group controller).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the advantages of decentralized key management in distributed systems?

A

No single point of failure, better scalability, and does not require trust in a single entity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the disadvantages of decentralized key management in distributed systems?

A

More complex to implement, and key updates (due to users joining or leaving) can be more computationally intensive.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the purpose of Shamir’s Secret Sharing in the context of distributed systems?

A

Shamir’s Secret Sharing is a method by which a secret can be divided into parts, giving each participant its own unique part. The unique property of this method is that you need a minimum number of parts to reconstruct the whole secret. In the context of distributed systems, it can be used to implement secure multi-party computations and threshold cryptosystems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does a blockchain-based distributed ledger ensure the integrity and authenticity of transactions?

A

Blockchain uses cryptographic hash functions to ensure the integrity of transactions. Each block contains a hash of all its transactions, and each new block contains the hash of the previous block, creating a chain of blocks. This makes it nearly impossible to alter a transaction once it has been added to the blockchain. For authenticity, blockchain uses public-key cryptography. Transactions are signed with the sender’s private key, and anyone can verify the signature with the sender’s public key.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the role of miners in the operation of a blockchain-based distributed ledger?

A

Miners play a crucial role in the operation of a blockchain-based distributed ledger. They validate and add new transactions to the blockchain. They do this by solving a complex mathematical problem (proof-of-work), which requires significant computational resources. Once a miner solves the problem, they add the new block of transactions to the blockchain. In return for their work, miners are rewarded with cryptocurrency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does a multi-signature wallet enhance the security and control of funds in a blockchain-based system?

A

A multi-signature wallet requires multiple parties to sign a transaction before it can be executed. This adds an extra layer of security because even if one party’s private key is compromised, the attacker cannot execute transactions without the other required signatures. It also provides better control of funds, especially in an organization, as it requires consensus before funds can be spent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the difference between a linear secret sharing scheme and a threshold secret sharing scheme?

A

In a linear secret sharing scheme, all shares are required to reconstruct the secret. In a threshold secret sharing scheme, any subset of shares of a certain size (the threshold) can reconstruct the secret. The latter is more flexible and can tolerate the loss or unavailability of some shares.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How can the storage space and bandwidth required for a blockchain-based distributed ledger be optimized?

A

There are several ways to optimize the storage space and bandwidth required for a blockchain-based distributed ledger1. One way is through “pruning” the blockchain, which involves removing certain parts of the data that are no longer needed (like spent transactions). Another way is through the use of more efficient data structures, like Merkle trees, which can store large amounts of data compactly and securely.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are some applications of group signatures in distributed systems?

A

Group signatures are useful in any scenario where anonymity is important. For example, they can be used in electronic voting systems to ensure that votes are anonymous but still verifiable. They can also be used in anonymous credential systems, where users can prove membership in a group without revealing their identity. Another application is in vehicular ad hoc networks (VANETs), where vehicles can send anonymous but authenticated messages to each other for traffic safety and efficiency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What operations must be supported for groups in Security of Distributed Systems?

A

User join, User leave, User eject, Group Merge, Group Partition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are some of the reasons to use distributed security mechanisms?

A

Secrets are too important to be kept by one user

It is easier to trust many than one user

Robustness is an important factor if multiple users are involved

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the main protection mechanism against eavesdropping?

A

Encryption

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the name of the protocol that specifies how network traffic is encrypted?

A

IPSec

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is the mathematical function that transforms a message and a key into an encrypted message?

A

The mathematical function that transforms a message and a key into an encrypted message is called encryption function. It can be denoted as E(m,k), where m is the message, k is the key, and E(m,k) is the encrypted message.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What are the two methods that IPsec defines for IP packet authentication and encryption?

A

The two methods that IPsec defines for IP packet authentication and encryption are IP Authentication Header (AH) and IP Encapsulating Security Payload (ESP). AH provides integrity and authenticity for the IP packet header and payload, while ESP provides confidentiality and optionally integrity and authenticity for the IP packet payload.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What is the name of the dynamic key protocol that is used for establishing a pairwise key between two users?

A

The name of the dynamic key protocol that is used for establishing a pairwise key between two users is Needham-Schroeder protocol. It is a classical protocol that uses symmetric encryption and a trusted third party to generate and distribute keys.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What are the roles of the users u1 and u2 and the group controller GC in the Needham-Schroeder protocol?

A

The roles of the users u1 and u2 and the group controller GC in the protocol are as follows:
- u1 and u2 are the two users who want to communicate securely with each other. They share secret keys with the GC, denoted as k1,GC and k2,GC respectively.
- GC is the group controller or the trusted third party that generates and distributes the pairwise key for u1 and u2, denoted as k12. It also issues tickets that contain the pairwise key and the identity of the users, encrypted with their secret keys.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are the five steps of the message exchange in the Needham Schroeder protocol?

A
  • Step 1: u1 sends a request to GC, containing its identity, the identity of u2, and a nonce nu1. A nonce is a random number that is used to prevent replay attacks.
    • Step 2: GC responds to u1, sending back the nonce nu1, the pairwise key k12, the identity of u2, and a ticket for u2 that contains the pairwise key k12 and the identity of u1, encrypted with k2,GC. All these are encrypted with k1,GC.
    • Step 3: u1 decrypts the message from GC, extracts the pairwise key k12 and the ticket for u2, and forwards the ticket and a challenge to u2. The challenge is the nonce nu1 encrypted with k12.
    • Step 4: u2 decrypts the ticket, extracts the pairwise key k12 and the identity of u1, and verifies the challenge by decrypting it with k12 and comparing it with nu1. Then u2 sends back a response to u1, containing the decremented nonce nu1-1 and a new nonce nu2, encrypted with k12.
    • Step 5: u1 decrypts the response from u2, verifies the decremented nonce nu1-1, and sends back the decremented nonce nu2-1, encrypted with k12.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What are some of the disadvantages of the Needham-Schroeder protocol?

A

Some of the disadvantages of the Needham-Schroeder protocol are:
- All users have to trust the GC, which may not be desirable or feasible in some scenarios.
- The GC is a single point of failure, which means that if it is compromised or unavailable, the whole system is vulnerable or disrupted
-The protocol does not support handling of network separation and fusion, which means that it cannot cope with dynamic changes in the network topology or group membership⁵[5].
- The protocol has a limited scalability, which means that it requires a large number of pairwise keys and messages for a large group of users

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is the term that describes the trust relationship between the users and the GC?

A

The term that describes the trust relationship between the users and the GC is trust assumption. It means that the users assume that the GC is honest and reliable, and that it will not reveal or misuse their keys or identities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is the term that describes the point in a system that can cause the whole system to fail?

A

The term that describes the point in a system that can cause the whole system to fail is single point of failure. It means that the system depends on a single component or entity, and that if it fails, the system cannot function properly or at all

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

How can efficient confidentiality in distributed systems be achieved by using a shared group key?

A

Efficient confidentiality in distributed systems can be achieved by using a shared group key for the encryption E(m,k), where m is the message, k is the group key, and E(m,k) is the encrypted message. This way, only one key is needed for the whole group, instead of multiple pairwise keys

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What is the condition that must be satisfied for providing the group key to the users?

A

The condition that must be satisfied for providing the group key to the users is that the users must be
authorized. It means that they must have the right or permission to join the group and access the group key and the encrypted messages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What is the term that describes the process of altering the group key in dynamic groups?

A

The term that describes the process of altering the group key in dynamic groups is rekeying. It means that the group key is changed or updated whenever a user joins or leaves the group, in order to maintain the security requirements of the group key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What are the four security requirements that must be satisfied by a group key?

A
  • The four security requirements that must be satisfied by a group key are:
    • Key secrecy: Only authorized users receive the group key, and no unauthorized users can obtain or derive the group key.
    • Forward secrecy: Users who join the group after the group key is established do not receive any old group key or any encrypted messages that were sent before they joined the group.
    • Backward secrecy: Users who leave the group do not receive any new group key or any encrypted messages that are sent after they leave the group.
    • Key independence: The group key is independent of any previous or future group keys, and no group key can be derived from another group key.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What are the terms that describe the situations where a user joins or leaves the group?

A
  • The terms that describe the situations where a user joins or leaves the group are join operation and leave operation respectively. They are the membership operations that affect the group composition and the group key.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What are the terms that describe the situations where a user receives no old or new group key?

A
  • The terms that describe the situations where a user receives no old or new group key are forward secrecy and backward secrecy respectively. They are the security properties that prevent a user from accessing the encrypted messages that are not intended for them.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What is the main concept of distributed group key management?

A

The main concept of distributed group key management is that every user contributes to the session key for encryption, and the key establishment and update mechanisms are based on an iterative application of the Diffie-Hellman algorithm. This way, the group key is generated and distributed without a single point of failure or a trusted third party.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What is the name of the algorithm that is used for the key establishment and update mechanisms in group signature (tree based)?

A
  • The name of the algorithm that is used for the key establishment and update mechanisms is Tree-based Group Diffie-Hellman (TGDH) protocol. It is a distributed group key management protocol that arranges the users in a tree structure and uses the Diffie-Hellman algorithm to generate and update the group key.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What are some of the advantages and disadvantages of distributed group key management?

A
  • Some of the advantages and disadvantages of distributed group key management are:
    • Advantages:
      • It is easier to trust many users than one GC, as the users have more control and transparency over the group key.
      • The key establishment is done without a single point of failure, as the users do not depend on a single entity or component for the group key.
      • The mechanisms can handle network partition and merge, as the users can adapt to the changes in the network topology or group membership.
    • Disadvantages:
      • Difficult key establishment in networks with high packet losses, as the users may not receive or send the necessary messages for the group key.
      • High communication and computation overhead, as the users have to exchange and process more messages and keys for the group key.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What is the main goal of the Diffie-Hellman algorithm?

A

The main goal of the Diffie-Hellman algorithm is to generate a shared secret key over public channels, without revealing the key to any eavesdroppers or attackers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What are the mathematical elements that are used in the algorithm?

A

The mathematical elements that are used in the algorithm are:
- ℤp: A group with multiplication modulo p as the operation, where p is a large prime number and * denotes the multiplication operator.
- g: A generator of ℤ
p, which means that every element of ℤp can be obtained by raising g to some power modulo p.
- k1 and k2: The secret keys of the users u1 and u2, which are randomly chosen from ℤ
p.
- bk1 and bk2: The blind keys of the users u1 and u2, which are calculated by raising g to the power of k1 and k2 modulo p, respectively.
- k12: The shared secret key of the users u1 and u2, which is calculated by raising the blind key of one user to the power of the secret key of the other user modulo p, respectively.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What are the names of the keys that are generated and exchanged by the users in the algorithm? Blind Key Sharing

A
  • The names of the keys that are generated and exchanged by the users in the algorithm are:
    • The secret keys k1 and k2, which are generated by the users u1 and u2, and are not exchanged or revealed to anyone.
    • The blind keys bk1 and bk2, which are generated by the users u1 and u2, and are exchanged between them over public channels.
    • The shared secret key k12, which is generated by the users u1 and u2, and is not exchanged or revealed to anyone.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

How are the users arranged in a tree in the TGDH protocol?

A

The users are arranged in a tree according to the hierarchical structure of the group, where each node represents a user or a subgroup of users

45
Q

What is the name of the user that is selected for handling the membership operation? In TGDH

A

The user that is selected for handling the membership operation is called the sponsor. The sponsor is usually the closest user to the new or leaving user in the tree.

46
Q

What is the name of the key that is used for application data encryption? TGDG

A

The key that is used for application data encryption is called the root key. The root key is derived from the keys of all the users in the group.

47
Q

What are the four steps of the join operation in the TGDH protocol?

A

The four steps of the join operation in the TGDH protocol are:

Handshake: The new user sends a message to the sponsor with its public key and blind key.
Group key calculation: The sponsor and the other users update their keys and blind keys according to the new user’s information.
Update: The sponsor sends a message to the other users with the new user’s information and the updated tree structure.
Verification: The new user verifies that it has received the correct root key from the sponsor.

48
Q

What are the three steps of the leave operation in the TGDH protocol?

A

The three steps of the leave operation in the TGDH protocol are:

Leave: The leaving user sends a message to the sponsor with its public key and blind key.
Group key calculation: The sponsor and the other users update their keys and blind keys according to the leaving user’s information.
Update: The sponsor sends a message to the other users with the leaving user’s information and the updated tree structure.

49
Q

What are the two situations that can cause network fusion or separation?

A

Network fusion: When two or more groups of users come into communication range and decide to merge their groups.
Network separation: When one or more users lose communication with the rest of the group and form a new group.

50
Q

What is the name of the technique that is used to support network fusion?

A

The name of the technique that is used to support network fusion is key tree merge. This technique involves creating a new common root node for the merged groups and adjusting the keys and blind keys accordingly.

51
Q

What is the name of the technique that is used to support network separation?

A

The name of the technique that is used to support network separation is key tree split. This technique involves removing the nodes that are no longer in the group and adjusting the keys and blind keys accordingly.

52
Q

What is the main protection mechanism against content modifications?

A

The main protection mechanism against content modifications is integrity Protection. Integrity protection ensures that data is not altered in transit and that it arrives at the receiving party exactly as it was sent.

53
Q

What are the two types of secret sharing that are discussed in this chapter?

A

The two types of secret sharing discussed in this chapter are linear secret sharing and threshold secret sharing.

54
Q

What is the main purpose of secret sharing?

A

The main purpose of secret sharing is to protect a secret by dividing it into multiple parts and distributing them among a group of participants. No subset of participants can reconstruct the secret unless they combine a certain number of parts.

55
Q

What is the difference between linear secret sharing and threshold secret sharing?

A

Linear secret sharing requires all parts to reconstruct the secret, while threshold secret sharing allows the secret to be reconstructed from a subset of parts.

56
Q

Can you give an example of a situation where secret sharing would be useful?

A

An example of a situation where secret sharing would be useful is in a distributed system where a group of servers need to store a sensitive piece of information, such as an encryption key, but we don’t want any single server to have access to the whole key.

57
Q

How does linear secret sharing work?

A

In linear secret sharing, a secret is divided into parts in such a way that all parts are required to reconstruct the secret. Each part does not provide any information about the secret unless combined with all other parts.

58
Q

What is the role of the dealer in linear secret sharing?

A

The dealer in linear secret sharing is the entity that initially possesses the secret and divides it into parts.

59
Q

What is the role of the users in linear secret sharing?

A

The users in linear secret sharing are the entities that each receive a part of the secret from the dealer.

60
Q

What is collaborative authentication?

A

Collaborative authentication is a process where multiple entities work together to authenticate an action. It is often used to add an extra layer of security for sensitive operations.

61
Q

How does collaborative authentication enhance the security of a system?

A

Collaborative authentication enhances the security of a system by ensuring that no single entity can authenticate an action on their own, which reduces the risk of fraudulent activities.

62
Q

Can you give an example of a system that uses collaborative authentication?

A

An example of a system that uses collaborative authentication is a multi-signature cryptocurrency wallet, where a transaction must be signed by multiple parties before it can be executed.

63
Q

How does an e-voting system ensure the integrity and authenticity of votes?

A

An e-voting system ensures the integrity and authenticity of votes by using cryptographic techniques. For example, each vote could be encrypted with the voter’s private key, allowing anyone to verify the vote with the voter’s public key but preventing anyone from altering the vote.

64
Q

Can you give an example of an e-voting system that uses secret sharing?

A

An example of an e-voting system that uses secret sharing is a system where the decryption key for the votes is shared among a group of authorities. Each authority gets a part of the key, and a certain number of them must work together to decrypt the votes. This ensures that no single authority can decrypt the votes on their own.

65
Q

What is a blind signature?

A

A blind signature is a cryptographic technique that allows a user to obtain a signature from an authority without revealing the content of the message to the authority.

66
Q

How does a blind signature enhance the privacy of a system?

A

A blind signature enhances the privacy of a system by allowing the user to prove the authenticity of a message without disclosing its content or identity to the authority or anyone else.

67
Q

Can you give an example of a system that uses blind signatures?

A

An example of a system that uses blind signatures is an electronic voting system, where the voter can obtain a signature from the election authority on a ballot without revealing the vote or the identity of the voter

68
Q

How does an e-voting system use linear secret sharing and blind signatures?

A

An e-voting system uses linear secret sharing and blind signatures to provide confidentiality and integrity of the votes. The election authority shares the secret signature key among several authorities using linear secret sharing. The voter blinds the vote with a random number and obtains a signature from each authority using blind signatures. The voter then unblinds the signature and sends the vote and the signature to the authorities for verification and counting.

69
Q

What is the role of the voter in this system?

A

The role of the voter in this system is to choose a vote, blind it, obtain signatures from the authorities, unblind the signature, and send the vote and the signature to the authorities.

70
Q

What is the role of the authorities in e vote system?

A

The role of the authorities in this system is to generate and share the secret signature key, sign the blinded votes, verify and count the votes, and reveal the identity of the voter if needed.

71
Q

What is threshold secret sharing?

A

Threshold secret sharing is a cryptographic technique that allows a dealer to share a secret among a group of users such that any subset of k or more users can reconstruct the secret, but any subset of less than k users cannot.

72
Q

How does threshold secret sharing work?

A

Threshold secret sharing works by the dealer choosing a polynomial of degree k-1 with the secret as the constant term and giving each user a point on the polynomial as a share. The users can then use interpolation to recover the secret from k or more shares.

73
Q

What is the role of the dealer in threshold secret sharing?

A

The role of the dealer in threshold secret sharing is to generate and distribute the shares of the secret to the users.

74
Q

How can a secret be reconstructed from a subset of shares in threshold secret sharing?

A

A secret can be reconstructed from a subset of shares in threshold secret sharing by using Lagrange interpolation, which is a method of finding a polynomial that passes through a given set of points. The users can then evaluate the polynomial at zero to obtain the secret.

75
Q

What is the role of the users in threshold secret sharing?

A

The role of the users in threshold secret sharing is to keep their shares secret and cooperate with other users to reconstruct the secret when needed.

76
Q

Can you give an example of a situation where threshold secret sharing would be useful?

A

An example of a situation where threshold secret sharing would be useful is a distributed signature scheme, where a group of users can jointly sign a message using a shared secret key without revealing the key to anyone.

77
Q

What is DNSSEC?

A

DNSSEC is the Domain Name System with security features, which associates information such as IP addresses with domain names and provides authentication and integrity of the information.

78
Q

How does DNSSEC use threshold signatures?

A

DNSSEC uses threshold signatures to protect the secret signature key for the root zone, which is the top level of the DNS hierarchy. The key is split into several pieces and distributed among different entities using threshold secret sharing. Signatures are possible with a certain number of pieces using a threshold signature algorithm.

79
Q

Can you give an example of a DNSSEC operation that uses threshold signatures?

A

An example of a DNSSEC operation that uses threshold signatures is the signing of the root zone file, which contains the information about the top-level domains. The entities that hold the pieces of the root key collaborate to generate a signature on the root zone file using a threshold signature algorithm.

80
Q

What is the main difference between linear secret sharing and threshold secret sharing?

A

The main difference between linear secret sharing and threshold secret sharing is that linear secret sharing requires the cooperation of all users to reconstruct the secret, while threshold secret sharing allows any subset of k or more users to reconstruct the secret.

81
Q

Can you give an example of a system that uses both secret sharing and blind signatures?

A

An example of a system that uses both secret sharing and blind signatures is an electronic cash system, where the user can obtain digital coins from a bank using blind signatures and spend them anonymously using secret sharing.

82
Q

What is the main advantage of using distributed ledger technology to document transactions in a group with no trusted third party?

A

The main advantage of using distributed ledger technology to document transactions in a group with no trusted third party is that it provides transparency, security, and immutability of the transaction history without relying on a central authority or intermediary.

83
Q

What is the name of the technique that links blocks by SHA256 hashes in a distributed ledger?

A

The name of the technique that links blocks by SHA256 hashes in a distributed ledger is blockchain. Each block contains the hash of the previous block, creating a chain of blocks that can be traced back to the genesis block.

84
Q

What is the term for the verification of transactions in a distributed ledger?

A

The term for the verification of transactions in a distributed ledger is consensus. Consensus is the mechanism that ensures that all nodes in the network agree on the same state of the ledger and follow the same rules.

85
Q

What are the two types of actors involved in the operation of a blockchain-based distributed ledger?

A

The two types of actors involved in the operation of a blockchain-based distributed ledger are users and miners. Users are the ones who initiate and broadcast transactions, while miners are the nodes with large computing capacity that create and validate blocks.

86
Q

What is the name of the process that miners perform to find a proof-of-work for a candidate block?

A

The name of the process that miners perform to find a proof-of-work for a candidate block is mining. Mining is the process of solving a cryptographic puzzle that requires a lot of computational power and random guessing. The first miner who finds a valid solution broadcasts the block to the network and receives a reward.

87
Q

What is the criterion that nodes use to accept the valid version of the ledger in case of branching?

A

The criterion that nodes use to accept the valid version of the ledger in case of branching is the longest chain rule. The longest chain rule states that the valid version of the ledger is the one that has the most accumulated proof-of-work, or the most blocks. Nodes discard any shorter or conflicting branches and extend the longest chain with new blocks.

88
Q

What is the name of the consensus mechanism that requires miners to solve a cryptographic puzzle to create a valid block?

A

The name of the consensus mechanism that requires miners to solve a cryptographic puzzle to create a valid block is Proof-of-Work (PoW). This mechanism ensures that only blocks that have a certain level of difficulty are accepted by the network.

89
Q

What is the main parameter that determines the difficulty of finding a proof-of-work?

A

The main parameter that determines the difficulty of finding a proof-of-work is the target value. The target value is a number that the hash of the block must be lower than in order to be valid. The lower the target value, the harder it is to find a hash that satisfies it.

90
Q

What is the advantage of using a nonce as a random factor in the proof-of-work calculation?

A

The advantage of using a nonce as a random factor in the proof-of-work calculation is that it allows the miner to vary the input and try different combinations until they find a hash that meets the target value. The nonce is a number that is added to the block header and can be changed by the miner.

91
Q

What is the name of the phenomenon that occurs when two miners find two valid blocks at the same time?

A

The name of the phenomenon that occurs when two miners find two valid blocks at the same time is branching or forking. This happens when the network is not synchronized and different nodes have different versions of the ledger.

92
Q

What is the rule that nodes follow to resolve the branching of the ledger?

A

The rule that nodes follow to resolve the branching of the ledger is to accept the longest chain as the valid version. The longest chain represents the most amount of work that has been done by the network and is therefore more likely to be correct.

93
Q

What happens to the transactions that are included in the discarded branch of the ledger?

A

The transactions that are included in the discarded branch of the ledger are orphaned or stale. These transactions are not confirmed and may be included in future blocks if they are still valid.

94
Q

What is the name of the (crypto-)currency that is based on a blockchain-based public distributed ledger?

A

The name of the (crypto-)currency that is based on a blockchain-based public distributed ledger is Bitcoin2. Bitcoin is the first and most popular decentralized digital currency that allows peer-to-peer transactions without intermediaries.

95
Q

What is the name of the program that is needed to send and receive bitcoins?

A

The name of the program that is needed to send and receive bitcoins is a wallet. A wallet is a software that manages the user’s private and public keys, generates bitcoin addresses, and signs and verifies transactions.

96
Q

What is the name of the hash function that is used to generate bitcoin addresses from public keys?

A

The name of the hash function that is used to generate bitcoin addresses from public keys is SHA256. SHA256 is a secure hash algorithm that produces a 256-bit output from any input. Bitcoin addresses are derived from public keys by applying SHA256 twice and adding a checksum and a prefix.

97
Q

What are the two components of a transaction in bitcoin?

A

The two components of a transaction in bitcoin are inputs and outputs. Inputs are former outputs that are being consumed, and outputs are the creation of new coins and the transfer of coins to other addresses.

98
Q

What is the name of the data structure that is used to store transactions in a block in an efficient way?

A

The data structure that is used to store transactions in a block in an efficient way is called a Merkle hash tree. It is a binary tree where each leaf node contains the hash of a transaction, and each non-leaf node contains the hash of the concatenation of its children. The root hash of the tree is included in the block header and serves as a summary of all the transactions in the block.

99
Q

What is the name of the operation that can be performed to reduce the storage space of old transactions without affecting the rest of the tree or changing the hashes?

A

The operation that can be performed to reduce the storage space of old transactions without affecting the rest of the tree or changing the hashes is called pruning2. It involves deleting the leaf nodes that contain the transactions that have been spent and are no longer needed, and replacing their parent nodes with their sibling nodes. This way, the tree height is reduced and the storage space is saved, while the root hash remains the same.

100
Q

What is the name of the type of wallet that requires multiple users to collaboratively control funds?

A

The name of the type of wallet that requires multiple users to collaboratively control funds is a multi-signature wallet. It is a wallet that has multiple public keys associated with it, and requires a certain number of signatures (e.g. 2 out of 3) from the corresponding private keys to spend the coins in the wallet.

101
Q

What is the name of the algorithm that can be used to share a secret signature key among the cosigners of a multi-signature wallet?

A

The name of the algorithm that can be used to share a secret signature key among the cosigners of a multi-signature wallet is Shamir’s Secret Sharing. It is a (k, n)-threshold algorithm that splits a secret into n shares, such that any k of them can reconstruct the secret, but any k-1 of them cannot. The secret can be the private key of the multi-signature wallet, and the shares can be distributed among the cosigners.

102
Q

What is the name of the plugin that can be used to electronically exchange partially signed transactions among the cosigners of a multi-signature wallet?

A

The name of the plugin that can be used to electronically exchange partially signed transactions among the cosigners of a multi-signature wallet is Cosigner Pool Plugin. It is a plugin for the Electrum wallet that allows the cosigners to communicate with each other via a server and send their partial signatures to complete a transaction.

103
Q

What is the name of the type of signature algorithm that enables a user to sign a message on behalf of a group?

A

The name of the type of signature algorithm that enables a user to sign a message on behalf of a group is a group signature. It is a signature scheme that allows a member of a group to sign a message in such a way that the verifier can only tell that the signature comes from a member of the group, but not which one. The signer’s identity can be hidden or revealed depending on the context and the policy of the group.

104
Q

What is the name of the technique that allows a user to blind a message with a random number before sending it to an authority for signing?

A

The name of the technique that allows a user to blind a message with a random number before sending it to an authority for signing is a blind signature. It is a signature scheme that allows a user to obtain a valid signature from an authority without revealing the content of the message to the authority. The user blinds the message with a random factor, sends it to the authority, receives the signature of the blinded message, and then unblinds it to get the signature of the original message.

105
Q

What is the name of the algorithm that can be used to reveal the identity of the signer in a group signature?

A

The name of the algorithm that can be used to reveal the identity of the signer in a group signature is Elgamal Signature algorithm with random contribution from a Group Controller5. It is a group signature scheme that uses the Elgamal public key cryptosystem and a Group Controller that provides a random contribution to each signature. The Group Controller can also reveal the identity of the signer by disclosing the random contribution and the corresponding public key.

106
Q

What is the main challenge of documenting transactions in a group with no trusted third party?

A

The main challenge of documenting transactions in a group with no trusted third party is achieving consensus1. In a distributed system, all nodes must agree on the validity and order of transactions. This is difficult because each node has its own copy of the transaction history and can have different views of which transactions have occurred. To solve this problem, blockchain uses a consensus mechanism such as Proof-of-Work (PoW) or Proof-of-Stake (PoS) to ensure that all nodes agree on the same transaction history.

107
Q

What are the six steps involved in the operation of a blockchain-based distributed ledger?

A

The six steps involved in the operation of a blockchain-based distributed ledger are:2

Transaction: Users send each other digital tokens where the transactions are broadcasted to all nodes.
Block: Transactions are bundled into a block and miners verify them.
Proof-of-Work: Miners compete to solve a mathematical puzzle, which requires computational resources.
Validation: Once a miner solves the puzzle, its solution is sent to all nodes for validation.
Consensus: If a majority of nodes agree that the solution is correct, the block is added to the ledger.
Reward: The successful miner is rewarded with tokens (e.g., bitcoins).

108
Q

What is the name of the decentralized platform that runs smart contracts based on a blockchain-based ledger?

A

The name of the decentralized platform that runs smart contracts based on a blockchain-based ledger is Ethereum. Ethereum allows developers to build and deploy smart contracts, which are self-executing contracts with the terms of the agreement directly written into code. These smart contracts run on the Ethereum Virtual Machine (EVM), ensuring they benefit from the security and decentralized nature of the Ethereum blockchain.

109
Q
A