Network Working Group                                         S. Imadali
Internet-Draft                                               A. Petrescu
Intended status: Informational                              C. Janneteau
Expires: August 19, 2013                                             CEA
                                                       February 15, 2013


  Vehicle Identification Number-Based IPv6 Interface Identifier (VIID)
                 draft-imadali-its-vinipv6-viid-00.txt

Abstract

   The Vehicle Identification Number (VIN) is a 17 characters
   alphanumeric code that uniquely identifies a vehicle worldwide.  This
   code is standardized in ISO-3779 and ISO-3780; other standardization
   bodies' implementation of this code (NHTSA, SAE) is compliant with
   ISO standards.  The VIN is mandatory for each vehicle and used as a
   unique identity.  Some public information related to a vehicle can be
   obtained knowing its VIN code.

   An IPv6 address is 128 bit in length and its rightmost bits form the
   Interface Identifier (IID).  When the IPv6 address is used with IPv6-
   over-Ethernet and Stateless Address Auto-Configuration, the length of
   the IID is 64 bit.

   This document presents an experimental method to convert an IPv6
   Interface Identifier starting from the VIN code - the VIID.  The
   conversion can be reverted - given a VIID formed from a VIN it easily
   possible to find out the original VIN.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 19, 2013.

Copyright Notice



Imadali, et al.          Expires August 19, 2013                [Page 1]


Internet-Draft           VIN-based Interface IDs           February 2013


   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Requirements Language  . . . . . . . . . . . . . . . . . .  3
     1.2.  Abbreviations Used . . . . . . . . . . . . . . . . . . . .  3
   2.  VIN Overview . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  WMI  . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.2.  VDS  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     2.3.  VIS  . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   3.  Mapping method . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.1.  Initial assumption . . . . . . . . . . . . . . . . . . . .  7
     3.2.  Detailed algorithm . . . . . . . . . . . . . . . . . . . .  8
     3.3.  Examples of use  . . . . . . . . . . . . . . . . . . . . .  9
   4.  IPv6 Unicast Addresses . . . . . . . . . . . . . . . . . . . .  9
     4.1.  IPv6 link-Local Address Mapping  . . . . . . . . . . . . . 10
     4.2.  IPv6 Unicast Address Mapping . . . . . . . . . . . . . . . 10
   5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 11
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 11
   Appendix A.  Base-VIN Numeral System Specification . . . . . . . . 12
     A.1.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . 12
     A.2.  Conversion from decimal to Base-VIN  . . . . . . . . . . . 12
     A.3.  Conversion from Base-VIN to decimal  . . . . . . . . . . . 13
     A.4.  Number of positions  . . . . . . . . . . . . . . . . . . . 13
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14









Imadali, et al.          Expires August 19, 2013                [Page 2]


Internet-Draft           VIN-based Interface IDs           February 2013


1.  Introduction

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

1.2.  Abbreviations Used

   VIN - Vehicle Identification Number

   WMI - World Manufacturer Identifier

   VDS - Vehicle Description Section

   VIS - Vehicle Identification Section


2.  VIN Overview

   The VIN is a 17 characters alphanumeric code that uniquely identifies
   a vehicle worldwide.  The list of the involved standard documents
   include :

   o  ISO 3833:1977, "Road vehicles -- Types -- Terms and definitions".
      This document defines terms relating to some types of road
      vehicles designated according to certain design and technical
      characteristics.  It Applies to all vehicles designated for road
      circulation (with exception of agricultural tractors).

   o  ISO 4030:1983, "Road vehicles -- Vehicle identification number
      (VIN) -- Location and attachment".  This document Specifies the
      requirements for the location and marking of the VIN on motor
      vehicles, trailers, motorcycles and mopeds as defined in ISO 3833.

   o  ISO 3779:2009, "Road vehicles -- Vehicle identification number
      (VIN) -- Content and structure".  It specifies the content and
      structure of a VIN in order to establish, on a world-wide basis, a
      uniform identification numbering system for road vehicles.  This
      document applies to motor vehicles, towed vehicles, motorcycles
      and mopeds as defined in ISO 3833.

   o  ISO 3780:2009, "Road vehicles -- World manufacturer identifier
      (WMI) code".  It specifies the content and structure of an
      identifier in order to establish, on a world-wide basis, the
      identification of road vehicle manufacturers.  The WMI constitutes
      the first section of the VIN described in ISO 3779.  ISO 3780:2009



