Internet DRAFT - draft-imadali-its-vinipv6-viid
draft-imadali-its-vinipv6-viid
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]