Information technology - ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) - Part 2:

ISO/IEC 8825-2:2015 specifies a set of Packed Encoding Rules that may be used to derive a transfer syntax for values of types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1. These Packed Encoding Rules are also to be applied for decoding such a transfer syntax in order to identify the data values being transferred. The encoding rules specified in this Recommendation | International Standard: - are used at the time of communication; - are intended for use in circumstances where minimizing the size of the representation of values is the major concern in the choice of encoding rules; - allow the extension of an abstract syntax by addition of extra values, preserving the encodings of the existing values, for all forms of extension described in Rec. ITU-T X.680 | ISO/IEC 8824‑1; - can be modified in accordance with the provisions of Rec. ITU-T X.695 | ISO/IEC 8825‑6.

Technologies de l'information — Règles de codage ASN.1: Spécification des règles de codage compact (PER) — Partie 2:

General Information

Status
Withdrawn
Publication Date
11-Nov-2015
Withdrawal Date
11-Nov-2015
Current Stage
9599 - Withdrawal of International Standard
Start Date
30-Jun-2021
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 8825-2:2015 - Information technology -- ASN.1 encoding rules: Specification of Packed Encoding Rules (PER)
English language
63 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 8825-2:2015 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) - Part 2:". This standard covers: ISO/IEC 8825-2:2015 specifies a set of Packed Encoding Rules that may be used to derive a transfer syntax for values of types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1. These Packed Encoding Rules are also to be applied for decoding such a transfer syntax in order to identify the data values being transferred. The encoding rules specified in this Recommendation | International Standard: - are used at the time of communication; - are intended for use in circumstances where minimizing the size of the representation of values is the major concern in the choice of encoding rules; - allow the extension of an abstract syntax by addition of extra values, preserving the encodings of the existing values, for all forms of extension described in Rec. ITU-T X.680 | ISO/IEC 8824‑1; - can be modified in accordance with the provisions of Rec. ITU-T X.695 | ISO/IEC 8825‑6.

ISO/IEC 8825-2:2015 specifies a set of Packed Encoding Rules that may be used to derive a transfer syntax for values of types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1. These Packed Encoding Rules are also to be applied for decoding such a transfer syntax in order to identify the data values being transferred. The encoding rules specified in this Recommendation | International Standard: - are used at the time of communication; - are intended for use in circumstances where minimizing the size of the representation of values is the major concern in the choice of encoding rules; - allow the extension of an abstract syntax by addition of extra values, preserving the encodings of the existing values, for all forms of extension described in Rec. ITU-T X.680 | ISO/IEC 8824‑1; - can be modified in accordance with the provisions of Rec. ITU-T X.695 | ISO/IEC 8825‑6.

ISO/IEC 8825-2:2015 is classified under the following ICS (International Classification for Standards) categories: 35.100.60 - Presentation layer. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 8825-2:2015 has the following relationships with other standards: It is inter standard links to ISO 8973:1997/Amd 1:2020, ISO/IEC 8825-2:2021, ISO/IEC 8825-2:2008/Cor 2:2012, ISO/IEC 8825-2:2008. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO/IEC 8825-2:2015 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 8825-2
Fifth edition
2015-11-15
Information technology — ASN.1
encoding rules: Specification of Packed
Encoding Rules (PER)
Technologies de l'information — Règles de codage ASN.1:
Spécification des règles de codage compact (PER)

Reference number
©
ISO/IEC 2015
©  ISO/IEC 2015
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any
means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission.
Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.
ISO copyright office
Case postale 56  CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
This fifth edition cancels and replaces the fourth edition of ISO/IEC 8825-2:2008 which has been technically
revised. It also incorporates ISO/IEC 8825-2:2008/Cor.1:2012, ISO/IEC 8825-5:2008.Cor.2:2012, ISO/IEC
8825-2:2008/Cor.3:2015 and ISO/IEC 8825-2:2008/Cor.4:2015.
ISO/IEC 8825-2 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 6, Telecommunications and information exchange between systems, in collaboration with
ITU-T. The identical text is published as ITU-T X.691 (08/2015).
© ISO/IEC 2015 – All rights reserved iii