Imadali, et al.          Expires August 19, 2013                [Page 3]


Internet-Draft           VIN-based Interface IDs           February 2013


      applies to motor vehicles, towed vehicles, motorcycles and mopeds
      as defined in ISO 3833.

   The VIN is used to uniquely identify a vehicle and therefore must
   appear on each vehicle.  Some public information related to a vehicle
   can be obtained knowing its VIN code.  This possibility is used in
   thefts prevention by assisting law enforcement authorities in tracing
   and recovering parts from stolen motor vehicles, or reporting vehicle
   history to sell/buy a used car.

   The VIN is written in 17 alphanumeric characters with a combination
   of the 10 Arabic numbers and 23 capital letters of the Latin
   alphabet.  Excluded letters are I(i), O(o) and Q(q).  This is to
   avoid confusion between these characters and the numbers 0 and 1.


                          | 1 2 3 4 5 6 7 8 9 0 |
              |A B C D E F G H J K L M N P R S T U V W X Y Z|

            Figure 1: Alphabet for the generation of VIN codes

   Although the definition of the code differs from USA, where the
   National Highway Traffic Safety Administration (NHTSA) definition is
   used, and Europe where the ISO is used, both VIN codes are compliant
   and do not cause confusion.  There are some other implementations of
   the same code, for example within the Society of Automotive Engineers
   (SAE) and Australian Design Rules (ADR) which are also compliant with
   the European ISO format of the VIN.  The VIN code contains three
   sections.

              1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
            +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
            |   WMI  |        VDS      |         VIS           |
            +--------+-----------------+-----------------------+

                        Figure 2: VIN code sections

2.1.  WMI

   The WMI is 3 digits long and uniquely designates the manufacturer's
   continent, country, and the unique national identifier.  The 3 digit
   codes are defined within ISO-3780 and the database is maintained by
   the SAE.  A WMI code can be revoked but cannot be used to designate
   another manufacturer for 30 years after its revocation date.

   ISO-3780 standard specifies the use of each bit in the WMI code.
   From the left to the right, the first bit value designates the region
   of the car manufacturer.  Values [A-C] are reserved for Africa, [1-5]



Imadali, et al.          Expires August 19, 2013                [Page 4]


Internet-Draft           VIN-based Interface IDs           February 2013


   for North America, [8-9] for South America, [J-R] for Asia, [S-Z] for
   Europe and [6] for Oceania.  Multiple alphanumeric values can be
   assigned for the same region, depending on the needs.  Some values
   are reserved for future use.

   Second bit indicates a country in the region designated by the first
   bit.  Multiple values are possible for the same country if needed.
   For example, if the first bit is V (in Europe) and the second bit is
   one the letters (F to R), then the designated country is France.
   Unique identity of a country is assured by the combination of these
   two values.  The assigned codes by country are maintained by SAE and
   listed in ISO-3780.

   Third character of this section designates a national unique value
   for the car manufacturer, maintained by national authorities.  It is
   possible to assign more than one value to the manufacturer if needed.
   Thus, a unique identification of the car manufacturer can be obtained
   by the combination of the three values.

   ISO-3780 distinguishes manufacturers building more or less than 500
   cars per year.  If less, 3rd digit of WMI is set to '9' and positions
   12 to 14 (included) form an extended unique manufacturer identifier
   that identifies all the manufacturers that build less than 500 cars a
   year in the same country.  If the manufacturer builds more than 500
   cars a year, it has one or more identification number(s) depending on
   the needs.  For example, "1FA" and "3FA" identifies Ford in USA and
   Mexico, respectively.  "VF3" is one of the WMI codes of French
   manufacturer Peugeot.

2.2.  VDS

   The VDS is the second part of the VIN code.  It is 6 characters long
   and gives more information about the vehicle.  The description of the
   vehicle is not unique and each manufacturer has its own mapping table
   for this section; that is, a same character may have different
   meanings depending on the manufacturer, and sometimes differ upon the
   vehicle model.

   The information given by this section may relate to the vehicle
   weight, the model, the engine type, the body style or the engine
   power, for example.  It is also possible for the manufacturer to fill
   this section with "dummy" information if it does not want to use it,
   as spaces (blanks) are not allowed.  Therefore, the manufacturer may
   not rely on this section to complete the unique identification of a
   vehicle.

   Last position of this section (9th digit) is called the check digit.
   Like the TCP checksum, the check digit is the result of a standard



