Multiple decipherment of triple-length keys

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

The multiple decipherment of an encrypted triple-length key **Y = e*KEKa(KL) || e*KEKb(KM) || e*KEKa(KR), using two double-length *KEKs, *KEKa, and *KEKb, is defined as follows:
d*KEKa(YL) || d*KEKb(YM) || d*KEKa(YR)
   = dKEKaL(eKEKaR(dKEKaL(YL))) ||
     dKEKbL(eKEKbR(dKEKbL(YM))) ||
     dKEKaL(eKEKaR(dKEKaL(YR)))
   = d*KEKa(e*KEKa(KL)) ||
     d*KEKb(e*KEKb(KM)) ||
     d*KEKa(e*KEKa(KR))
   = **K
 
where:
  • YL is the left 64 bits of **Y
  • YM is the next 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 triple-length keys

Multiple decipherment of triple-length keys