ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:100.51KB ,
资源ID:3974303      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3974303.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(抽象语法表示ASN.1-填空题电子教案.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

抽象语法表示ASN.1-填空题电子教案.doc

1、第二章 抽象语法表示ASN.1 [填空选择题] 一、网络数据表示P23 1、ASN.1(抽象语法表示):一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。P23 2、表示层的功能:提供统一的网络数据表示。P23 3、表示实体定义了应用数据的抽象语法。 4、传输语法:把抽象数据变换成比特串的编码规则。P23 5、抽象语法用于定义应用数据,它类似程序设计语言定义的抽象数据类型。P23 二、ASN.1的基本概念P24-31 1、作为一种形式语言,ASN.1有严格的BNF定义。P24 2、在ASN.1中,每一个数据类型都有一个标签(ta

2、g),标签有类型和值。P24 3、ASN.1标签的类型分为4种,分别是:通用标签、应用标签、上下文专用标签和私有标签。P24 l 通用标签UNIVERSAL:由标准定义,适用于任何应用; l 应用标签APPLICATION:是由某个具体应用定义的类型; l 上下文专用标签CONTEXT SPECIFIC:这种标签在文本的一定范围(例如,一个结构struct)中适用; l 私有标签PRIVATE:用户定义的标签。 4、ASN.1定义的数据类型可分为4类:分别为简单类型、构造类型、标签类型、其他类型。这些数据类型的标签值均为通用标签Universal,有20多种。P24 ● 简单类型

3、由单一成分构成的原子类型;ASN.1定义的数据类型中除了序列SEQUENCE和集合SET两种类型不属于简单类型外,其他10多种均属于简单类型。P25   ● 构造类型:由两种以上成分构成的构造类型,如序列SEQUENCE、集合SET类型。   ● 标签类型:由已知类型定义的新类型; ● 其他类型:包括CHOICE和ANY两种类型。 以下是ASN.1标签和类型关系图: 6、枚举类型ENUMERATED:是一个整数的表,每一个整数有一个名字。枚举类型与整数类型区别在于整数类型可以进行算术运算而枚举类型不能进行任何算术运算,也即枚举类型的值只是用证书表示的一个符号,而不具有整数

4、的性质。P26 7、对象类型OBJECT IDENTIFIER:泛指网络中传输的任何信息对象,其值是一个对象标识符,由一个整数序列组成,它惟一地标识一个对象。P26 8、NULL类型:是空类型、没有值、只占用结构的一个位置。P26 9、时间类型:有GeneralizedTime类型和UTC类型两种:P26 1)GeneralizedTime时间类型格式:如值20000721182053.7,表示2007年7月21日,当地时间18点20分53.7秒; 2)UTC时间类型格式:如值20000721182053.7Z,表示同样的时间。 10、构造类型:有序列和集合两种,序列和集合的区别是

5、序列是有序的,而集合是无序的。P26  1)序列:用SEQUENCE表示不同类型元素的序列,用SEQUENCE OF表示相同类型元素的序列。 2)集合:用SET表示不同类型的集合,用SET OF表示相同类型元素的集合。 11、标签类型:指应用或用户加在某个类型上的标签,也即由已知类型定义的新类型。P27 12、在一个结构(序列或集合)类型中,可用上下文专用标签如[1]、[2]、[3]类似来区分类型相同的元素。例如,Parentage::=SET{ P28 SubjectName[1] IMPLICIT IA5String, MotherName[2] IMPLICIT IA5St

6、ring OPTIONAL, FatherName[3] IMLICIT IA5String OPTIONAL } 在结构类型Parentage中,为这三个元素SubjectName、MotherName、FatherName使用的标签[1]、[2]、[3]就是上下文专用标签(简称上下文标签)。 13、关键字IMPLICIT(隐含)和EXPLICIT(明示):标签类型可以是隐含的或明示的,两者区别:P28 1)隐含标签的语义是用新标签替换老标签,编码时只编码新标签。 2)明示标签类型是把基类型作为惟一元素的构造类型,在编码时,新老标签都要编码。 14、其他类型:CHOICE和AN

7、Y类型是两个没有标签的类型,因为它们的值是未定的,而且类型也是未定的。(从而得知在ASN.1中,并不是每个数据类型(包括CHOICE和ANY)都有标签)当这种类型的变量被赋值时,它们的类型和标签才确定,可以说标签是运行时间确定的。P28 1)CHOICE是可选类型的一个表,仅其中一个类型可以被采用,产生一个值,这些成分类型是已知的,但是在定义时尚未确定。 2)ANY类型:表示任意类型的任意值,与CHOICE类型不同之处在于实际出现的类型也是未知的, 15、子类型:是由限制父类型的值集合而导出的类型,所以子类型的值集合是父类型的子集。产生子类型的方法有单个值、包含子类型、值区间、可用字符、