Imadali, et al.          Expires August 19, 2013                [Page 5]


Internet-Draft           VIN-based Interface IDs           February 2013


   algorithm where the values of other positions are used to generate
   this value.  Possible values for the check digit are numbers 0 to 9
   and the letter X [CHECK].

2.3.  VIS

   The VIS is the third section of the VIN code.  It is 8 characters
   long and, combined with the VDS section, uniquely identifies a
   vehicle within a car manufacturer for 30 years.  The combination of
   the VIS and the WMI section allows to uniquely identify a vehicle
   worldwide.  This section goes from the 10th digit to the 17th.

   Digit number 10 designates the year model.  It is the year during
   which the vehicle has been manufactured, or the vehicle model year
   depending on the manufacturer choice.  For this digit, the allowed
   values are 1 to 9 (0 forbidden) and uppercase Latin alphabet letters
   except I, O, Q, U and Z. Years from 1980 to 2000 are coded with
   letters from A to Y; years from 2001 to 2009 are represented with
   digits from 1 to 9; year 2010 and later are represented with letters
   from A to Y. This representation gives a cycle of 30 years during
   which a VIS code is guaranteed to be unique.

   11th digit of the VIN designates the plant of the manufacturer where
   the vehicle has been assembled.  For example, 'E' refers to 'Kentucky
   Truck' plant (Jefferson county, Kentucky) and 'T' refers to 'Otosan
   Kocaeli Assembly' plant (Kocaeli, Turkey), both plants belong to the
   manufacturer 'Ford'.  The same value may represent different plants
   depending on the manufacturer.

   Positions 12 to 17 represent the sequential identification part which
   is unique on the production line and assigned by the car
   manufacturer.  Digits from 12 to 14 (if digit 3 of WMI is '9')
   represent the rest of the WMI code of the car manufacturer that
   produces less than 500 cars a year.  Otherwise (general case),
   positions 12 to 17 are considered as a whole and generally considered
   as a sequential number.  ISO-3779:2009 specifies that the last 4
   positions must be numeric, which is applied in Europe.  In North
   America (Canada and USA), the last 5 digits must be numeric for some
   kind of vehicles and only the last 4 digits for the rest.












Imadali, et al.          Expires August 19, 2013                [Page 6]


Internet-Draft           VIN-based Interface IDs           February 2013


           1 2 3 4 5 6 7  8   9     10    11   12  13  14  15  16  17
   +------+-+-+-+-+-+-+-+--+-----+-----+-----+---+---+----+---+---+--+
   | ISO  |     |          |     |                                   |
   | 3779 | WMI |    VDS   |     |               VIS                 |
   +------+-----+----------+-----+-----+-----+-----------------------+
   | >500 |     | Vehicle  |Check|Model|Plant|                       |
   |cars a| WMI |Attributes|digit|Year |Code |   Sequential Number   |
   | year |     |          |     |     |     |                       |
   +------+-----+----------+-----+-----+-----+------------+----------+
   | <500 |     | Vehicle  |Check|Model|Plant|Manufacturer|Sequential|
   |cars a| WMI |Attributes|digit|Year |Code | IDentifier |  Number  |
   | year |     |          |     |     |     |            |          |
   +------+-----+----------+-----+-----+-----+------------+----------+

        Figure 3: Summary of VIN  code, sections definition and use


3.  Mapping method

   The VIN code can be split into 3 parts: WMI, VDS, and VIS.  Each part
   gives a partial description of one vehicle's attributes: manufacturer
   ID, vehicle's description and vehicle's serial ID.

   This section specifies the algorithm to perform in order to set an
   IPv6 [RFC4291] Interface Identifier out of a VIN code (VIID).  The
   method used is based on two short and powerful assumptions that allow
   for the compression of a maximum number of VIN digits in a minimum
   number of bits.  An example illustrates the use of this method.

3.1.  Initial assumption

   The unique identity of a vehicle is set through two sections of the
   VIN: the WMI (digits 1 to 3, included) and VIS (digits 12 to 17,
   included).  According to ISO 3779:2009, this information may not be
   enough, but it is certainly mandatory.  Specifically, the cases where
   dummy values are filled in the VDS section (allowed by ISO 3779:2009)
   makes these two sections the only relevant information known about
   the vehicle in order to have its unique identity .

   The VDS section can be recovered in the cases when WMI and VIS
   sections are known, using a multi-key query on a local database owned
   by the manufacturer.  A reasonable assumption statement (Assumption
   1) based on the previous arguments is summarized as follows:

   Assumption 1: WMI and VIS sections of a VIN code uniquely identify a
   vehicle





