网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 论文模板 > 理学论文 > 正文

信息通信中的数字签名

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

鉴于大家对理学论文十分关注,我们编辑小组在此为大家搜集整理了“ 信息通信中的数字签名 ”一文,供大家参考学习

 

1 数字签名的基本概念

    数字签名在信息安全,包括身份认证、数据完整性、不可否认性等方面,特别是在大型网络安全通讯中的密钥分配、认证及电子商务系统中,具有重要作用。许多情况下我们需要使用手写签名,对所签订的文件、契约等进行确认。此时的手写签名具有下面的两个作用。

    (1)对所签署的文档内容进行确认;

    (2)如果签署文档的双方针对文档的内容发生争执,

    根据签署文档时留下的签名,第三方可以对签名进行检查以便对争执进行调解。

    随着计算机网络的发展,出现了对类似于数字签名的电子化签名的需求。例如,在电子商务中,某一个用户在下订单时,必须能够确认该订单确实为用户自己发出,而非其他人伪造,另外,在用户与商家发生争执时,必须存在一种手段,能够为双方关于订单进行仲裁。

    使用了密码技术的数字签名(或称数字签字)正是一种作用类似于传统的手书签名或印章的电子标记,它可以达到与手写签名类似的作用,即:使用数字签名,在信息通信过程中,接收方能够对公正的第三方(可以是双方事前同意委托其解决某一问题或某一争执的仲裁者)证明其收到的消息是真实的,而且确实是由那个发送方发送过来的,同时,数字签名还能够保证发送方事后不能根据自己的利益来否认他所发送过的消息,而接收方也不能根据自己的利益来伪造消息或签名。

    数字签名的安全特性是:不可否认性、不可伪造性。由于数字签名(电子信息)容易被拷贝,并且拷贝后的文件与原数字签名没有任何区别,因此,为了防止数字签名被重复使用在不同的消息上,第一,数字签名因消息而异,不同的消息的数字签名结果不同;第二,一般通过要求消息本身包含有诸如日期、发送序号等信息来使消息尽量不同,即使消息主要内容相同。

    一个数字签名方案由两部分组成:签名算法和验证算法。签名者A对消息M使用签名算法进行签名得到数字签名C;用户B对C通过验证算法判断其真实性。

    在一个数字签名体制中,签名算法或签名密钥是秘密的,只有签字人掌握;验证算法是公开的,以便于他人进行验证。

2 RSA-TBOS数字签名算法描述

    发送者A首先将消息“包裹”在自己的RSA函数的陷门部分,得到消息的一个签名,然后再将签名“包裹”在预收者B的RSA函数的单向部分,得到该签名的加密。系统范围内的用户使用了相同长度的模数,“双层包裹”就能很好地工作。如果“内层包裹”结果超过了“外层包裹”的模数,那么发送者只要从“内层包裹”中“砍掉”一个比特(如最重要的比特)就可以了。“砍掉”一个比特后,剩余的整数必然比“外层包裹”的模数小,因此可以直接“包裹”。记住,这种RSA密文的接收者必须进行密文完整性检验,该步骤允许接收者使用试错检验将“砍掉”的比特找回来。

2·1 密钥参数

    假设k是一个偶正整数。发送者A (接收者B)的RSA公私钥材料分别是(NA,eA), (NA,dA)[(NB,eB),(NB,dB)],满足|NA|=|NB|=k。假设G和H是两个杂凑函数,满足:H:{0,1}n+k0→{0,1}k1和G:{0,1}k1→{0,1}n+k0其中k=n+k0+k1, n是明文长度, 2-k0和2-k1是可忽略的量。

2·2 签名算法

    当A为B签密消息M∈{0,1}n时, A执行:

(1) r←{0,1}k0
(2)ω←H(M‖r)
(3) s←G(ω) (M‖r)
(4) If s‖ω>NAgoto 1
(5) c''←(s‖ω)dA(mod NA)
(6) If c′>NB, c′←c′-2k-1
(7) c←c′eB(mod NB)
(8) Send c to B

    (算法中的“‖”表示比特串的链接,“ ”表示比特串的的按位异或)

    第6步是为了确保c′=NB。如果最初c′不能通过该测试,那么我们有NA>c′>NB。因为NB和NA都有k比特,我们可以推出c′也是k比特,所以赋值c′←c′-2k-1等于将c′的最高位比特去掉。这样就有我们要求的c′<NB。注意这个步骤可能会导致解签密中的额外步骤。特别地,可能需要执行c′eA(mod NA)两次(两个c′相差2k-1)。定义另一种在签密阶段进行试错测试的方案是可能的。这意味着对不同的r值重复签密步骤1~5直到得到一个c′<NB。

2·3 验证算法

    当B要对来自A的密文c解签密时, B执行:

(1) c′←cdB(mod NB)
(2) If c''>NA, reject
(3)μ←c′eA(mod NA)
(4) Parse μas s‖ω
(5) M‖r←G(ω) s
(6) If H(M‖r)=ω, return M
(7) c′←c′+2k-1
(8) If c''>NA, reject
(9)μ←c′eA(mod NA)
(10) Parse μas s‖ω
(11) M‖r←G(ω) s
(12) If H(M‖r)≠ω, reject
(13) Return M

    现在说明接收者B总能正确地解签密。如果NA<NB,显然为真。如果NA>NB,那么有
σ=(M,r)dA(mod NA)>N

    但是,由于|NA|=|NB|=k,所以有σ<NA<2k因此,令σ′←σ-2k-1即σ′是“砍掉”σ的高位比特的结果,则σ′<2k-1<NB即B可以正确恢复σ′。以后B的验证步骤会指导B是否需要将“砍掉”的位比特修正回来。

3 安全特性及优点

    不可否认性:它以一种非常直接的方式提供了不可否认性,接收者B在“解开”签密密文后,或者可能是在修复被“砍掉”的比特之后,他就拥有了发送者A通常形式RSA签名: (M,r)dA(mod NA)。任何第三方都可以用通常方式验证该签名。

 

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师