I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n

ITU-T X.691
(08/2015)
TELECOMMUNICATION
STANDARDIZATION SECTOR
OF ITU
SERIES X: DATA NETWORKS, OPEN SYSTEM
COMMUNICATIONS AND SECURITY
OSI networking and system aspects – Abstract Syntax
Notation One (ASN.1)
Information technology – ASN.1 encoding rules:
Specification of Packed Encoding Rules (PER)

Recommendation ITU-T X.691
ITU-T X-SERIES RECOMMENDATIONS
DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY

PUBLIC DATA NETWORKS
Services and facilities X.1–X.19
Interfaces X.20–X.49
Transmission, signalling and switching X.50–X.89
Network aspects X.90–X.149
Maintenance X.150–X.179
Administrative arrangements X.180–X.199
OPEN SYSTEMS INTERCONNECTION
Model and notation X.200–X.209
Service definitions X.210–X.219
Connection-mode protocol specifications X.220–X.229
Connectionless-mode protocol specifications X.230–X.239
PICS proformas X.240–X.259
Protocol Identification X.260–X.269
Security Protocols X.270–X.279
Layer Managed Objects X.280–X.289
Conformance testing X.290–X.299
INTERWORKING BETWEEN NETWORKS
General X.300–X.349
Satellite data transmission systems X.350–X.369
IP-based networks X.370–X.379
MESSAGE HANDLING SYSTEMS X.400–X.499
DIRECTORY X.500–X.599
OSI NETWORKING AND SYSTEM ASPECTS
Networking X.600–X.629
Efficiency X.630–X.639
Quality of service X.640–X.649
Naming, Addressing and Registration X.650–X.679
Abstract Syntax Notation One (ASN.1) X.680–X.699
OSI MANAGEMENT
Systems management framework and architecture X.700–X.709
Management communication service and protocol X.710–X.719
Structure of management information X.720–X.729
Management functions and ODMA functions X.730–X.799
SECURITY X.800–X.849
OSI APPLICATIONS
Commitment, concurrency and recovery X.850–X.859
Transaction processing X.860–X.879
Remote operations X.880–X.889
Generic applications of ASN.1 X.890–X.899
OPEN DISTRIBUTED PROCESSING X.900–X.999
INFORMATION AND NETWORK SECURITY X.1000–X.1099
SECURE APPLICATIONS AND SERVICES X.1100–X.1199
CYBERSPACE SECURITY X.1200–X.1299
SECURE APPLICATIONS AND SERVICES X.1300–X.1399
CYBERSECURITY INFORMATION EXCHANGE X.1500–X.1599
CLOUD COMPUTING SECURITY X.1600–X.1699

For further details, please refer to the list of ITU-T Recommendations.

INTERNATIONAL STANDARD ISO/IEC 8825-2
RECOMMENDATION ITU-T X.691
Information technology – ASN.1 encoding rules:
Specification of Packed Encoding Rules (PER)

Summary
Recommendation ITU-T X.691 | ISO/IEC 8825-2 describes a set of encoding rules that can be applied to values of all
ASN.1 types to achieve a much more compact representation than that achieved by the Basic Encoding Rules and its
derivatives (described in Rec. ITU-T X.690 | ISO/IEC 8825-1).