8、限制大小和内部子类型6种方法。其中 P28-30 1)值区间方法只能应用于整数和实数类型,指出子类型可取值的区间。 2)可用字符方法只能用于字符串类型,限制可使用的字符集。 3)限制大小方法可对5种类型(比特串类型、字节串类型、字符串类型、序列和集合类型)限制其规模大小(如限制比特串、字节串、字符串的长度,限制序列或集合的元素个数)。 4)内部子类型方法可用于序列、集合和CHOICE类型。 简答、论述题集 三、基本编码规则P32-34 1、基本编码规则BER:把ASN.1表示的抽象类型值编码为字节串。这种字节串的结构为类型—长度—值,简称TLV(Type-Length-Value

9、),而值部分value可递归地再编码为TLV结构,如图所示:P32 1)第一个字节(8位)为类型TYPE,用来表示ASN.1类型或用户定义的类型。这个字节的前两位用来区分4种标签(00为通用标签、01为应用标签,10位上下文专用标签、11为私有标签);第三位用0或1来区分简单类型还是构造类型;剩余5位用来表示标签值,如果标签的值大于30,则这5位为全1,标签值表示在后续字节中 2)第二个字节(8位)为长度length,是指描述值部分value所占用的字节个数。 3) 第三个字节(8位)为值value,表示该数据本身大小,也即数据大小的二进制表示。 2、编码实例:P32-34

10、1)布尔类型有两个值FALSE和TRUE,FALSE编码为 01 01 00;TRUE编码为01 01 FF (2)十进制数256的编码为 02 02 01 00 (3)NULL类型编码:05 00 (4)字节串ACE可编码为 :04 02 AC E0 ,比特串10101可编码为03 02 03 A8 (5)序列类型SEQUENCE{madeofwood BOOLEAN,length INTEGER}的值{ madeof-wood TRUE,length 62}编码为为 30 06 01 01 FF 02 01 3E (6)Password::=[APPLICATION 27]OC

11、TET STRING的值“Sesame”编码为7B 08 04 06 53 65 73 61 6D 65 (7)Password::=[APPLICATION 27]IMPLICIT OCTET STRING的值“Sesame”编码为5B 06 53 65 73 61 6D 65 四、ASN.1宏定义P35-38 1、ASN.1提供了宏定义设施,可用于扩充语法,定义新的类型和值。P35 2、ASN.1中的模块类似C语言中的结构,用于定义一个抽象数据类型。P35 3、宏表示:ASN.1提供的一种表示机制,用于定义宏。P36 4、宏定义:用宏表示定义的一个宏,代表一个宏实例的集合

12、P36 5、宏实例:用具体的值代替宏定义中变量而产生的实例,代表一中具体的类型。P36 6、宏定义由类型表示(TYPE NOTATION)、值表示(VALUE NOTATION)和支持产生式3部分组成。P37 7、宏定义的主要作用:宏定义可以看做是类型的类型,或者说是超类型,也可以把宏定看做是类型的模板。P37 [简答题:第二章抽象与法表示ASN.1] 1、什么是ASN.1?P23 抽象语法表示ASN.1是一种形式语言,它提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。在网络管理中,无论是OSI的管理信息结构,或是SNMP管理信息库,都是用ASN

13、1定义的。 2、 表示层的功能是什么?抽象语法和传输语法各有什么作用?P23 答:表示层的功能:提供统一的网络数据表示。抽象语法是一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用层协议数据单元的结构。传输语法是一种编码规则,作用是把抽象数据变换成比特串在网络中传送。 3、产生子类型的方法P28-30 1) 单个值:这种方法就是列出子类型可取的各个值。 2)包含子类型:使用关键字INCLUDES说明被定义的类型包含已有类型的所有值。 3)值区间:这种方法只能应用于整数和实数类型,指出子类型可取值的区间。 4)可用字符:这种方法只能用于字符串类型,

14、限制可使用的字符集。 5)限制大小:可以对5种类型限制其规模大小,例如限制比特串、字节串或字符串的长度,限制构成序列或集合的元素(同类型)个数等。 6)内部子类型:这种方法可用于序列、集合和CHOICE类型。这是一种很复杂的子类型关系 4、简述ASN.1的基本编码规则P32 基本编码规则BER:把ASN.1表示的抽象类型值编码为字节串。这种字节串的结构为类型—长度—值,简称TLV(Type-Length-Value)。编成的第一个字节(8位)为类型TYPE,用来表示ASN.1类型或用户定义的类型。这个字节的前两位用来区分4种标签;第三位区分简单类型还是构造类型;剩余5位用来表示标签

