GB/T 15851-1995 信息技术 安全技术 带消息恢复的数字签名方案

GB/T 15851-1995 Information technology—Security techniques—Digital signature scheme giving message recovery

国家标准 中文简体 被代替 已被新标准代替,建议下载标准 GB/T 15851.3-2018 | 页数:21页 | 格式:PDF

基本信息

标准号
GB/T 15851-1995
相关服务
标准类型
国家标准
标准状态
被代替
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
1995-12-13
实施日期
1996-08-01
发布单位/组织
国家技术监督局
归口单位
电子工业部标准化研究所
适用范围
-

发布历史

研制信息

起草单位:
电子工业部第三十研究所
起草人:
龚奇敏、黄月江、方关宝、雷利民、李桂茹
出版信息:
页数:21页 | 字数:37 千字 | 开本: 大16开

内容描述

GB15851一1995

前言

本标准等同采用国际标准ISO/IEC9796:工991信《息技术安全技术带消息恢复的数字签名方

案》。

该国际标准规定的对有限长消息进行数字签名的方案,适合于我国使用。

本标准的附录A、附录B、附录C和附录D都是提示的附录。

本标准由中华人民共和国电子工业部提出。

本标准由电子工业部标准化研究所归口。

本标准起草单位:电子工业部第三十研究所。

本标准主要起草人:龚奇敏、黄月江、方关宝、雷利民、李桂茹。

GB15851一1995

ISO/IEC前言

ISO(国际标准化组织)和IEC(国际电工委员会)形成了世界范围内的标准化专门体系。工SO或IEC

的成员国,通过由处理特殊技术活动领域的各个组织所建立的技术委员会来参与国际标准的开发。ISO

和IEC的技术委员会在共同感兴趣的领域内合作,其他与ISO和工EC有联络的官方和非官方国际性组

织也‘参与这项工作。

在信牡技术领域内,ISO和IEC:已建立了一个联合技术委员会ISO八ECJTC土。被联合技术委员会

按受的国际标准草案送给各成员国表决一个国际标准的发布,需要荃少75%的成员N投赞成票。

I-}际标准ISO/IEC97911廷由信良技术联合技术委员会ISO/IEC,ITC1制定的。

附录A,Rc和D只作为参考。

Gb15851一1995

引言

电子信息交换巾的数字签名和传统邮件中的手写签名十分相似。

大多数数早签名方案都基于某种公开密钥体制。所有公开密钥体制均包含三种基本操作

一产生密钥对的进程,该密钥对由一个秘密密钥和一个公开密钥组成;

一使用秘密密钥的进程;

—使用公开密钥的进程

在所有公开密钥数字签名方案中,秘密密钥用于消息的签名进程,公开密钥用于签名的验证进程,

I9而数字签名方案的密钥对由一个“秘密签名密钥”和一个“公开验证密钥0组成

明显地,有两类数字签名方案:

—当验证进程需要消息作为输入的一部分时,该方案称作“带附录的签名方案”,在计算附录中将

使用散列函数;

—当验证进程同时揭示消息及其冗余(有时称作“消Lt影子),’时,该方案称作“带消息恢复的签名

方案”

本标准规定了有限长消息的数字签名方案。

该数字签名方案的验证进程只需要尽量少的资源。它不涉及到使用散列函数,从而避免了对这种一

般算法的已知攻击

消息不一定要用自然语言写.可以是任意一种有限长的比特串。此类消息的例子有保密密钥材料以

及对更长消息进行散列运算后的结果,又称为“消息印鉴”。由保密软硬件所产生的几个比特串组成的结

构化组便是一个特例,其中一个比特申是对该硬件内产生的控制fF4息编码的结果

注本际准的使用可能涉及到某些专利条款。

中华人民共和国国家标准

信息技术安全技术

GB15851-1995

带消息恢复的数字签名方案iatISO/IEC9796:1991

Informationtechnology-Securitytechniques-

Digitalsignatureschemegivingmessagerecovery

,范围

本标准规定了对有限长消息使用公开密钥体制的带消息恢复的数字签名方案。

这种数字签名方案包含下列两个进程:

