Решение для управления процессами
производственной безопасности


ГОСТ Р ИСО/МЭК 8825-2-2003

Группа П85

     

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ


Информационная технология

ПРАВИЛА КОДИРОВАНИЯ АСН.1

Часть 2

Спецификация правил уплотненного кодирования (PER)

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

     

ОКС 35.100.60
ОКСТУ 4002

Дата введения 2004-07-01

     

Предисловие

1 РАЗРАБОТАН Федеральным государственным унитарным предприятием Государственный научно-исследовательский и конструкторско-технологический институт "ТЕСТ" Министерства Российской Федерации по связи и информатизации

ВНЕСЕН Министерством Российской Федерации по связи и информатизации

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 13 мая 2003 г. N 141-ст

3 Настоящий стандарт содержит полный аутентичный текст ИСО/МЭК 8825-2-98 "Информационная технология. Правила кодирования АСН.1. Часть 2. Спецификация правил уплотненного кодирования (PER)" с Изменением N 1 (1999 г.) и Дополнением N 1 (2000 г.)

4 ВВЕДЕН ВПЕРВЫЕ

     1 Область применения


В настоящем стандарте определен набор правил уплотненного кодирования, который может быть использован для получения синтаксиса передачи значений типов, определенных в ГОСТ Р ИСО/МЭК 8824-1. Правила уплотненного кодирования также применимы для декодирования указанного синтаксиса передачи с целью идентификации переданных значений данных.

Правила кодирования, определенные в настоящем стандарте:

- используются во время передачи;

- предназначены для использования в случаях, когда при выборе правил кодирования большое значение имеет минимизация размера представления значений;

- допускают расширение абстрактного синтаксиса путем добавления дополнительных значений, сохраняя кодирование существующих значений, для всех видов расширения, описанных в ГОСТ Р ИСО/МЭК 8824-1.

     2 Нормативные ссылки


В настоящем стандарте использованы ссылки на следующие стандарты:

ГОСТ 34.971-91 (ИСО 8822-88) Системы обработки информации. Взаимосвязь открытых систем. Спецификация услуг уровня представления для режима с установлением соединения (см. также Рекомендацию МСЭ-Т X.216)

ГОСТ 34.972-91 (ИСО 8823-88) Системы обработки информации. Взаимосвязь открытых систем. Спецификация протокола уровня представления для режима с установлением соединения (см. также Рекомендацию МСЭ-Т X.226)

ГОСТ Р ИСО/МЭК 7498-1-97 Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 1. Базовая модель (см. также Рекомендацию МСЭ-Т X.200)

ГОСТ Р ИСО/МЭК 8824-1-2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации (см. также Рекомендацию МСЭ-Т X.680)

ГОСТ Р ИСО/МЭК 8824-2-2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 2. Спецификация информационного объекта (см. также Рекомендацию МСЭ-Т X.681)

ГОСТ Р ИСО/МЭК 8824-3-2002 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 3. Спецификация ограничения (см. также Рекомендацию МСЭ-Т X.682)

ГОСТ Р ИСО/МЭК 8824-4-2003 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 4. Параметризация спецификаций АСН.1 (см. также Рекомендацию МСЭ-Т X.683)

ГОСТ Р ИСО/МЭК 8825-1-2003 Информационная технология. Правила кодирования АСН.1. Спецификация правил основного (BER), канонического (CER) и различающего (DER) кодирований (см. также Рекомендацию МСЭ-Т X.690)

ИСО/МЭК 10646-1-93* Информационная технология. Универсальный, многооктетный кодовый набор символов (UCS). Часть 1. Архитектура и основная многоязычная плоскость

_______________

* Международные стандарты - во ВНИИКИ Госстандарта России.

ИСО/МЭК 646-91* Информационная технология. 7-битнокодированный набор символов ИСО для обмена информацией

_______________

* Международные стандарты - во ВНИИКИ Госстандарта России.

     3 Определения


В настоящем стандарте используют следующие термины с соответствующими определениями.

     3.1 Определение услуг уровня представления


В настоящем стандарте используют следующие термины, определенные в ГОСТ 34.971:

а) множество определенных контекстов;

б) идентификатор контекста уровня представления.

     3.2 Спецификация основной нотации


В настоящем стандарте используют все определения из ГОСТ Р ИСО/МЭК 8824-1.

     3.3 Спецификация информационного объекта


В настоящем стандарте используют все определения из ГОСТ Р ИСО/МЭК 8824-2.

     3.4 Спецификация ограничения


В настоящем стандарте используют следующие термины, определенные в ГОСТ Р ИСО/МЭК 8824-3:

а) ограничение связи компонентов;

б) табличное ограничение.

     3.5 Спецификация параметризации АСН.1


В настоящем стандарте используют следующий термин, определенный в ГОСТ Р ИСО/МЭК 8824-4, - переменное ограничение.

     3.6 Правила основного кодирования


В настоящем стандарте используют следующие термины, определенные в ГОСТ Р ИСО/МЭК 8825-1:

а) динамическое соответствие;

б) статическое соответствие;

в) значение данных;