15、值,如果标签的值大于30,则这5位为全1,标签值表示在后续字节中。 5、基本编码规则中哪两种字段需要扩充?其扩充的方法是什么?P34(2007年1月) 答:一是当标签值大于30时类型字节需要扩充,二是当值部分大于一个字节的表示范围时长度字节需要扩充。 对标签值的扩充方法为:用5位表示0~30的编码,当标签值大于等于30时,这5位为全1,作为转义符,实际的标签值编码表示在后续字节中,后续字节的左边第一位表示是否为最后一个扩充字节,只有最后一个扩充自己的左边第一位置0,其余扩充字节左边第一位置1。 对长度字节的扩充方为:小于127的数用长度字节的右边7位表示,最左边的一位置0,大于等于

16、127的数用后续若干字节表示,原来的长度字节第一位置1,其余7位知名后续用于求长度的字节数。 6、宏定义有哪些部分组成?这些部分都由什么范式说明?宏定义的主要用处是什么?P37 宏定义由3个部分组成: (2) 类型表示(TYPE NOTATION) (3) 值表示(VALUE NOTATION) (4) 支持产生式。 这三个部分都由Backs-Naur范式说明。 宏定义的主要作用是:宏定义可以看做是类型的类型,或者说是超类型,也可以把宏定看做是类型的模板,可以用这种模板制造出形式相似,语义相关的多种数据类型。 7、为什么要用宏定义?怎样用宏定义得到宏实例?P37

17、ASN.1宏提供了创建“模板”的功能,这也是引入ASN.1宏的原因。ASN.1宏使得ASN.1语言具有良好的扩充性。 当用一个具体的值代替宏定义中的变量或参数时就产生了宏实例,它表示一个实际的ASN.1类型(称为返回的类型),并且规定了该类型可取的值的集合(称为返回的值)。可见宏定义可以看做是类型的类型,或者说是超类型。 [综合题:第二章抽象语法表示ASN.1] 1、用ASN.1的基本编码规则对下面的数据进行编码。P32-34(2009年1月、2008年1月) (1)布尔类型的两个值FALSE (0x00),TRUE (0xFF); (2)比特串10101; (3)NULL

18、类型; (4)序列类型SEQUENCE{madeofwood BOOLEAN,length INTEGER}的值{ madeof-wood TRUE,length 62}; (5)Password::=[APPLICATION 27]OCTET STRING的值“Sesame”; (6)Password::=[APPLICATION 48]INTEGER的值为十进制256; 相应的类型及标签为:BOOLEAN:UNIVERSAL 1; INTEGER:UNIVERSAL 2; OCTETSTRING:UNIVERSAL 4; NULL:UNIVERSAL 5; “Sesame”的ASC

19、II值(十六进制)为:53 65 73 61 6D 65。 答: 1) FALSE编码:01 01 00, TRUE编码为:01 01 FF 2) 比特串10101编码为:03 02 03 A8 3)NULL类型编码:05 00 4)可编码为 30 06 01 01 FF 02 01 3E 按照序列的结构可展开如下: Seq Len Val 30 06 Bool Len Val 01 01 FF Int Len Val 02  01 3E 5)

20、编码为:7B 08 04 06 53 65 73 61 6D 65 展开后为: App Len Val 7B 08 Oct Len Val   04 06 53 65 73 61 6D 65 S e s a m e 6)可编码为7F 30 05 02 02 01 00 00 [分析]对于integer 256 数值可编码为02 02 01

21、 00 00(与本题第二问题) 但[APPLICATION 48]是属于应用标签并且标签值为48(因为48>30,需要对标签值需要扩充,所以第一字节类型TYPE编码位7F 30 ), 展开后为: App Len Val 7F 30 05 Int Len Val 02 02 01 00 00 即对应的二进制表示形式为:01111111 00110000 00000101 00000010 00000010 00000001 00000000 00000000 2、用基本编码规则对长度字段L

22、编码:L = 18,L = 180,L = 1044。P38 [解答] L = 18,二进制形式的编码: 00010010 L = 180,二进制形式编码:10000001 10110100 L = 1044,二进制形式编码: 10000010 00000100 00010100 [解析] 对于长度字节的扩充方法是:小于127的数用长度字节的右边7位表示,最左边的一位置0。大于等于127的数用后续若干字节来表示,原来的长度字节第一位置1,其余7位指明后续用于表示长度 的字节数,即采用下面的形式 : 00000000 (0~126) … 0111111