—签名进程,它使用秘密签名密钥和签名函数来对消息签名;

—验证进程,它使用公开验证密钥和验证函数来验证签名,同时恢复出消息。

签名进程中,必要时,欲签名的消息需填充和扩展,然后加上与消息本身有关的人为的冗余,对消息

中是否存在自然的冗余不作假定这人为的冗余将由验证进程揭示出来,把这人为的冗余去掉便恢复出

消息。

本标准不规定密钥产生进程、签名函数和验证函数。附录A(提示的附录)给出了一个公开密钥体制

的例子,包含密钥产生、签名函数和验证函数。附录B(提示的附录)通过例子来说明这些操作的各步。

这个方案中的若干参数与安全性有关:本标准不规定为要达到给定的安全性水平而对这些参数应

取什么值。然而以这祥一种方式规定,即在本标准使用中,如果这些参数中有的必须要改变时,使所作的

改变最小。

2定义

本标准采用下列定义。

2.1消息message

有限长的比特串。

2.2签名signature

由签名进程最后得到的比特串。

3符号和缩略语

入了P填充后的消息

ME扩展后的消息

nfR带冗余的扩展后的消息

IR中间整数

万签名

K签名的比特数

IR'恢复后的中间整数

MR恢复后的带冗余的消息

国家技术监督局1995一12门3批准1996一08一01实施

GB15851-1995

MP'恢复后的填充了的消息

Sign秘密签名密钥控制下的签名函数

ve权f公开验证密钥控制下的验证函数

modz模z的算术计算

产半字节

II半字节置换

m字节

S字节的影子

X一YX和Y两个比特串的级联

XQYX和Y两个比特串的异或

所有整数(比特申或字节串)其最高有效数字(位或字节)在左边

表1和附录B(提示的附录)中采用了。到s和A到F的十六进制记法。

4概述

下面两章规定:

—第5章中的签名进程;

—第6章中的验证进程。

每个签名实体应使用其自己的对应于公开验证密钥的签名密钥并将其保密。

如有必要,欲签名的消息应当填充和扩展,然后按照第5章规定的规则加上冗余,对此带冗余的扩

展消息,如第5章规定的那样,用秘密签名密钥计算其签名。

每个验证实体都会知道并使用该签名实体特定的公开验证密钥,当且仅当第6章规定的验证进程

获得成功,签名才是可接受的。

注:密钥的产生与分配已超出本标准的范围。

5签名进程

图1概括了这种签名进程。

消息

填充

扩展

冗余

截取和强置

签名产生

签名

图1签名进程

GB15851-1995

注:这种签名进程较好的实现方法应当对这些操作加以物理保护,使得无法对秘密签名密钥控制下的签名函数进

行直接访问

5.1填充

消息是一个比特串,在其左边添上。到7个。以便获得一个z字节的串。指数r(后面将用到)是填

充0的数目加1,因此r的值为1到8,

从而,在填充后的消息M1〕中,8z+1-r个最低有效位是信息位。

