Smart card ATR parsing

Enter an ATR (Answer To Reset) and I will parse it for you.

Results

Parsing ATR:

3B D3 96 FF 81 B1 FE 45 1F 07 80 81 05 2D
TS = 0x3BDirect Convention
T0 = 0xD3Y(1): b1101, K: 3 (historical bytes)
TA(1) = 0x96Fi=512, Di=32, 16 cycles/ETU (250000 bits/s at 4.00 MHz, 312500 bits/s for fMax=5 MHz)
TC(1) = 0xFFExtra guard time: 255 (special value)
TD(1) = 0x81Y(i+1) = b1000, Protocol T=1
----
TD(2) = 0xB1Y(i+1) = b1011, Protocol T=1
----
TA(3) = 0xFEIFSC: 254
TB(3) = 0x45Block Waiting Integer: 4 - Character Waiting Integer: 5
TD(3) = 0x1FY(i+1) = b0001, Protocol T=15
----
TA(4) = 0x07Clock stop: not supported - Class accepted by the card: (3G) A 5V B 3V C 1.8V
----
Historical bytes80 81 05
Category indicator byte: 0x80 (compact TLV data object)
Tag: 8, Len: 1 (status indicator)
LCS (life card cycle): 5
TCK = 0x2Dcorrect checksum

Possibly identified card:

3B D3 96 FF 81 B1 FE 45 1F 07 80 81 05 2D

German public health insurance card (Elektronische Gesundheitskarte eGK), 2nd generation (G2) (HealthCare)

Canonical URL JSON output

Again

Submit another ATR


See also

The parsing code is part of pyscard and is available at parseATR.py.

The list of known ATR is also available online at smartcard_list.txt.

My blog contains a serie of artickes about ATR bytes.