Imadali, et al.          Expires August 19, 2013                [Page 7]


Internet-Draft           VIN-based Interface IDs           February 2013


3.2.  Detailed algorithm

   In order to convert the alphanumeric VIN into a binary IID, an
   initial and straightforward two-steps approach consists in following
   the operation of mapping (transliteration) by the operation of
   conversion.  The VIN alphabet previously described, leaves 33
   possible values for every single VIN digit.  The mapping operation
   consists in representing a VIN digit in decimal and the conversion
   phase consists in converting this decimal to a binary number.  Each
   resulting binary is 6 bits long in order to cover all the
   possibilities.

   This initial method is highly inefficient regarding the number of
   digits converted versus the number of bits used (which is limited to
   64 in Ethernet for IID).  For instance, converting WMI and VIS
   sections (a total of 11 digits) would require 66 bits (6*11) which is
   incompatible with SLAAC operations in Ethernet [RFC2464].

   The current proposal specifies the use of a VIN-specific numeral
   system (cf. Appendix) using only allowed values; that is Arabic
   numerals (0 to 9) and Latin letters (A to Z) excluding the exceptions
   (I, O, and Q) in order to generate Base-VIN numbers.  As a
   comparison, Base-36 (radix 36) contains numerals (0-9) and letters
   (A-Z).  Numbers of this system can be converted to other bases (Hex,
   decimal, octal and binary).  Digits are ordered as follows: 0 < 1 ...
   < 9 < A ... < Y < Z. Base-VIN can be considered as Base-36 system
   tailored for VIN-related uses.  From this proposal derives the below
   work hypothesis (Assumption 2) that allows us to convert more than a
   single VIN digit at a time.

   Assumption 2: VIN codes are numbers written in the Base-VIN system.


              1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
            +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
            |    A   |       B      | C| D|    E   |     F     |
            +--------+--------------+--+--+--------+-----------+

   Figure 4: Redesign of the  VIN code according to sections definitions

   The compression gain is achieved by converting a value read in Base-
   VIN to the binary base, rather than mapping/converting separate
   digits.  The restricted set of allowed values for VIN sections helps
   reducing the number of bits besides preserving the VIN uniqueness
   property.  Sections A, D, E, and F are extracted from the VIN code
   and converted accordingly.  Sections A and E are read in Base-VIN
   while sections D and F in decimal.  The resulting number of bits
   after conversion is 51 (over 66 with the previous method).




Imadali, et al.          Expires August 19, 2013                [Page 8]


Internet-Draft           VIN-based Interface IDs           February 2013


   In details, section A (WMI) after conversion is 16 bits long (log2
   (33^3)); section D (year model) is 5 bits long (log2(30)); section E
   (first alphanumeric part of the VIS) is 16 bits long (log2 (33^3 ));
   and section F (second numeric part of the VIS) is 14 bits long
   (log2(10^4)).  This algorithm is reversible: from the converted
   values (binary), it is possible to compute the initial coded sections
   (VMI and VIS).  This property is the result of the bijectiveness of
   used operations for conversion between different numeral systems.
   Privacy consequences are discussed in the security considerations
   section.

3.3.  Examples of use

   Possible use cases involve classical vehicular IPv6 networking
   scenarios: in-vehicle communications (Machine-type), inter-vehicles
   communications (distributed games, social communications enabler),
   vehicle-to-Infrastructure communications (remote monitoring), and
   other examples which are not developed in the current draft.


4.  IPv6 Unicast Addresses

   Assumption 1 sets the 64 bits of the Interface Identifier (IID) by
   converting the WMI and VIS sections of the VIN using assumption 2.
   Extracted parts, A, D, E, and F are converted separately and the
   result is 51 bits long.  IID is then used with the IPv6 SLAAC address
   generation to form a topologically correct IPv6 address.

   Prefix and IID are the two parts that form an IPv6 address [RFC4862].
   The above resulting values are included into the 64bits of the IID.
   Bits 55 and 56 that correspond to U/L bits are set accordingly to the
   recommendations.  The final result is written on 53 bits, from
   position 64 to 11 (included) of the IID. 11 bits (positions 10 to 0
   included) are left blank.  Possible uses of these bits include, but
   not limited to:

   o  When combined with a Duplicate Address Detection (DAD) algorithm,
      it allows the resolution of possible global IPv6 address
      collisions.  Note that the above proposal can still map 2
      additional VIN digits, which gives the possibility to encode 2 VDS
      digits (for example) if necessary.

   o  Setting more than one interface address of the Router inside a VIN
      designated vehicle (Mobile Router).  For example, using Linux
      kernel index numbers for internal interface representation, or a
      any other sequential numbering method.





