Multiple decipherment of double-length keys

Definition of the multiple decipherment of an encrypted double-length key, *Y = e*KEKa(KL) || e*KEKb(KR), using two double-length *KEKs, *KEKa, and *KEKb.

The multiple decipherment of an encrypted double-length key, *Y = e*KEKa(KL) || e*KEKb(KR), using two double-length *KEKs, *KEKa, and *KEKb, is defined as follows:
  D*KEKa(YL) || d*KEKb(YR)
          = dKEKaL(eKEKaR(dKEKaL(YL))) ||
            dKEKbL(eKEKbR(dKEKbL(YR)))
          = d*KEKa(e*KEKa(KL)) ||
            d*KEKb(e*KEKb(KR))
          = *K
where
  • YL is the left 64 bits of *Y
  • YR is the right 64 bits of *Y
  • KEKaL is the left 64 bits of *KEKa
  • KEKaR is the right 64 bits of *KEKa
  • KEKbL is the left 64 bits of *KEKb
  • KEKbR is the right 64 bits of *KEKb
  • || means concatenation

Figure 1 illustrates the definition.

Figure 1. Multiple decipherment of double-length keys

Multiple decipherment of double-length keys