ГОСТ Р ИСО/МЭК 8825-2-2003
ненке этого термина не подразумевает какого-либо выравнивания. Когда речь идет о выравнивании,
это явно указывается в настоящем стандарте.
7 Правила кодирования, определенные в настоящем стандарте
7.1 В настоящем стандарте определены четыре правила кодирования (и связанные с ним
идентификаторы объектов), которые могут быть использованы для кодирования и декодирования
значений абстрактного синтаксиса, определенного как значения одного (известного) типа АСН. 1.
Настоящий раздел описывает эти правила и их свойства.
7.2 Вез знания типа закодированного значения невозможно оп|>еделитьструктуру кодирования
(по любому из алгоритмов правил кодирования PER). В частности, коней кодирования не может
быть определен из самого кодирования без знания типа закодированного значения.
7.3 Кодирование PER всегда является надежно передающим при условии, что абстрактные
значения типов EXTERNAL, EMBEDDED PDV и CHARACTER STRING не содержат идентифи
каторы контекста уровня представления.
7.4 Алгоритмом наиболее общего правила кодирования, из определенного в настоящем
стандарте, является BASIC-PER. который в общем случае не приводит к каноническому коди
рованию.
7.5 Вторым алгоритмом правила кодирования, определенным в настоящем стандарте, является
CANONICAL-PER, который приводит к каноническим кодированиям. Он определен как ограни
чение на зависящие от реализации альтернативы в кодировании BASIC-PER. CANONICAL-PER
приводит к каноническим кодированиям, которые применяются, когда к абстрактным значениям
необходимо применять аутентификаторы, как описано в ГОСТ Р ИСО/МЭК 8825-1.
П р и м е ч а н и е — Любая реализация, соответствующая кодированию CANONIC’AL-PER. удоачетворя-
ст и кодированию BASIC-PER. Любая реализация, соответствующая декодированию BASIC-PER, удовлетво
ряет декодированию CANONIC’AL-PER. Таким обратом, кодирования, созданные no CANONICAL-PER.
натнются кодированиями, которые допускаются BASIC-PER.
7.6 Если тип, кодируемый по BASIC-PER или CANONICAL-PER. содержит типы EMBED
DED PDV. CHARACTER STRING или EXTERNAL, то внешнее кодирование перестает быть
надежно передающим, если синтаксис передачи, используемый для всех типов EMBEDDED
PDV, CHARACTER STRING и EXTERNAL, не является надежно передающим. Если тип,
кодируемый по BASIC-PER или CANONICAL-PER. содержит типы EMBEDDED PDV.
CHARACTER STRING или EXTERNAL, то внешнее кодирование перестает быть каноническим,
если синтаксис передачи, используемый для всех типов EMBEDDED PDV, CHARACTER STRING
и EXTERNAL, не является каноническим.
П р и м е ч а н и е —Символьные синтаксисы передачи, поддерживающие все символьные абстрактные
синтаксисы вида (iso standard 10646 lcvcl-1 (I). . .яатяюгея каноническими. Символьные синтаксисы
передачи, которые поддерживают {iso standard 10646 level-2 (2). . . .} и {iso standard 10646 level-3 (3). . . .}. нс всегда
яатяюгея каноническими. Все вышеуказанные символьные синтаксисы передачи являются надежно
передающими.
7.7 Как BASIC-PER, так и CANONICAL-PER содержат по два варианта: ALIGNED (с вырав
ниванием) и UNALIGNED (без выравнивания). В варианте ALIGNED вставляются заполняющие
биты для восстановления выравнивания по октету. В варианте UNALIGNED заполняющие биты
никогда не вставляются.
7.8 Между вариантами ALIGNED и UNALIGNED взаимодействие невозможно.
7.9 Кодирование PER является саморазграниченным, только если известен тип кодируемого
значения. Кодовые представления всегда кратны восьми битам. При передаче в типе EXTERNAL
кодирования должны передаваться в альтернативе OCTET STRING, если только сам тип EXTERNAL
не кодируется по PER. когда значение может быть закодировано как единственный тип АСН. I (то
есть открытый тип). При передаче в протоколе уровня представления ВОС должно использоваться
«полное кодирование* (как определено в ГОСТ 34.972) с выбранной альтернативой OCTET STRING.
7.10 Правила настоящего стандарта применяют к обоим алгоритмам и вариантам, если не
оговорено иное.
7.11 Приложение С является справочным и содержит рекомендации, в каких комбинациях
следует реализовывать PER для увеличения вероятности взаимодействия.
6