Imadali, et al.          Expires August 19, 2013                [Page 9]


Internet-Draft           VIN-based Interface IDs           February 2013


4.1.  IPv6 link-Local Address Mapping

   The IPv6 link-local address [RFC4291] for an Ethernet interface is
   formed by appending the VIN-based Interface Identifier obtained by
   the previous algorithm, to the prefix FE80::/64.


       10 bits          54 bits                53 bits       11 bits
    +----------+-----------------------+--------------------+-------+
    |1111111010|         (zeros)       |        VIID        |(zeros)|
    +----------+-----------------------+--------------------+-------+

               Figure 5: VIN-Based IPv6  Link local address

4.2.  IPv6 Unicast Address Mapping

   The IPv6 unicast address [RFC4291] for an Ethernet interface is
   formed by appending the VIN-based Interface Identifier obtained by
   the previous algorithm, to the prefix announced on the link when a
   Router Advertisement is present, or set manually.


                  64 bits                      53 bits       11 bits
    +----------------------------------+--------------------+-------+
    |       Global or ULA Prefix       |        VIID        |(zeros)|
    +----------------------------------+--------------------+-------+

                 Figure 6: VIN-Based IPv6  Unicast address


5.  Acknowledgements

   This work has been performed in the framework of the ICT project ICT-
   5-258512 EXALTED, which is partly funded by the European Union.  The
   organisations on the source list [CEA] would like to acknowledge the
   contributions of their colleagues to the project, although the views
   expressed in this contribution are those of the authors and do not
   necessarily represent the project.


6.  IANA Considerations

   This memo includes no request to IANA.


7.  Security Considerations

   Collision happens if at least two interfaces try to set the same IPv6



Imadali, et al.          Expires August 19, 2013               [Page 10]


Internet-Draft           VIN-based Interface IDs           February 2013


   address in the same subnet.  The 11 remaining bits using our method
   can then be used to fix the collision by pulling another adjacent
   address (2048 possibilities) or using up to 2 additional VDS digits
   in order to resolve the conflict.  The proposed mapping/conversion
   method strictly applied to ISO-3779 definitions makes a collision
   highly unlikely but theoretically possible with the use of revoked or
   forged VIN codes.  We recommend the collision avoidance using the 11
   remaining bits to complete assumption 1 (uniqueness conservation) in
   order to use a vehicle's VIN to generate an IID even in these rare
   exceptions.

   Privacy is an important requirement for in-vehicle network-to-network
   communications.  State of the art vehicular applications proposals
   usually disclose accurate information about geographical position,
   velocity and identity in safety beacons.  Even if these
   advertisements are signed according to IEEE 1609.2, the above VIID
   proposal does not fit in this category and does not provide
   mechanisms to protect the in-vehicle network privacy.  The focus of
   this work is to enable in-vehicle networks to exchange packets with
   VIN-based IPv6 addresses.  Uniqueness and collision-avoidance are
   thus top list requirements for this objective.  In order not to
   exacerbate privacy concerns, VIN-based IPv6 communications should
   take precautions in advance.  For instance, a Caesar ciphering method
   would map into Base-VIN with substituted values, before VIID
   generation.  A compromise between collisions and privacy expectations
   should be made in this case.


8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2464]  Crawford, M., "Transmission of IPv6 Packets over Ethernet
              Networks", RFC 2464, December 1998.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.

   [RFC4862]  Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
              Address Autoconfiguration", RFC 4862, September 2007.

8.2.  Informative References

   [CHECK]    US Code of Federal Regulations, "PART 565--VEHICLE
              IDENTIFICATION NUMBER REQUIREMENTS", June 1996, <http://



Imadali, et al.          Expires August 19, 2013               [Page 11]


Internet-Draft           VIN-based Interface IDs           February 2013


              www.nhtsa.gov/DOT/NHTSA/Rulemaking/Rules/
              Associated%20Files/VIN_Final_Rule_April_08.pdf>.


Appendix A.  Base-VIN Numeral System Specification