23、1 1xxxxxxx (xxxxxxx指明后续用于表示长度的字节数) 如255 可表示为 10000001 11111111。 3、用基本编码对数据编码:标签值 = 1011001010,长度 = 255。P38 [解答]二进制形式的编码: 00011111 10000101 01001010 10000001 11111111 [解析]当标签号不大于30时,Tag只在一个八位组中编码;当Tag大于30时,则Tag在多个八位组中编码。在多个八位组中编码时,第一个八位组后5位全部为1,其余的后继八位组最高位为1表示后续还有,最后一个八位组最高位为0表示Tag结束。 采用下面的

24、规则使用不同的类型编码: (1)若编码是简单类型,则使用确定格式。 短格式:长度字段仅一个八位位组,最高位为0。 长格式:长度字段包含多个八位位组,第1个字节最高位为1,其余7位表示后面有多少字节来表示值字段的长度。例如,25510可表示为10000001 11111111。 [历年真题题集] 一、选择题 1、计算机网络管理中提供统一的网络数据表示的形式语言是( ) P23(2008年1月、2006年10月) A.ASN.1 B.Java C.C语言 D.ASP 2、ASN.1中每一个数据类型都有一个标签,标签的类型有( )P24(2006年10月) A.性能

25、标签 B.简单标签 C.构造标签 D.私有标签 3、在下面集合中有三个元素,一个是本人名字,一个是父亲名字,另一个是母亲名字。 Parentage::=SET{ SubjectName[1] IMPLICIT IA5String, MotherName[2] IMPLICIT IA5String OPTIONAL, FatherName[3] IMLICIT IA5String OPTIONAL } 为这三个元素使用的标签[1][2][3]是( ) P28(2007年10月) A.通用标签 B.应用标签 C.上下文标签 D.私有标签 4.在ASN.1

26、的数据类型分类中由已知类型定义的新类型是( ) P24(2009年1月、2008年1月) A.简单类型 B.构造类型 C.标签类型 D.其它类型 5、以下对ASN.1的数据类型描述正确的是 ( )P24-28(2010年1月、2008年10月) A.每个数据类型(包括CHOICE和ANY)都有标签 B.分别用SEQUENCE和SEQUENCE OF表示相同类型和不同类型元素的序列 C.分别用SET和SET OF表示不同类型和相同类型元素的集合 D.隐含标签的语义是在一个基本类型上加上新标签,从而导出一个新类型。 6、 以下对ASN.1的简单数据类型的描述正确

27、的是( )P24-28(2008年1月) A.简单类型就是BOOLEAN、INTEGER、BIT STRING、OCTET STRING、REAL和ENUMERATED这些基本类型。 B.枚举类型ENUMERATED也能进行任何算术运算。 C.20000721182053.7是UTCTime类型的一个值,表示2000年7月21日,当地时间18点20分53.7秒。 D.20000721182053.7是GeneralizedTime类型的一个值,表示2000年7月21日,当地时间18点20分53.7秒。 7、若“2007年8月15日,当地时间21点57分43.5秒”用Genera

28、lizedTime类型可表示为( ),用UTC时间类型可表示为( )P26(2009年10月), A.070815215743.5 B.070815215743.5Z C.20070815215743.5 D.20070815215743.5Z l “2006年8月1日,当地时间21点57分43.5秒”用GeneralizedTime类型可表示为( )P26(2007年1月) A.060801215743.5 B.060801215743.5Z C.20060801215743.5 D.20060801215743.5Z 8、在ASN.1子类型的描述中,值区间这种方

29、法只能应用于( ),可用字符这种方法只能应用于( ),内部子类型可用于( )P29(2008年1月) A.整数和实数类型 B.布尔类型 C.字符串类型 D.CHOICE类型 9、基本编码规则中的第一个字节表示ASN.1标签类型或用户定义的数据类型,用于表示用户定义的数据类型的二进制位是( )P32(2006年10月) A.第1位 B.第2位 C.第3位 D.第4、5、6、7、8位 10、十进制数256的编码为 ( )P32(2010年1月) A.02 02 01 00 B.02 01 01 00 C.01 02 01 00 D.02 02

