I am trying to solve this problem and I need help if possible

Suppose a Hardware Security Module (HSM) has a master key KM (56-bit) in its

secure memory. It also has a slave key KS (56-bit) protected by KM and the

encrypted data {KS}KM is stored outside the HSM.

The HSM has the following calling functions:


Combine_key_shares, and


The first two functions are used in the following way:

Host -> HSM: Generate_key_shares

HSM -> Host: {K1}KM, {K2}KM

Host -> HSM: Combine_key_shares with inputs {K1}KM, {K2}KM

HSM -> Host: {K1 ⊕ K2}KM

The encryption key K (56-bit) is defined as K = K1 ⊕ K2. There is no limit to

how many encryption keys can be generated. The following API is available to wrap

the second supplied key under the first.

Host -> HSM: Wrap_key with inputs {K}KM, {KS}KM

HSM -> Host: {KS}K

a) Describe how to exploit the API attacks to extract the slave key.

b) Describe how to exploit the API to extract the encryption key K.

c) Describe how you can break the master key KM and estimate the effort.


closed as off-topic by Ella Rose Jan 11 at 3:24

  • This question does not appear to be about cryptography within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ We generally do not provide homework services Memo, what have you done to solve this question and where are you stuck? $\endgroup$ – Maarten Bodewes Jan 11 at 1:42
  • $\begingroup$ I'm voting to close this question as off-topic because it is a dump of a homework question with no work shown. We can help you solve homework/exam problems if you are stuck on something in particular, but we can't/won't simply solve the entire assignment for you. $\endgroup$ – Ella Rose Jan 11 at 3:24

Browse other questions tagged or ask your own question.