MP=。}}m_}{...M2}{m,

。一((r-1个填充的0)k(9一二个信息位)

z乘上16后的数应小于或等于k,+3。因此待签名消息的比特数最多应是小于或等于((k,+3)/16的

最大整数的8倍。

5.2扩展

数t(后面要用到)是满足2t字节串至少包含k,-1个比特的最小整数。

扩展后的消息ME的获得是通过依次在左边不断重复MP的z字节,直到形成t字节串为止。

对于i从1到t,7等于(i-1)modz加上1(所以1从1到z),ME的第1字节等于MP的第,字节。

ME二…m,11...-:一{m,

-t字节~

注:数2小于或等于,‘只有当k.棋16同余于13,14,15,。或1时,两者才可能相等。

5.3冗余

通过交替地将ME的t字节放在奇数位置上,将t字节冗余放在偶数位置上便得到带冗余的扩展

后的消息MR.MR的第2z字节的低半字节经指数r对其修改后,便由其值和位置对消息长度进行了编

码。

对P从1到t,

—MR的第(2i-1)字节等于ME的第!字节;

—MR的第2i字节等于ME的第i字节按表1规定的影子S的像,但第2:字节例外,它等于

ME的第z字节的影子与指数:异或的结果。

MR=…(二:)①川{m.II...S(-2川}。:}IS(m,)pm,

一2t字节一

注:从MP(mp,到mp,)的z个宇节计算MR(.r,到,rl)的2t个字节是通过对:从1到t连续地应用下列三个公

式完成的。to=((t一1)modz)+1;m、一:=mp;;mrv=S(mp,)最后,第2.字节再经指数r修改。

爪r,:二r①mr,。

54截取和强置

中间整数IR是用k。比特串来编码的,其最高有效位为1,k。一1个最低有效位便是MR的k,一1个

最低有效位,但最低有效字节被替代了,如果川}}P1是MR的最低有效字节,则IR的最低有效字节是

k1}!6,

5.5签名产生

在秘密签名密钥的控制下,对IR应用签名函数就得到k。比特串的签名B,

I-B1585,一1995

E二Sign(IR)

表I置换II和影子S‘

}4I}56{,。{{。l{I

”{。}’2{“一C。一E{F

A}“

广{一「I!}

一~讨一芍—4I2尸一{{l

“尸‘,{艺!“.月1

}5}8}}9{尸’。一

{刀B{6一’一犷犷-C

如果Y由a,a,ai“四比特组成,在置换汀下的像用厅(川表示,则为“①a,④-}(Dl:a,(8a3(D'由,;-,G.,①

二曰l;azf-:pa.④。

如果字节、由两个半字节k'M组成,在影子S下的像用S(m)表示,则为II伽z)II(uJ

6验证进程

图2概括了验证进程

签名

签名开启

是1否

拒绝

消息恢复

是f否

拒绝

冗余校验

是}否

拒绝

恢复后的消息

(签名彼接受〕

图2验证进程

6.1签名开启

在公开验证密钥的控制下,通过对签名万应用验证9数将其变换成恢复后的中间整数IR

IR‘二VeriJ(乞)

如果IR'不是一个最高有效位为1和最低有效半字节为6的k,比特串,则该签名刃将被拒绝。

6.2消息恢复

恢复后的带冗余的消息MR'是一个2t字节串,其((1一k,)(mod16)个最高有效位为。,而入一I个

最低有效位便是rR的k,一1个最低有效位,但最低有效字节需被拚代。按照表I中规定的置换n,如果

u,qu3IIu,}{6是IR'的最低有效四个半字节,则MR'的最低有效字节应是Q`'(u<?协uz

MR'一。:,II、。_、II…。:{}m

注::41R和W'这两串可能不等,}fR是由NR的k一I个最低有效位且在其最高有效位填充了。到了5个’〕后组

GB15851-1995

成的。

从MR'的2t个字节,计算出t个和,按照表1中规定的影子S,第;个和等于第2i个字节与第((2z一

I)个字节的影子的异或。

me;①.S(mai-,)

如果,个和都是。,则签名乏将被拒绝。

z恢复成第I个非零和的位置,恢复后的填充了的消息MP'便是MR'中奇数位置上z个最低有效

字节组成的串。

MP二‘M2.-,{{mz=-3II".yn2,-,II...m3{{ml

指数:恢复成第1个非零和的最低有效半字节的值。

如果指数r不取1到8之间的值,或MP'的r一1个最高有效位不全为。,则签名B将被拒绝。

m21-,=(r一1个填充的0){{(9一:个信息位)

消息被恢复成MP'的8z+1-r个最低有效位组成的串。

6.3冗余校验

当且仅当MR'的k:一1个最低有效位等于由恢复后的填充了的消息MP',按照5.2和5.3计算出

的带冗余的扩展后的消息的k。一1个最低有效位时,签名E才被接受。

GB15851-1995

附录A

(提示的附录)

用于数字签名的公开密钥体制例子

A1定义

模数modulus

两个素数的乘积构成的整数。

公开验证密钥publicverificationkey

模数和验证指数。

秘密签名密钥secretsignaturekey

签名指数。

A2符号和缩略语

定制服务