History
*
Edition Recommendation Approval Study Group Unique ID
1.0 ITU-T X.691 1995-04-10 7 11.1002/1000/3047
1.1 ITU-T X.691 (1995) Technical Cor. 1 1997-12-12 7 11.1002/1000/4184
1.2 ITU-T X.691 (1995) Technical Cor. 2 1997-12-12 7 11.1002/1000/4185
2.0 ITU-T X.691 1997-12-12 7 11.1002/1000/4448
2.1 ITU-T X.691 (1997) Technical Cor. 1 1999-06-18 7 11.1002/1000/4707
2.2 ITU-T X.691 (1997) Amd. 1 1999-06-18 7 11.1002/1000/4706
2.3 ITU-T X.691 (1997) Technical Cor. 2 2001-02-02 7 11.1002/1000/5337
2.4 ITU-T X.691 (1997) Technical Cor. 3 2001-03-15 7 11.1002/1000/5338
3.0 ITU-T X.691 2002-07-14 17 11.1002/1000/6090
3.1 ITU-T X.691 (2002) Amd. 1 2003-10-29 17 11.1002/1000/7022
3.2 ITU-T X.691 (2002) Technical Cor. 1 2005-05-14 17 11.1002/1000/8513
3.3 ITU-T X.691 (2002) Technical Cor. 2 2005-11-29 17 11.1002/1000/8638
3.4 ITU-T X.691 (2002) Amd. 2 2006-06-13 17 11.1002/1000/8839
3.5 ITU-T X.691 (2002) Amd. 3 2007-05-29 17 11.1002/1000/9109
4.0 ITU-T X.691 2008-11-13 17 11.1002/1000/9609
4.1 ITU-T X.691 (2008) Cor. 1 2011-10-14 17 11.1002/1000/11379
4.2 ITU-T X.691 (2008) Cor. 2 2012-04-13 17 11.1002/1000/11585
4.3 ITU-T X.691 (2008) Cor. 3 2014-11-13 17 11.1002/1000/12337
4.4 ITU-T X.691 (2008) Cor. 4 2014-11-13 17 11.1002/1000/12339
5.0 ITU-T X.691 2015-08-13 17 11.1002/1000/12484

*
To access the Recommendation, type the URL http://handle.itu.int/ in the address field of your web browser, followed by the
Recommendation's unique ID. For example, http://handle.itu.int/11.1002/1000/11830-en.
Rec. ITU-T X.691 (08/2015) i
FOREWORD
The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of
telecommunications, information and communication technologies (ICTs). The ITU Telecommunication
Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical,
operating and tariff questions and issuing Recommendations on them with a view to standardizing
telecommunications on a worldwide basis.
The World Telecommunication Standardization Assembly (WTSA), which meets every four years,
establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on
these topics.
The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1.
In some areas of information technology which fall within ITU-T's purview, the necessary standards are
prepared on a collaborative basis with ISO and IEC.

NOTE
In this Recommendation, the expression "Administration" is used for conciseness to indicate both a
telecommunication administration and a recognized operating agency.
Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain
mandatory provisions (to ensure, e.g., interoperability or applicability) and compliance with the
Recommendation is achieved when all of these mandatory provisions are met. The words "shall" or some
other obligatory language such as "must" and the negative equivalents are used to express requirements. The
use of such words does not suggest that compliance with the Recommendation is required of any party.

INTELLECTUAL PROPERTY RIGHTS
ITU draws attention to the possibility that the practice or implementation of this Recommendation may
involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence,
validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others
outside of the Recommendation development process.
As of the date of approval of this Recommendation, ITU had not received notice of intellectual property,
protected by patents, which may be required to implement this Recommendation. However, implementers
are cautioned that this may not represent the latest information and are therefore strongly urged to consult
the TSB patent database at http://www.itu.int/ITU-T/ipr/.

 ITU 2015
All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the
prior written permission of ITU.
ii Rec. ITU-T X.691 (08/2015)
CONTENTS
Page
Introduction . vi
1 Scope . 1
2 Normative references . 1
2.1 Identical Recommendations | International Standards . 1
2.2 Additional references . 1
3 Definitions . 2
3.1 Specification of Basic Notation . 2
3.2 Information Object Specification . 2
3.3 Constraint Specification . 2
3.4 Parameterization of ASN.1 Specification . 2
3.5 Basic Encoding Rules . 2
3.6 PER Encoding Instructions . 2
3.7 Additional definitions . 2
4 Abbreviations . 5
5 Notation . 5
6 Convention . 5
7 Encoding rules defined in this Recommendation | International Standard . 5
8 Conformance . 6
9 PER encoding instructions . 6
10 The approach to encoding used for PER . 7
10.1 Use of the type notation. 7
10.2 Use of tags to provide a canonical order . 7
10.3 PER-visible constraints . 7
10.4 Type and value model used for encoding . 9
10.5 Structure of an encoding. 9
10.6 Types to be encoded . 10
11 Encoding procedures . 10
11.1 Production of the complete encoding . 10
11.2 Open type fields . 11
11.3 Encoding as a non-negative-binary-integer . 11
11.4 Encoding as a 2's-complement-binary-integer . 12
11.5 Encoding of a constrained whole number . 12
11.6 Encoding of a normally small non-negative whole number . 13
11.7 Encoding of a semi-constrained whole number . 13
11.8 Encoding of an unconstrained whole number . 14
11.9 General rules for encoding a length determinant . 14
12 Encoding the boolean type . 16
13 Encoding the integer type . 16
14 Encoding the enumerated type . 17
15 Encoding the real type . 18
16 Encoding the bitstring type . 18
17 Encoding the octetstring type . 19
18 Encoding the null type . 19
19 Encoding the sequence type . 19
20 Encoding the sequence-of type . 20
Rec. ITU-T X.691 (08/2015) iii

