一种签密方法和系统技术方案

技术编号:7422555 阅读:593 留言:0更新日期:2012-06-09 07:50
本发明专利技术涉及一种签密方法和系统。该签密方法包括:在有限域内确定椭圆曲线,生成包括相对应的QA、dA的发送方公私密钥对和包括相对应的QB、dB的接收方公私密钥对,QA、QB均为椭圆曲线的点;发送方根据椭圆曲线的基点G,生成明文m的填充信息p,将m与p连为m||p后,根据QB将其加密为密文c;确定满足f1(s)g0(e)+g1(e)=k+(f2(s)g2(e)+g3(e))dA的s,k为小于G的阶的随机正整数,f1(s)g0(e)+g1(e)和f2(s)g2(e)+g3(e)均与s、e相关,且f1(s)g0(e)+g1(e)=k+(f2(s)g2(e)+g3(e))dA对s有唯一正整数解;发送方将c和s作为签密信息发送到接收方;接收方利用c的哈希值e及G、s、QA,根据B=(f1(s)g0(e)+g1(e))G-(f2(s)g2(e)+g3(e))QA得到B;根据dB和B对c解密得到m和p;根据B生成m的接收方填充信息p’;判断p与p’是否相等来验证发送方是否发送了针对m的签密信息。利用本发明专利技术能提高保密和认证的运算效率。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,特别是涉及一种签密方法和系统
技术介绍
在计算机应用领域中,保密和认证是最重要的问题之一。现有技术常用加密手段达到保密的目的,用数字签名的手段达到认证的目的,即计算机之间在传输数据时,通常需要对这些数据进行加密,以防止发生泄密事件,同时,为了防止数据发送方与接收方之间发生数据传输责任方面的纠纷、并防止第三方假冒发送方向接收方传输数据,发送方在发送加密数据的同时,还要向接收方发送数字签名,以供接收方根据该数字签名来确认发送方确实发送了该加密数据,这有效防止了发送方否认发送过数据、接收方否认接收到正确的数据以及第三方假冒发送方等事件的发生。现有技术中,明文数据从发送方传输到接收方的过程要同时满足保密和认证的要求,因而发送方需要将明文数据加密后的密文和数字签名同时发送给接收方。这样,发送方在发送密文和数字签名之前,要进行明文加密和生成数字签名两项工作。现有技术中,加密和生成数字签名是采用两套算法先后进行的,虽然二者的先后顺序可以颠倒,但发送方必须按照两套算法运算完毕才能获得密文和数字签名,因此,现有技术进行保密和认证的运算效率比较低。
技术实现思路
本专利技术所要解决的技术问题是提供一种签密方法和系统,能提高保密和认证的运算效率。本专利技术解决上述技术问题的技术方案如下一种签密方法,该方法包括在有限域内确定椭圆曲线,并生成发送方公私密钥对和接收方公私密钥对;其中, 所述发送方公私密钥对包括相互对应的发送方公钥A和发送方私钥dA,所述接收方公私密钥对包括相互对应的接收方公钥A和接收方私钥dB,且A和( 均为所述椭圆曲线上的点;发送方根据所述椭圆曲线的基点G,生成明文m的填充信息p,并将m与ρ连接为填充明文m I I ρ ;发送方根据( ,将m I I ρ加密为密文c ;发送方根据c的哈希值e,以及dA,确定满足fJskc^eHg = k+(f2(s) &&)+而&))4的签密特征值8;其中沽为小于6的阶的随机正整数,^8)和f2(s)是以S 为自变量的函数,go (e)、gl (e)、g2 (e)和而(e)是以e为自变量的函数,(s) g0 (e) +gl (e)和 f2 (s) g2 (e) +g3 (e)均与 s 和 e 相关,且 (s) g0 (e) +gl (e) = k+ (f2 (s) g2 (e) +g3 (e)) dA 对 s 有唯一正整数解;发送方将c和s作为签密信息,发送到接收方;接收方利用c的哈希值e以及G、s和Qa,根据B = (s) g0 (e)+gl (e))G-(f2(s) g2(e)+&(e))(iA 得到中间点 B; 接收方根据dB和B,对c进行解密,得到m和P ;接收方根据B生成m的接收方填充信息P’ ;接收方判断ρ与ρ’是否相等,如果是,则验证通过,确认发送方已发送针对m的签密信息,否则,验证不通过,确认发送方并未发送针对m的签密信息。本专利技术的有益效果是本专利技术中,发送方公私密钥对中的发送方公钥仏和发送方私钥dA,以及接收方公私密钥对中的接收方公钥( 和接收方私钥dB分别相互对应,且A 和A均为椭圆曲线上的点,发送方可利用椭圆曲线的基点G生成明文m的填充信息p,提供给接收方来验证发送方确实发送了针对m的签密信息,发送方在将m和ρ连接为填充明文ml Ip后,即可根据仏将一 Ip加密为密文C,这样,发送方用椭圆曲线签密的方法实现了明文数据的保密和认证工作;发送方利用c的哈希值6和4确定出满^8)^|&)+&&)= k+ (f2 (s) g2 (e) +g3 (e)) dA的签密特征值s,并将c和s作为签密信息发送给接收方之后,接收方即可利用 c 的哈希值 e 以及 G、s 和 Qa,根据 B = (s) g0 (e) +gl (e)) G- (f2 (s) g2 (e) +g3 (e)) Qa得到中间点B,然后根据dB和B对c进行解密,从而得到明文信息m和填充信息p,接着, 接收方可根据B生成m的接收方填充信息P’,通过判断ρ与P’是否相等,即可实现认证过程,因此,本专利技术中,发送方可以利用椭圆曲线签密方法一次性实现对明文m进行加密得到密文c和验证用的填充信息P,从而实现保密和认证功能,相对于现有技术先后执行两套算法来实现保密和认证功能,本专利技术大大提高了保密和认证的运算效率。在上述技术方案的基础上,本专利技术还可以做如下改进进一步,在生成发送方公私密钥对和接收方公私密钥对之后,该方法进一步包括 将A与发送方的身份信息相对应、将%与接收方的身份信息相对应,发送到证书管理机构;所述证书管理机构判断所述发送方的身份信息是否真实,如果是,则生成发送方的数字证书发布到目录服务协议LDAP服务器上;其中,所述发送方的数字证书包括A和发送方的身份信息;所述证书管理机构判断所述接收方的身份信息是否真实,如果是,则生成接收方的数字证书发布到LDAP服务器上;其中,所述接收方的数字证书包括( 和接收方的身份信息;则在发送方根据A,将ml ι ρ加密为密文c之前,该方法进一步包括发送方从所述 LDAP服务器上获得% ;在接收方利用c的哈希值e以及G、s和Qa,根据B = (s) g0 (e) +gl (e)) G- (f2 (s) g2 (e) +g3 (e)) Qa得到中间点B之前,该方法进一步包括接收方从所述LDAP服务器上获得Qa ο进一步,发送方根据A,将ml Ip加密为密文C的方法为发送方随机从小于G的阶的正整数中选定k;将1^与A进行标量乘运算,得到形式为(Ii1A2)的数组;利用IP 加密为密文C ;接收方根据dB和B,对c进行解密,得到m和ρ的方法为接收方将dB与B进行标量乘运算,获得形式为(k1; k2)的数组;利用Ic1对c进行解密,得到m和ρ ;则该方法进一步包括接收方将Ic1和所述签密信息发送到仲裁方;所述仲裁方根据Ic1对c进行解密,得到m和ρ ;仲裁方利用c的哈希值e以及G、s和Qa,根据B = (s) go (e) +gl (e)) G- (f2 (s) g2 (e) +g3 (e)) Qa得到中间点B ;仲裁方根据B生成m的仲裁方填充信息P”;仲裁方判断P与P”是否相等,如果是,则验证通过,确认发送方已发送针对m的签密信息,否则,验证不通过,确认发送方并未发送针对m的签密信息;或,发送方根据Qb,将m| |p加密为密文c的方法为发送方随机从小于G的阶的正整数中选定k;将1^与A进行标量乘运算,得到形式为(k1; k2)的数组;利用1 将ml IP加密为密文c ;接收方根据dB和B,对c进行解密,得到m和ρ的方法为接收方将dB与B进行标量乘运算,获得形式为(k1; k2)的数组;利用1 对c进行解密,得到m和ρ ;则该方法进一步包括接收方将1 和所述签密信息发送到仲裁方;所述仲裁方根据1 对c进行解密,得到m和ρ ;仲裁方利用c的哈希值e以及G、s和Qa,根据B = (s) go (e) +gl (e)) G- (f2 (s) g2 (e) +g3 (e)) Qa得到中间点B ;仲裁方根据B生成m的仲裁方填充信息P”;仲裁方判断P与P”是否相等,如果是,则验证通过,确认发送方已发送针对本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张庆胜
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术