SB nº SU-26 : Master Key Derivation Option (Spec Change)

v1.0 Specification Bulletins

Specification Update: Bulletin No. 26 April 2004 First Edition Master Key Derivation Option This bulletin applies to EMV 2000 Integrated Circuit Card Specifications for Payment Systems Version 4.0 Book 2, Sections 8.3 and A1.4. It provides a new option for deriving the 16-byte ICC Master Key used for Application Cryptogram generation, issuer authentication, and secure messaging. This method is not mandatory but instead provides a second optional method for deriving this key. This bulletin also makes a clarification to the specification of the first key derivation method. The clarification relates to the processing of Application PANs and is particularly relevant when the PAN has an odd number of decimal digits and so when stored in a whole number of bytes it includes a hex. ‘F’ padding character. Please make the following change to EMV 2000 Integrated Circuit Card Specifications for Payment Systems Version 4.0, Book 2, Section 8.3 Key Management: In the second sentence change "Annex A1.4 specifies a method for the derivation of the ICC Application Cryptogram Master Keys" to "Annex A1.4 specifies two optional methods for the derivation of the ICC Application Cryptogram Master Keys." Please make the following changes to EMV 2000 Integrated Circuit Card Specifications for Payment Systems Version 4.0, Book 2, Annex A1.4 Master Key Derivation: In the first paragraph change "This annex specifies a method for the derivation" to "This annex specifies two optional methods for the derivation". In the second paragraph change "Note that this method is not mandatory" to "Note that these methods are not mandatory." In the third paragraph change "The method takes as input" to "These methods take as input". Below the third paragraph, add the following heading: A1.4.1 Option A In the first step that follows, change "Concatenate from left to right the Application PAN" to "Concatenate from left to right the decimal digits of the Application PAN" This document contains proprietary and confidential information of EMVCo LLC. Copyright © EMVCo LLC 2004

At the end of Annex A1.4, add the following: A1.4.2 Option B If the Application PAN is equal to or less than 16 decimal digits, proceed starting with Step 1 of Option A. If the Application PAN is greater than 16 decimal digits, do the following: 1. Concatenate from left to right the decimal digits of the Application PAN with the PAN Sequence Number (if the PAN Sequence Number is not present, it is replaced by a '00' byte). If the Application PAN has an odd number of decimal digits then concatenate a ‘0’ padding digit to the left thereby ensuring that the result is an even number of digits. 2. Hash the result of the concatenation using the SHA-1 hashing algorithm to obtain the 20-byte hash result X. 3. Select the first 16 decimal digits (0 to 9) starting from the left side of the 20-byte (40nibble) hash result X and use as the value Y. If this does not provide for 16 decimal digits in Y, convert the non-decimal nibbles in X to decimal digits by means of the following decimalization table: Input nibble of X A B C D E F Decimalized nibble 0 1 2 3 4 5 Add the converted digits starting from the left side of X to the end of Y until Y contains 16 digits. Example 1: Hash result X contains 16 or more decimal digits X = '12 30 AB CD 56 78 42 D4 B1 79 F2 CA 34 5D 67 89 A1 7B 64 BB' Y = first 16 decimal digits of X = '12 30 56 78 42 41 79 23' Example 2: Hash result X contains less than 16 decimal digits X = '1B 3C AB CD D6 E8 FA D4 B1 CD F2 CA D4 FD C7 8F A1 7B 6E BB' Y = decimal digits from X = '13 68 41 24 78 17 6' plus the required number of converted digits '1 20' (from ‘B’, ‘C’, and ‘A’) giving X = '13 68 41 24 78 17 61 20' 4. Continue with the processing specified for Option A starting at Step 2. This document contains proprietary and confidential information of EMVCo LLC. Copyright © EMVCo LLC 2004