001/*
002 * jPOS Project [http://jpos.org]
003 * Copyright (C) 2000-2026 jPOS Software SRL
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
017 */
018
019package org.jpos.security;
020
021/**
022 * Indicate method for derivation by the issuer of a 16-byte
023 * Unique DEA Key UDK (Session Key) used for Application Cryptogram generation,
024 * issuer authentication, and secure messaging.
025 * <br>
026 * These methods take as input the ATC (and unpredictable number),
027 * plus a 16-byte ICC Master Key MK,
028 * and produce the 16-byte Unique DEA Key UDK (Session Key)
029 *
030 * @author Robert Demski
031 * @version $Revision$ $Date$
032 */
033public enum SKDMethod {
034
035    /**
036     * Visa Smart Debit/Credit or UKIS in England
037     * <br>
038     * Described in Visa Integrated Circuit Card
039     * Specification (VIS) Version 1.5 - May 2009, section B.4
040     */
041    VSDC,
042
043    /**
044     * MasterCard Proprietary SKD method
045     */
046    MCHIP,
047
048    /**
049     * American Express
050     */
051    AEPIS_V40,
052
053    /**
054     * EMV Common Session Key Derivation Method
055     * Described in EMV v4.2 Book 2 - June 2008, Annex A1.3
056     */
057    EMV_CSKD,
058
059    /**
060     * EMV2000 Session Key Method
061     * Described in EMV 2000 v4.0 Book 2 - December 2000, Annex A1.3
062     */
063    EMV2000_SKM,
064
065}