Browse Prior Art Database

Extended Commercial Data Masking Facility Data Privacy Algorithm

IP.com Disclosure Number: IPCOM000118638D
Original Publication Date: 1997-Apr-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 103K

Publishing Venue

IBM

Related People

Johnson, DB: AUTHOR [+2]

Abstract

Disclosed is an extended Commercial Data Masking Facility (CDMF) algorithm for scrambling data, which provides equivalent Data Encryption Standard (DES) key lengths of 40, 41, 42, ..., 55 bits. The described algorithm is an extension to the commercial data masking facility algorithm described by (*).

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Extended Commercial Data Masking Facility Data Privacy Algorithm

      Disclosed is an extended Commercial Data Masking Facility
(CDMF) algorithm for scrambling data, which provides equivalent Data
Encryption Standard (DES) key lengths of 40, 41, 42, ..., 55 bits.
The described algorithm is an extension to the commercial data
masking facility algorithm described by (*).

      The CDMF algorithm (in the Figure) uses the DES as the
underlying cryptographic algorithm but weakens the overall
cryptographic operation by defining a key generation method that
produces an effective  40-bit output DES key K' from a 56-bit input
DES key K, where K is defined as the CDMF key.

      Let K denote a 64-bit CDMF key consisting of 56 independent key
bits and 8 bits that may be used for parity checking (bits 8, 16, 24,
32, 40, 48, 56 and 64) and where the following notation applies:
  1.  All bits in a 64-bit string are numbered from leftmost to
       rightmost as bit 1 to bit 64.
  2.  eK(X) denotes DES encryption of a 64-bit plaintext X with a
       64-bit key K.
  3.  AND is the bitwise Boolean AND operation.
  4.  XOR is the bitwise Boolean Exclusive-OR operation.
  5.  := denotes the assignment operation.

The procedural definition of the CDMF algorithm is as follows:
  1.  Zero the following bits in the input CDMF key K:  8, 16, 24,
       32, 40, 48, 56, 64.  Call the result I1.

   This may be accomplished by the following:
      I1 := input-key AND X'FEFEFEFEFEFEFEFE'
  2.  One-way function.
      I2 := I1 XOR eK1(I1)
      where K1 is the fixed value X'C408B0540BA1E0AE'.
  3.  Selection function.
      Zero the following bits in I2:
      1,2,3,4,8,16,17,18,19,20,24,32,33,34,35,36,40,48,49,
       50,51,52,56,64.  Call the result I3.

   This may be accomplished by the following:
      I3 := I2 AND X'0EFE0EFE0EFE0EFE'
  4.  Expansion function.
      The derived key K' := eK2(I3)
  where K2 is the constant DEA key X'EF2C041CE6382FE6'.

The extended CDMF algorithm incorporates the following changes:
  1.  The computation of I2 is extended to handle a variable K1.
  2.  The computation of I3 is extended to perform a length
       dependent masking operation.
  3.  The computation of derived key K' is extended to handle a
       variable K2.

The computation of I2 is defined as follows:
      I2 := I1 XOR eK1(I1)
      where K1 is a variable defined as follows:
  K1 = X'C408B0540BA1E0AE' if Length = 40
  K1 = X'C408B0540BA1E0AC' if Length = 41
  K1 = X'C408B0540BA1E0AA' if Length = 42
  K1 = X'C408B0540BA1E0A8' if Length = 43
  K1 = X'C408B0540BA1E0A6' if Length = 44
  K1 = X'C408B0540BA1E0A4' if Length = 45
  K1 = X'C408B0540BA1E0A2' if Length = 46
  K1 = X'C408B0540BA1E0A0' if Length = 47
  K1 = X'C408B0540BA1E0BE' if Length = 48
  K1 = X'C408B0540BA1E0...