г) кодирование (значений данных);

д) отправитель;

е) получатель.

     3.7 Дополнительные определения


В настоящем стандарте используют следующие определения:

3.7.1 двоично-дополнительное до 2 целое кодирование: Кодирование целого числа в выровненном по октету поле битов заданной длины или в количестве октетов, минимально необходимом для размещения этого числа, закодированного как целое двоичное дополнение до 2, обеспечивающее представление целых чисел, которые равны, больше или меньше нуля, как определено в 10.4.

Примечания

1 Значение целого двоичного дополнения числа до 2 получается путем нумерации битов в октетах содержимого, начиная с бита 1 последнего октета как бита 0 и заканчивая битом 8 первого октета. Каждому биту присваивается числовое значение , где - номер бита в описанной выше нумерации. Значение целого двоичного дополнения числа до 2 получается суммированием присвоенных числовых значений тех битов, которые равны единице, исключая бит 8 первого октета, и последующего уменьшения этой суммы на числовое значение, присвоенное биту 8 первого октета, если тот бит равен единице.

2 Целое число в данном контексте является синонимом математического термина "целое число". Его следует отличать от целочисленного типа integer АСН.1.

3.7.2 значение абстрактного синтаксиса: Значение из абстрактного синтаксиса (определенного как множество значений единственного типа АСН.1), которое должно быть закодировано PER или которое должно быть получено декодированием PER.

Примечание - Единственный тип АСН.1, связанный с абстрактным синтаксисом, формально идентифицируется объектом класса ABS-TRACT-SYNTAX.

3.7.3 битовое поле: Результат некоторой части метода кодирования, состоящий из упорядоченного набора битов, число которых не обязательно кратно восьми и которые в полном кодировании значения абстрактного синтаксиса не обязательно начинаются на границе октета.

3.7.4 каноническое кодирование: Полное кодирование значения абстрактного синтаксиса, полученное применением правил кодирования, которые не имеют зависящих от реализации опции; такие правила приводят к определению однозначного отображения между недвусмысленными и уникальными битовыми строками в синтаксисе передачи и значениями в абстрактном синтаксисе.

3.7.5 составной тип: Тип "множество", "последовательность", "множество-из", "последовательность-из", "встроенное-здп", выборочный, внешний или неограниченный тип символьных строк.

3.7.6 составное значение: Значение составного типа.

3.7.7 ограниченное целое число: Целое число, которое ограничено видимым для PER требованием, находится в диапазоне от до , где меньше или равно , и значения и являются допустимыми.

Примечание - Ограниченные целые числа встречаются в кодировании, идентифицирующем: выбранную альтернативу из выборочного типа, длину строк символов, октетов и битов, которая ограничена некоторой максимальной длиной видимым для PER образом, счетчик числа компонентов в типе "последовательность-из" или "множество-из", максимальное число которых ограничено видимым для PER образом, значение целочисленного типа, которое ограничено видимым для PER образом, и значение, которое обозначает перечисление в перечислимом типе.

3.7.8 эффективное ограничение размера (для ограничения типов строк): Единственное конечное ограничение размера, которое может быть применено к встроенному типу строки, результатом которого является допущение всех строк и только тех длин, которые могут иметь строки ограничиваемого типа.

Примечание - Например, следующая нотация имеет эффективное ограничение размера:

А :: = IA5String (SIZE(1..4)|SIZE(10..15)),

так как она может быть переписана с единственным ограничением размера, который относится ко всем значениям:

А :: = IA5String (SIZE(1..4|10..15)),

тогда как следующая нотация не имеет эффективного ограничения размера, так как строка может быть произвольной длины, если она не содержит никаких символов, кроме 'а', 'b' и 'с':

В :: = IA5String (SIZE(1..4)|FROM ("abc"))

3.7.9 эффективное ограничение допустимого алфавита "PermittedAlphabet" (для ограниченных типов символьных строк): Единственное ограничение PermittedAlphabet, которое может быть применено к встроенному типу символьной строки известной кратности, результатом которого является допущение всех строк, содержащих только те символы, которые могут присутствовать в любой позиции любого значения ограниченного типа символьных строк.

Примечание - Ограничением эффективного допустимого алфавита (PermittedAlphabet) является либо весь алфавит неограниченного типа символьных строк, либо спецификация PermittedAlphabet, которая может оказаться супермножеством всех ограничений PermittedAlphabet, наложенных на тип. Например, в

Ах :: = IA5String (FROM ("AB")|FROM ("CD"))

Вх :: = IA5String (SIZE (1..4)|FROM ("abc"))

"Ax" имеет эффективное ограничение PermittedAlphabet, которое состоит из всего алфавита IA5String, так как нет ограничения PermittedAlphabet, применимого ко всем значениям "Ах". То же самое справедливо и для "Вх". С другой стороны, следующий пример имеет эффективное ограничение PermittedAlphabet "ABCDE", так как существует ограничение PermittedAlphabet, применимое ко всем значениям:

А:: = IA5String (FROM ("AB")|FROM ("CD")|FROM ("ABCDE"))