用于抽象语法记述再编码系统的引用标记方法

文档序号:6403933阅读:130来源:国知局
专利名称:用于抽象语法记述再编码系统的引用标记方法
技术领域
本发明涉及一种用于抽象语法记述ASN.1再编码系统的引用标记方法,此种标记方法能直接修改已编码的ASN.1数据,从而调整编码,任何修改仅需针对特定字段,不需要完整编码译码所有字段。
背景技术
由于电子签章的施行,应用电子签章的系统因应而起,然而,传统的ASN.1再编码系统效率不佳,使得原本应广泛应用的多重传签系统大大受限。传统方法完整编码译码ASN.1数据,不但耗费时间,已译码的数据亦需耗费内存储存,这样的方法使得应用联署签章(cosign)或是副署签章(countersign)的系统效率不佳。传统的方式对于每个数据来源实体(entity)都须进行以下步骤(1)完整解码ASN.1资料;(2)新增(add)修改(update)插入(insert)或删除(delete)数据;以及(3)完整编码。


图1说明了传统的编译码流程。在传统的ASN.1完整译码步骤中,在接收数据的步骤100中,接收的数据是线性的八字节(Octet String)串行数字数据。这样的数据本质是一树状结构,传统上为了再编码,会先进行完整解码(步骤110),将输入数据还原成树状结构(Tree Structure)的原始表格。然后执行修改数据的步骤120,即进行数据的新增(add),修改(update),插入(insert)或删除(delete);最后还须再进行完整编码(步骤130)后才能进行输出编码数据(步骤140)。
然而译码后的树状结构越复杂,所需占用的内存空间越大,计算时间也越多。
因此,为解决上述已知技术的各种问题,本发明的发明人结合多年从事该行业的经验,潜心研究,本着精益求精的精神,创造了能有效改善上述缺点的本发明。
本发明的内容本发明的主要目的是提供一种用于ASN.1再编码系统的引用标记方法,其能(1)缩短再编码所需使用的内存;(2)加快再编码所需的时间;以及(3)使得再编码系统易于使用。
为了实现上述目的,一方面本发明不在解码的过程中打开并复制所有的原始数据另行存放,而仅仅对所有的原始数据节点建立自订标记(SpecifiedIndex)以完成译码。
另一方面本发明不在译码的过程中打开并复制所有的原始数据,在编码的过程直接根据自订标记(Specified Index)利用原始数据进行编码。
另外,使用者不须知悉未经调整的自订标记(Specified Index),仅需了解将要调整的字段(target items),因而可降低使用再编码系统的进入障碍。
附图的简要说明图l是说明传统的ASN.1编译码的流程图;图2是说明本发明再编码的流程图;图3是使用传统ASN.1编解码的一个实施例;图4是使用本发明再编码的一个实施例。
具体实施例方式
下面结合附图对本发明的内容进行详细的说明。附图仅供参考与说明用,不是对本发明的限制。
图2说明了本发明的流程。如图2所示,本发明是用于ASN.1再编码系统的引用标记方法,包括一接收输入数据的步骤200,其所接收的输入数据和传统再编码系统的输入数据是相同的,也就是线性的八字节(OctetString)数据。然后进入加注自订标记(Specified Index)的步骤210,以对所接收数据加注一自订标记,接着判别所接收的数据是否存在被省略的选择性字段(optional)或被省略的默认字段(default)(步骤220),如有,则在步骤230中调整存在选择性字段(optional)或是默认字段(default)范围内的自订标记(Specified Index)。至此,利用步骤210、220和230,数据索引建立完成。下一个步骤是直接执行修改数据的步骤240,即新增(add)修改(update)插入(insert)或删除(delete)资料,接着的步骤250是根据自订标记(Specified Index)调整编码,最后并输出调整后的编码数据(步骤260)。
本发明可让ASN.1再编码更为快速与更容易使用,新的流程可以节省完整译码与完整编码所需耗费的内存及时间。
如图2的流程所示,本发明输入数据后先建立数据索引,使用者接着利用索引修改数据,然后以重整编码的方式进行再编码。本发明再编码系统的方法和传统再编码系统的输入数据是相同的,也就是线性的八字节(OctetString)数据。这样的数据本质是一树状结构,传统上为了再编码,会先进行完全解码,将输入数据还原成树状结构(Tree Structure)的原始表格。本发明为了避免完全解码,将建立表格的工作改为建立数据索引,其中包含(1)字段数据在原始数据中的位置;(2)字段数据的长度;并在建立的数据索引中加注(3)树状结构的索引;与(4)字段数据修改注记。
如此设计索引的目的是为了避免完全解码。其中(1)和(2)的内容是为了不重复复制数据,因此需要知道字段数据在原始数据中的位置及长度,再编码的时候可以直接使用。其中(3)和(4)的内容是当资料有所修改时,使用者可以根据树状结构的索引找到所欲调整的字段数据所在的位置,并将修改的行为注记在索引中。
建立数据索引的行为包括了调整存有选择性字段(optional)或是默认字段(default)范围内的自订标记(Specified Index)。根据ASN.1的定义,一个选择性字段(optional)在不使用的情形下,将不予编码,但是在再编码的过程中可能会尝试修改此一不存在的数据域位,因此在索引中将其加入。同样地,根据ASN.1的定义,一个默认字段(default)在一笔数据的值等于默认值时不予编码。但是在再编码的过程中可能会尝试修改此一不存在的数据域位,因此在索引中将其加入。
修改数据的行为包括了新增(add)修改(update)插入(insert)或删除(delete)数据。
根据ASN.1的定义,SET OF数据结构可以容纳无限多组相同的子字段(sub-item),这些子字段(sub-item)在重编码前可以被删除(delete),新增(add)的子字段则在母字段上标记,新增的数量没有限制。
根据ASN.1的定义,SEQUENCE OF或是INSTANCE OF的数据结构可以容纳无限多组相同的子字段(sub-item),这些子字段在重编码前可以被删除(delete),插入(insert)的子字段则在前一子字段上标记,新增的数量没有限制。
根据ASN.1的定义,SET的数据结构容纳了有限的给定字段,这些子字段(sub-item)在重编码前可以被修改(update),若是标记为选择性字段(optional)或是默认字段(default)则可以被删除(delete)。
根据ASN.1的定义,SEQUENCE的数据结构容纳了有限的给定字段,这些子字段(sub-item)在重编码前可以被修改(update),若是标记为选择性字段(optional)或是默认字段(default)则可以被删除(delete)。
根据ASN.1的定义,CHOICE的数据结构容纳了单一的字段,这个子字段(sub-item)在重编码前可以被修改(update),同时,这个子字段的字段名称(item name)以及字段标签(tag)也可以被修改(update)。
根据ASN.1的定义,一基本的数据类型容纳了单一的字段,此字段在重编码前可以被修改(update),以及一ANY的数据类型在重编码前可以被修改(update),标签(tag)也可以被修改(update)。
图3为使用传统ASN.1编解码的一个实施例。其中树状结构的输入数据为[1][2][3][4][5][6][7][8][9]
若按照传统的方法,首先须完全译码成原来的树状结构,即[1]-[2][6][7]
[2]-[3][4][5][7]-[8][9]然后执行修改数据的步骤(a)、删除字段[6][1]-[2][6][7]
=>[1]-[2][7]
;(b)、修改字段[4]为[B][2]-[3][4][5]=>[2]-[3][B][5];(c)、在母字段[7]中,新增子字段[C][7]-[8][9]=>[7]-[8][9][C]最后再对新的树状结构进行完整编码[1][2][3][B][5][7][8][9][C]
图4是使用本发明再编码的一个实施例。相较之下,本发明接收相同的输入数据[1][2][3][4][5][6][7][8][9]
为了避免完全译码,首先将建立表格的工作改为建立数据索引,在各节点加注自订标记,除注明该字段数据在原始数据的位置与长度及树状结构索引外,并加注字段数据修改注记。即在选择性字段[6]加注删除注记;在字段[4]加注修改为[B]的注记;在SET OF母字段[7]上加注新增子字段[C]的注记。
然后直接执行修改数据,接着根据自订标记(Specified Index)调整编码,并输出调整后的编码数据[1][2][3][B][5][7][8][9][C]
综上所述,本发明实为不可多得的发明,确可达到预期的使用目的,而解决现有技术的缺点,又因极具新颖性及创造性,完全符合发明专利申请要件,现依专利法提出申请。
上述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范围。所有运用本发明说明书和附图所作的等效变化,都在本发明的专利范围内,特此声明。
权利要求
1.一种抽象语法记述的再编码系统的引用标记的方法,包括(a)接收一输入数据;(b)加注一自订标记并建立一数据索引;(c)新增、修改、插入或删除数据;以及(d)根据该自订标记调整编码,并输出一再编码数据。
2.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(a)中,所述输入数据为一线性的八字节数据。
3.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(b)中,建立所述数据索引还包含下列步骤调整存有一选择性字段或是一默认字段范围内的所述自订标记;在所述数据索引中加入不使用的选择性字段以便于修改;以及在所述数据索引中加入被省略的默认字段与其默认值以便于修改。
4.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(b)中,所述数据索引的内容包含(i)在原始数据中一字段数据的位置;(ii)一字段数据的长度;(iii)一树状结构的索引;以及(iv)一字段数据修改注记。
5.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,一SET OF的数据结构可以容纳无限多组相同的子字段,这些子字段在重编码前可以被删除或新增,所述新增的子字段在一母字段上标记,新增的数量没有限制。
6.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,一SEQUENCE OF或是一INSTANCE OF的数据结构可以容纳无限多组相同的子字段,该些子字段在重编码前可以被删除或插入,插入的子字段在前一子字段上标记,新增的数量没有限制。
7.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,SET或SEQUENCE的数据结构容纳有限的给定的子字段,这些子字段在重编码前可以被修改,若是标记为一选择性字段或是一默认字段则可以被删除。
8.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,一CHOICE的数据结构容纳了单一的字段,该字段在重编码前可以被修改,同时,该字段的一字段名称以及一字段标签也可以被修改。
9.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,一基本数据类型容纳了单一的字段,所述字段在重编码前可以被修改。
10.根据权利要求1所述的引用标记的方法,其特征在于,在所述步骤(c)中,一ANY的数据类型在重编码前可以被修改,标签也可以被修改。
全文摘要
本发明公开了一种用于抽象语法记述(ASN.1)再编码系统的引用标记方法,其步骤包含接收输入数据、在所接收数据上加注自订标记(Specified Index)、判别所接收数据是否存有被省略的选择性字段(optional)或是被省略的默认字段(default),如有则调整存有选择性字段或是默认字段范围内的自订标记,接着直接执行新增、修改(update)、插入或删除数据,然后根据自订标记调整编码,并输出调整后的编码数据。本发明的方法能适用于包含数字签章的应用,例如联署签章(cosign),副署签章(countersign)等需要多数数据来源实体(entity)的编码,本发明方法可以节省完整译码与完整编码所需耗费的内存及时间。
文档编号G06F17/30GK1707473SQ20041004555
公开日2005年12月14日 申请日期2004年6月7日 优先权日2004年6月7日
发明者林岱宏 申请人:资通电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1