30、 11 11 补:在ASN.1宏定义中,ASN.1中的模块类似C语言中的( ) P35(2007年10月) A.变量 B.数据类型 C.结构 D.关键字 二、填空题 1、表示实体定义了应用数据的 语法。P23(2010年1月) 2、把抽象数据变换成比特串的编码规则叫做 。P23(2008年1月) 3、ASN.1标签的类型分为4种,分别是:通用标签、应用标签、 和私有标签。P24(2010年1月、2008年10月) 4、ASN.1定义的数据类型包括:简单类型、 、标签类型、其他类型。P24 5、在

31、ASN.1的定义里,构造类型有 和 两种,SEQUENCE是 。P26 6、在ASN.1种,每个数据类型都有一个 。P24 7、基本编码规则把ASN.1表示的抽象类型值编码为字节串,这种字节串的结构为 。P32(2006年10月) 8、基本编码规则可将字节串值ACE编码为 。P32(2007年1月) 三、简答题 1、在ASN.1中产生子类型的方法有哪些?P28-30(2010年1月) 产生子类型的方法有以下几种: 1) 单个值:这种方法就是列出子类型可取的各个值。 2)包含子类型:关键字INCLUD

32、ES: 说明被定义的类型包含了已有类型的所有的值。 3)值区间:这种方法只能应用于整数和实数类型,指出子类型可取值的区间。 4)可用字符:这种方法只能用于字符串类型,限制可使用的字符集。 5)限制大小:可以对5种类型限制其规模大小,例如限制比特串、字节串或字符串的长度,限制构成序列或集合的元素(同类型)个数等。 6)内部子类型:这种方法可用于序列、集合和CHOICE类型。这是一种很复杂的子类型关系 2、表示层的功能是什么?抽象语法和传输语法各有什么作用?P23 表示层的功能:提供统一的网络数据表示。抽象语法是一种形式语言,提供统一的网络数据表示,通常用于定义应用数据的抽象语法和应用

33、层协议数据单元的结构。传输语法是一种编码规则,作用是把抽象数据变换成比特串在网络中传送。 3、基本编码规则中哪两种字段需要扩充?其扩充的方法是什么?P34(2007年1月) 答:一是当标签值大于30时类型字节需要扩充,二是当值部分大于一个字节的表示范围时长度字节需要扩充。 对标签值的扩充方法为:用5位表示0~30的编码,当标签值大于等于30时,这5位为全1,作为转义符,实际的标签值编码表示在后续字节中,后续字节的左边第一位表示是否为最后一个扩充字节,只有最后一个扩充自己的左边第一位置0,其余扩充字节左边第一位置1。 对长度字节的扩充方为:小于127的数用长度字节的右边7位表示,最左边的

34、一位置0,大于等于127的数用后续若干字节表示,原来的长度字节第一位置1,其余7位知名后续用于求长度的字节数。 四、综合题 1、用ASN.1的基本编码规则对下面的数据进行编码。P32-34(2009年1月、2008年1月) (1)布尔类型的两个值FALSE (0x00),TRUE (0xFF); (2)比特串10101; (3)NULL类型; (4)序列类型SEQUENCE{madeofwood BOOLEAN,length INTEGER}的值{ madeof-wood TRUE,length 62}; (5)Password::=[APPLICATION 27]OCTET

35、 STRING的值“Sesame”; (6)Password::=[APPLICATION 48]INTEGER的值为十进制256; 相应的类型及标签为:BOOLEAN:UNIVERSAL 1; INTEGER:UNIVERSAL 2; OCTETSTRING:UNIVERSAL 4; NULL:UNIVERSAL 5; “Sesame”的ASCII值(十六进制)为:53 65 73 61 6D 65。 [分析]对于integer 256 数值可编码为02 02 01 00 00(与本题第二问题) 但[APPLICATION 48]是属于应用标签并且标签

36、值为48(因为48>30,需要对标签值需要扩充,所以第一字节类型TYPE编码位7F 30 ), 展开后为: App Len Val 7F 30 05 Int Len Val 02 02 01 00 00 即对应的二进制表示形式为:01111111 00110000 00000101 00000010 00000010 00000001 00000000 00000000 2、用基本编码规则对长度字段L编码:L = 18,L = 180,L = 1044。P38 [解析] 对于长度字节的扩充方法是:小于127的数用长度字节的右边7位表示,最左边的一位置0。大于等于127的数用后续若干字节来表示,原来的长度字节第一位置1,其余7位指明后续用于表示长度 的字节数,即采用下面的形式 : 00000000 (0~126) … 01111111 1xxxxxxx (xxxxxxx指明后续用于表示长度的字节数) 如255 可表示为 10000001 11111111。 3、用基本编码对数据编码:标签值 = 1011001010,长度 = 255。P38

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服