A.1.  Definitions

   The Base-VIN is the numeral system where all VIN codes belong.  A
   number in Base-VIN is convertible in other numeral systems (decimal,
   binary, hexadecimal, etc) by simple multiplication operations and
   vice-versa, with simple division operations.  The Base-VIN numeral
   system contains 33 different ordered digits.  Their value in the
   decimal system goes from 0 to 32, and the symbols used are those
   defined in the VIN description: One of the letters in the set
   [ABCDEFGHJKLMNPRSTUVWXYZ] or a numeral in the set [0123456789].  The
   ordered set of Base-VIN numerals is defined below.


   [ Decimal|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17]
   [Base-VIN|0|1|2|3|4|5|6|7|8|9| A| B| C| D| E| F| G| H]

   [ Decimal|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32]
   [Base-VIN| J| K| L| M| N| P| R| S| T| U| V| W| X| Y| Z]

                   Figure 7: Base-VIN ordered  numbering

A.2.  Conversion from decimal to Base-VIN

   A decimal number can be written in the Base-VIN following simple
   rules using simple division operations.  The algorithm is similar to
   conversion from decimal to other numeral systems (binary for example)
   and it is defined as an extension of it.  Here are the necessary
   steps: Suppose we have to convert X from decimal system to VIN
   system.  The resulting number is Y

   1)  Divide X by 33 while the quotient is greater than 33

   2)  Write the remainder in the Base-VIN numeral system

   3)  Stop division when the quotient is less than 33 and write it in
       Base-VIN

   4)  Read Y backwards from last quotient to first remainder, putting
       the last quotient in the most significant bit (MSB) and the first
       remainder in the least significant bit (LSB).  Y is now in the
       Base-VIN numeral system




Imadali, et al.          Expires August 19, 2013               [Page 12]


Internet-Draft           VIN-based Interface IDs           February 2013


   Example: Let us convert 1200 from decimal system to VIN system.

   o  1200/33 = 36 + 12[33] ---> 12 is the first remainder.  It is C in
      Base-VIN

   o  36 is greater than 33, so we shall continue

   o  36/33 = 1 + 3[33] ---> 3 is the second remainder.  It is 3 in
      Base-VIN

   o  1 is less than 33, so this is the end of our algorithm. 1 is 1 in
      Base-VIN

   o  The result of the conversion is '13C'

A.3.  Conversion from Base-VIN to decimal

   A Base-VIN number can be written in the decimal system following
   simple rules using simple multiplication and power operations.  The
   algorithm is similar to conversion from other numeral systems to
   decimal (binary for example) and it defined as an extension of it.
   Here are the necessary steps: Suppose we have to convert 'X' from
   Base-VIN numeral system to decimal.  The resulting number is 'Y'.
   Let 'n' be the number of positions in X and X(i) the Base-VIN digit
   of X in ieth position starting from 1, reading the number from the
   right (LSB) and converted to decimal (from the table above).  Then:

   Y = 0;

   for (i = n-1; i == 0; i--)

      Y+=X(i+1)*(33^i);

   Example: Let us reconvert the result from the previous example, from
   Base-VIN to decimal.  X = 13C, n = 3, LSB = C and MSB = 1.

      Y = 1*(33^2) + 3*(33^1) + C*(33^0)

      = 1*(1089) + 3* (33) + 12*(1)

      = 1200

A.4.  Number of positions

   It is possible to know how many positions are necessary to write a
   number in the Base-VIN numeral system before doing the conversion
   from decimal.  It is necessary for that to have the immediate power
   of 33 that is greater than or equal to the decimal number to convert.



Imadali, et al.          Expires August 19, 2013               [Page 13]


Internet-Draft           VIN-based Interface IDs           February 2013


   The number of necessary positions is this power of 33.  For example,
   suppose that you have to convert 1200 from decimal numeral system to
   Base-VIN. 1200 is immediately less than 33^3 and greater than 33^2.
   So 1200 will be written in 3 Base-VIN positions after conversion (We
   saw above that 1200 is actually '13C' in Base-VIN).


Authors' Addresses

   Sofiane Imadali
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169080727
   Email: sofiane.imadali@cea.fr


   Alexandru Petrescu
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169089223
   Email: alexandru.petrescu@cea.fr


   Christophe Janneteau
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169089182
   Email: christophe.janneteau@cea.fr














Imadali, et al.          Expires August 19, 2013               [Page 14]