21 Encoding the set type . 21
22 Encoding the set-of type . 21
23 Encoding the choice type . 22
24 Encoding the object identifier type . 22
25 Encoding the relative object identifier type . 23
26 Encoding the internationalized resource reference type . 23
27 Encoding the relative internationalized resource reference type . 23
28 Encoding the embedded-pdv type. 23
29 Encoding of a value of the external type . 23
30 Encoding the restricted character string types . 24
31 Encoding the unrestricted character string type . 26
32 Encoding the time type, the useful time types, the defined time types and the additional time types . 26
32.1 General . 26
32.2 Encoding subtypes with the "Basic=Date" property setting . 31
32.3 Encoding subtypes with the "Basic=Time" property setting . 33
32.4 Encoding subtypes with the "Basic=Date-Time" property setting . 36
32.5 Encoding subtypes with the "Basic=Interval Interval-type=SE" property setting . 36
32.6 Encoding subtypes with the "Basic=Interval Interval-type=D" property setting . 36
32.7 Encoding subtypes with the "Basic=Interval Interval-type=SD" or
"Basic=Interval Interval-type=DE" property setting . 37
32.8 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SE" property setting . 38
32.9 Encoding subtypes with the "Basic=Rec-Interval Interval-type=D" property setting . 39
32.10 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SD" or
"Basic=Rec-Interval Interval-type=DE" property setting . 39
32.11 Encoding subtypes with mixed settings of the Basic property . 40
33 Object identifiers for transfer syntaxes . 43
Annex A Example of encodings . 44
A.1 Record that does not use subtype constraints . 44
A.1.1 ASN.1 description of the record structure . 44
A.1.2 ASN.1 description of a record value . 44
A.1.3 ALIGNED PER representation of this record value . 44
A.1.4 UNALIGNED PER representation of this record value . 45
A.2 Record that uses subtype constraints . 47
A.2.1 ASN.1 description of the record structure . 47
A.2.2 ASN.1 description of a record value . 47
A.2.3 ALIGNED PER representation of this record value . 47
A.2.4 UNALIGNED PER representation of this record value . 48
A.3 Record that uses extension markers . 49
A.3.1 ASN.1 description of the record structure . 49
A.3.2 ASN.1 description of a record value . 50
A.3.3 ALIGNED PER representation of this record value . 50
A.3.4 UNALIGNED PER representation of this record value . 51
A.4 Record that uses extension addition groups . 53
A.4.1 ASN.1 description of the record structure . 53
A.4.2 ASN.1 description of a record value . 53
A.4.3 ALIGNED PER representation of this record value . 53
A.4.4 UNALIGNED PER representation of this record value . 54
Annex B Combining PER-visible and non-PER-visible constraints . 55
B.1 General . 55
B.2 Extensibility and visibility of constraints in PER . 55
B.2.1 General . 55
B.2.2 PER-visibility of constraints . 56
B.2.3 Effective constraints . 57
B.3 Examples . 58
iv Rec. ITU-T X.691 (08/2015)
Annex C Support for the PER algorithms . 60
Annex D Support for the ASN.1 rules of extensibility . 61
Annex E Tutorial annex on concatenation of PER encodings . 62
Annex F Identification of Encoding Rules . 63

