KDE PIM/KItinerary/vr.fi Barcode: Difference between revisions

From KDE Community Wiki
Line 5: Line 5:
* the last ~64 byte have very high entropy, suggesting a signature or a compressed section
* the last ~64 byte have very high entropy, suggesting a signature or a compressed section
* there's a base64 encoded sequential number printed below the Aztec code on the ticket, containing 24bit.
* there's a base64 encoded sequential number printed below the Aztec code on the ticket, containing 24bit.
* there's a 13 digit order number and optionally a 15 digit reference number on each ticket, sequential and covering multiple sections/travelers
* one barcode seems to be exactly for one journey section
* one barcode seems to be exactly for one journey section
* all available samples are for a single adult traveler


= Bit Layout =
= Bit Layout =

Revision as of 18:11, 4 January 2020

General Observations

  • always exactly 107 byte
  • all binary, there are no recognizable ASCII strings in this
  • the last ~64 byte have very high entropy, suggesting a signature or a compressed section
  • there's a base64 encoded sequential number printed below the Aztec code on the ticket, containing 24bit.
  • there's a 13 digit order number and optionally a 15 digit reference number on each ticket, sequential and covering multiple sections/travelers
  • one barcode seems to be exactly for one journey section
  • all available samples are for a single adult traveler

Bit Layout

Byte[:Bit] (MSB) Content Meaning Notes
0 - 1 0b0001 0000 0b0000 0010 unknown fixed in all samples
2 0b1010 0000 or 0b1000 0000 unknown
3 0b0000 0001 unknown fixed in all samples
4:0 4:6 null
4:7 - 5:7 9 bit day number day of travel, counted from Jan 1
6 - 12 0x00 0x49 0x24 0x92 0x49 0x24 0x92 fixed in all samples, patterns repeats below
13 - 21 todo todo
22:0 - 23:5 14 bit uint train number might be including too many/few leading 0 bits, 0 for buses
23:6 - 29 todo todo
30:0 - 30:5 5 bit uint coach number leading 0 bits uncertain
30:6 - 31:4 7 bit uint seat number 0 if no seat reserved
31:5 - 31:7 0b100 fixed in all samples
32 - 40 0x89 0x24 0x92 0x49 0x24 0x90 0x60 0x00 0x01 fixed in all samples, repeats a pattern from 6-12
41:0 - 42:0 todo todo varies slightly between samples
42:1 - 106:0 64 byte varying high entropy in all samples, signature?
106:1 - 106:7 null