Multiple encipherment of triple-length keys

Definition of the multiple encipherment of a triple-length key (**K) using two double-length *KEKs, *KEKa, and *KEKb.

The multiple encipherment of a triple-length key (**K) using two double-length *KEKs, *KEKa, and *KEKb is defined as follows:
e*KEKa(KL) || e*KEKb(KM) || e*KEKa(KR) =
    eKEKaL(dKEKaR(eKEKaL(KL))) ||
    eKEKbL(dKEKbR(eKEKbL(KM))) ||
    eKEKaL(dKEKaR(eKEKaL(KR)))          
where:
  • KL is the left 64 bits of **K
  • KM is the next 64 bits of **K
  • KR is the right 64 bits of **K
  • 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 encipherment of triple-length keys
Multiple encipherment of triple-length keys