Rec. ITU-T X.691 (08/2015) v
Introduction
Specifications Rec. ITU-T X.680 | ISO/IEC 8824-1, Rec. ITU-T X.681 | ISO/IEC 8824-2, Rec. ITU-T X.682 |
ISO/IEC 8824-3, Rec. ITU-T X.683 | ISO/IEC 8824-4 together describe Abstract Syntax Notation One (ASN.1), a
notation for the definition of messages to be exchanged between peer applications.
This Recommendation | International Standard defines encoding rules that may be applied to values of types defined
using the notation specified in Rec. ITU-T X.680 | ISO/IEC 8824-1. Application of these encoding rules produces a
transfer syntax for such values. It is implicit in the specification of these encoding rules that they are also to be used for
decoding.
There are more than one set of encoding rules that can be applied to values of ASN.1 types. This Recommendation |
International Standard defines a set of Packed Encoding Rules (PER), so called because they achieve a much more
compact representation than that achieved by the Basic Encoding Rules (BER) and its derivatives described in Rec.
ITU-T X.690 | ISO/IEC 8825-1 which is referenced for some parts of the specification of these Packed Encoding Rules.

vi Rec. ITU-T X.691 (08/2015)
ISO/IEC 8825-2: 2015 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology –
ASN.1 encoding rules:
Specification of Packed Encoding Rules (PER)
1 Scope
This Recommendation | International Standard specifies a set of Packed Encoding Rules that may be used to derive a
transfer syntax for values of types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1. These Packed Encoding Rules are also
to be applied for decoding such a transfer syntax in order to identify the data values being transferred.
The encoding rules specified in this Recommendation | International Standard:
– are used at the time of communication;
– are intended for use in circumstances where minimizing the size of the representation of values is the
major concern in the choice of encoding rules;
– allow the extension of an abstract syntax by addition of extra values, preserving the encodings
of the existing values, for all forms of extension described in Rec. ITU-T X.680 | ISO/IEC 8824-1;
– can be modified in accordance with the provisions of Rec. ITU-T X.695 | ISO/IEC 8825-6.
2 Normative references
The following Recommendations and International Standards contain provisions which, through reference in this text,
constitute provisions of this Recommendation | International Standard. At the time of publication, the editions indicated
were valid. All Recommendations and Standards are subject to revision, and parties to agreements based on this
Recommendation | International Standard are encouraged to investigate the possibility of applying the most recent edition
of the Recommendations and Standards listed below. Members of IEC and ISO maintain registers of currently valid
International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid
ITU-T Recommendations.
NOTE – This Recommendation | International Standard is based on ISO/IEC 10646:2003. It cannot be applied using later versions
of this standard.
2.1 Identical Recommendations | International Standards
– Recommendation ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Specification of basic notation.
– Recommendation ITU-T X.681 (2015) | ISO/IEC 8824-2:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Information object specification.
– Recommendation ITU-T X.682 (2015) | ISO/IEC 8824-3:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Constraint specification.
– Recommendation ITU-T X.683 (2015) | ISO/IEC 8824-4:2015, Information technology – Abstract Syntax
Notation One (ASN.1): Parameterization of ASN.1 specifications.
– Recommendation ITU-T X.690 (2015) | ISO/IEC 8825-1:2015, Information technology – ASN.1 encoding
rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished
Encoding Rules (DER).
– Recommendation ITU-T X.695 (2015) | ISO/IEC 8825-6:2015, Information technology – ASN.1 encoding
rules: Registration and application of PER encoding instructions.
2.2 Additional references
– ISO/IEC 646:1991, Information technology – ISO 7-bit coded character set for information interchange.
– ISO/IEC 2022:1994, Information technology – Character code structure and extension techniques.
Rec. ITU-T X.691 (08/2015) 1
ISO/IEC 8825-2: 2015 (E)
– ISO/IEC 2375:2003, Information technology – Procedure for registration of escape sequences and coded
character sets.
– ISO 6093:1985, Information processing – Representation of numerical values in character strings for
information interchange.
– ISO International Register of Coded Character Sets to be Used with Escape Sequences.
– ISO/IEC 10646:2003, Information technology – Universal Multiple-Octet Coded Character Set (UCS).
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 Specification of Basic Notation
For the purposes of this Recommendation | International Standard, all the definitions in Rec. ITU-T X.680 |
ISO/IEC 8824-1 apply.
3.2 Information Object Specification
For the purposes of this Recommendation | International Standard, all the definitions in Rec. ITU-T X.681 |
ISO/IEC 8824-2 apply.
3.3 Constraint Specification
This Recommendation | International Standard makes use of the following terms defined in Rec. ITU-T X.682 |
ISO/IEC 8824-3:
a) component relation constraint;
b) table constraint.
3.4 Parameterization of ASN.1 Specification
This Recommendation | International Standard makes use of the following term defined in Rec. ITU-T X.683 |
ISO/IEC 8824-4:
– variable constraint.
3.5 Basic Encoding Rules
This Recommendation | International Standard makes use of the following terms defined in Rec. ITU-T X.690 |
ISO/IEC 8825-1:
a) dynamic conformance;
b) static conformance;
c) data value;
d) encoding (of a data value);
e) sender;
f) receiver.
3.6 PER Encoding Instructions
This Recommendation | International Standard makes use of the following term defined in Rec. ITU-T X.695 |
ISO/IEC 8825-6:
– identifying keyword.
3.7 Additional definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.7.1 2's-complement-binary-integer encoding: The encoding of a whole number into a bit-field (octet-aligned in
the ALIGNED variant) of a specified length, or into the minimum number of octets that will accommodate that whole
2 Rec. ITU-T X.691 (08/2015)
ISO/IEC 8825-2: 2015 (E)
number encoded as a 2's-complement-integer, which provides representations for whole numbers that are equal to, greater
than, or less than zero, as specified in 11.4.
NOTE 1 – The value of a two's complement binary number is derived by numbering the bits in the contents octets, starting with
N
bit 1 of the last octet as bit zero and ending the numbering with bit 8 of the first octet. Each bit is assigned a numerical value of 2 ,
where N is its position in the above numbering sequence. The value of the two's complement binary number is obtained by
summing the numerical values assigned to each bit for those bits which are set to one, excluding bit 8 of the first octet, and then
reducing this value by the numerical value assigned to bit 8 of the first octet if that bit is set to one.
NOTE 2 – Whole number is a synonym for the mathematical term integer. It is used here to avoid confusion with the ASN.1 type
integer.
3.7.2 abstract syntax value: A value of an abstract syntax (defined as the set of values of a single ASN.1 type),
which is to be encoded by PER, or which is to be generated by PER decoding.
NOTE – The single ASN.1 type associated with an abstract syntax is formally identified by an object of class ABSTRACT-SYNTAX.
3.7.3 bit-field: The product of some part of the encoding mechanism that consists of an ordered set of bits that are
not necessarily a multiple of eight.
NOTE – If the use of this term is followed by "octet-aligned in the ALIGNED variant", this means that the bit-field is required to
begin on an octet boundary in the complete encoding for the aligned variant of PER.
3.7.4 canonical encoding: A complete encoding of an abstract syntax value obtained by the application of encoding
rules that have no implementation-dependent options; such rules result in the definition of a 1-1 mapping between
unambiguous and unique bitstrings in the transfer syntax and values in the abstract syntax.
3.7.5 composite type: A set, sequence, set-of, sequence-of, choice, embedded-pdv, external or unrestricted character
string type.
3.7.6 composite value: The value of a composite type.
3.7.7 constrained whole number: A whole number which is constrained by PER-visible constraints to lie within a
range from "lb" to "ub" with the value "lb" less than or equal to "ub", and the values of "lb" and "ub" as permitted values.
NOTE – Constrained whole numbers occur in the encoding which identifies the chosen alternative of a choice type, the length of
character, octet and bit string types whose length has been restricted by PER-visible constraints to a maximum length, the count of
the number of components in a sequence-of or set-of type that has been restricted by PER-visible constraints to a maximum
number of components, the value of an integer type that has been constrained by PER-visible constraints to lie within finite
minimum and maximum values, and the value that denotes an enumeration in an enumerated type.
3.7.8 effective size constraint (for a constrained string type): A single finite size constraint that could be applied
to a built-in string type and whose effect would be to permit all and only those lengths that can be present in the
constrained string type.
NOTE 1 – For example, the following has an effective size constraint:
A ::= IA5String (SIZE(1.4) | SIZE(10.15))
since it can be rewritten with a single size constraint that applies to all values:
A ::= IA5String (SIZE(1.4 | 10.15))
whereas the following has no effective size constraint since the string can be arbitrarily long if it does not contain any characters
other than 'a', 'b' and 'c':
B ::= IA5String (SIZE(1.4) | FROM("abc"))
NOTE 2 – The effective size constraint is used only to determine the encoding of lengths.
3.7.9 effective permitted-alphabet constraint (for a constrained restricted character string type): A single
permitted-alphabet constraint that could be applied to a built-in known-multiplier character string type and whose effect
would be to permit all and only those characters that can be present in at least one character position of any one of the
values in the constrained restricted character string type.
NOTE 1 – For example, in:
Ax ::= IA5String (FROM("AB") | FROM("CD"))
Bx ::= IA5String (SIZE(1.4) | FROM("abc"))
Ax has an effective permitted-alphabet constraint of "ABCD". Bx has an effective permitted-alphabet constraint that consists
of the entire IA5String alphabet since there is no smaller permitted-alphabet constraint that applies to all values of Bx.
NOTE 2 – The effective permitted-alphabet constraint is used only to determine the encoding of characters.
3.7.10 enumeration index: The non-negative whole number associated with an "EnumerationItem" in an enumerated
type. The enumeration indices are determined by sorting the "EnumerationItem"s into ascending order by their
enumeration value, then by assigning an enumeration index starting with zero for the first "EnumerationItem", one for the
second, and so on up to the last "EnumerationItem" in the sorted list.
NOTE – "EnumerationItem"s in the "RootEnumeration" are sorted separately from those in the "AdditionalEnumeration".
Rec. ITU-T X.691 (08/2015) 3
ISO/IEC 8825-2: 2015 (E)
3.7.11 extensible for PER encoding: A property of a type which requires that PER identifies an encoding of a value
as that of a root value or as that of an extension addition.
NOTE – Root values are normally encoded more efficiently than extension additions.
3.7.12 field-list: An ordered set of bit-fields that is produced as a result of applying these encoding rules to
components of an abstract value.
3.7.13 indefinite-length: An encoding whose length is greater than 64K-1 or whose maximum length cannot be
determined from the ASN.1 notation.
3.7.14 fixed-length type: A type such that the value of the outermost length determinant in an encoding of this type
can be determined (using the mechanisms specified in this Recommendation | International Standard) from the type
notation (after the application of PER-visible constraints only) and is the same for all possible values of the type.
3.7.15 fixed value: A value such that it can be determined (using the mechanisms specified in this Recommendation |
International Standard) that this is the only permitted value (after the application of PER-visible constraints only) of the
type governing it.
3.7.16 known-multiplier character string type: A restricted character string type where the number of octets in the
encoding is a known fixed multiple of the number of characters in the character string for all permitted character string
values. The known-multiplier character string types are IA5String, PrintableString, VisibleString,
NumericString, UniversalString and BMPString.
3.7.17 length determinant: A count (of bits, octets, characters, or components) determining the length of part or all of
a PER encoding.
3.7.18 normally small non-negative whole number: A part of an encoding which represents values of an unbounded
non-negative integer, but where small values are more likely to occur than large ones.
3.7.19 normally small length: A length encoding which represents values of an unbounded length, but where small
lengths are more likely to occur than large ones.
3.7.20 non-negative-binary-integer encoding: The encoding of a constrained or semi-constrained whole number into
either a bit-field of a specified length, or into a bit-field (octet-aligned in the ALIGNED variant) of a specified length, or
into the minimum number of octets that will accommodate that whole number encoded as a non-negative-binary-integer
which provides representations for whole numbers greater than or equal to zero, as specified in 11.3.
NOTE – The value of a non-negative-binary-number is derived by numbering the bits in the contents octets, starting with bit 1 of
N
the last octet as bit zero and ending the numbering with bit 8 of the first octet. Each bit is assigned a numerical value of 2 , where
N is its position in the above numbering sequence. The value of the non-negative-binary-number is obtained by summing the
numerical values assigned to each bit for those bits which are set to one.
3.7.21 outermost type: An ASN.1 type whose encoding is included in a non-ASN.1 carrier or as the value of other
ASN.1 constructs (see 11.1.1).
NOTE – PER encodings of an outermost type are always an integral multiple of eight bits.
3.7.22 PER-visible constraint: An instance of use of the ASN.1 constraint notation which affects the PER encoding
of a value.
3.7.23 relay-safe encoding: A complete encoding of an abstract syntax value which can be decoded (including any
embedded encodings) without knowledge of the environment in which the encoding was performed.
3.7.24 semi-constrained whole number: A whole number which is constrained by PER-visible constraints to exceed
or equal some value "lb" with the value "lb" as a permitted value, and which is not a constrained whole number.
NOTE – Semi-constrained whole numbers occur in the encoding of the length of unconstrained (and in some cases constrained)
character, octet and bit string types, the count of the number of components in unconstrained (and in some cases constrained)
sequence-of and set-of types, and the value of an integer type that has been constrained to exceed some minimum value.
3.7.25 simple type: A type that is not a composite type.
3.7.26 textually dependent: A term used to identify the case where if some reference name is used in evaluating an
element set, the value of the element set is considered to be dependent on that reference name, regardless of whether the
actual set arithmetic being performed is such that the final value of the element set is independent of the actual element
set value assigned to the reference name.
NOTE – For example, the following definition of Foo is textually dependent on Bar even though Bar has no effect on Foos set of
values (thus, according to 10.3.6 the constraint on Foo is not PER-visible since Bar is constrained by a table constraint and Foo is
textually dependent on Bar).
MY-CLASS ::= CLASS { &name PrintableString, &age INTEGER } WITH SYNTAX{&name , &age}
MyObjectSet MY-CLASS ::= { {"Jack", 7} | {"Jill", 5} }
4 Rec. ITU-T X.691 (08/2015)
ISO/IEC 8825-2: 2015 (E)
Bar ::= MY-CLASS.&age ({MyObjectSet})
Foo ::= INTEGER (Bar | 1.100)
3.7.27 unconstrained whole number: A whole number which is not constrained by PER-visible constraints.
NOTE – Unconstrained whole numbers occur only in the encoding of a value of the integer type.
4 Abbreviations
For the purposes of this Recommendation | International Standard, the following abbreviations apply:
ASN.1 Abstract Syntax Notation One
BER Basic Encoding Rules of ASN.1
CER Canonical Encoding Rules of ASN.1
DER Distinguished Encoding Rules of ASN.1
PER Packed Encoding Rules of ASN.1
16K 16384
32K 32768
48K 49152
64K 65536
5 Notation
This Recommendation | International Standard references the notation defined by Rec. ITU-T X.680 | ISO/IEC 8824-1.
6 Convention
6.1 This Recommendation | International Standard defines the value of each octet in an encoding by use of the
terms "most significant bit" and "least significant bit".
NOTE – Lower layer specifications use the same notation to define the order of bit transmission on a serial line, or the assignment
of bits to parallel channels.
6.2 For the purposes of this Recommendation | International Standard, the bits of an octet are numbered from 8
to 1, where bit 8 is the "most significant bit" and bit 1 the "least significant bit".
6.3 The term "octet" is frequently used in this Recommendation | International Standard to stand for "eight bits".
The use of this term in place of "eight bits" does not carry any implications of alignment. Where alignment is intended, it
is explicitly stated in this Recommendation | International Standard.
7 Encoding rules defined in this Recommendation | International Standard
7.1 This Recommendation | International Standard specifies four encoding rules (together with their associated
object identifiers) which can be used to encode and decode the values of an abstract syntax defined as the values of a
single (known) ASN.1 type. This clause describes their applicability and properties.
7.2 Without knowledge of the type of the value encoded, it is not possible to determine the structure of the
encoding (under any of the PER encoding rule algorithms). In particular, the end of the encoding cannot be determined
from the
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...