新型非对称加密

38人阅读 评论(0) 收藏 举报
非对称加密详解(魔法算法系统)
本发明公开了一种魔法算法系统及其应用,任意取两个因子进行相乘,取其结果的后n位进行非对称加密计算或数字签名,在非对称加密计算中,信息接收方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方,其中x、z和y满足x*y=, z取的后n位,然后信息发送方利用公钥x和z,对要发送的信息加密,并将加密后的信息发送给信息接收方;最后,信息接收方使用私钥y对接收到的信息进行解密。本发明减少了加密解密及数字签名过程中的计算量,使得计算过程更加简洁,信息传输更加安全。


* 一种魔法算法系统,其特征在于:任意取两个多位数的因子进行相乘,取其结果的后n位进行非对称加密计算或数字签名。


* 权利要求1所述的一种魔法算法系统在加密解密过程中的应用,其特征在于,依次包括以下步骤:


(1)创造公钥和私钥:信息接收方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方;


其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y=,z取的后n位,其中,x、z和y均为信息接收方根据安全需求随机选择的整数;n=1,2,……,n;


(2)信息加密:信息发送方利用公钥x和z,对要发送的信息加密,并将加密后的信息发送给信息接收方;


(3)信息解密:信息接收方使用私钥y对接收到的加密后的信息进行解密,得到信息发送方发送的信息。


* 如权利要求2所述的一种非对称加密算法,其特征在于:所述步骤(2)中,将要发送的信息记为t,信息发送方选择一个随机数s,利用公钥x和z,计算x*s=,取的后n位记为p,计算z*s+t=,取的后n位记为v,信息发送方将p和v作为加密后的信息发送给信息接收方;其中,s为信息发送方根据安全需求随机选择的整数。


* 如权利要求3所述的一种非对称加密算法,其特征在于:所述步骤(3)中,信息接收方对加密后的信息进行解密时,利用私钥y和接收到的信息p,计算y*p=,取的后4位记为u,再用接收到的信息v,计算v-u=t,即可解出信息发送方发送的信息t。


* 权利要求1所述的一种魔法算法系统在数字签名中的应用,其特征在于,依次包括以下步骤:


* 信息发送方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方;


其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y= z取的后n位,其中,x、z和y均为信息接收方根据安全需求随机选择的整数;n=1,2,……,n;


(2)签名者提取需签名的信息简要t,并选取随机数w,然后信息接收方使用私钥y,计算y*w=,取的后n位记为q,计算z*w+t=,取的后n位记为r,然后在需签名的信息简要t后加上q和r的值,生成数字签名,并发送给信息发送方,


(3)信息发送方计算r-x*q的值,并与t进行对比,若两者一致,则该信息没有被伪造。


* 如权利要求7所述的一种非对称加密算法,其特征在于:所述n=4。


*


一种魔法算法系统及其应用


技术领域


本发明涉及无线通信技术领域,尤其涉及一种魔法算法系统及其应用。


背景技术


非对称加密算法需要公钥和密钥两个密钥,公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,如果要用私钥对数据进行加密,那么只有用对应的公钥才能解密。非对称加密与对称加密相比,安全性更好,但是非对称加密的加密和解密花费时间长,速度慢,只适合对少量数据进行加密。


数字签名技术 是将摘要信息用发送者的私钥加密,与 原文 一起传送给接收者,接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用 HASH函数 对收到的 原文 产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。数字签名是非对称 密钥加密技术 与 数字摘要 技术的应用,与非对称加密算法一样,数字签名在签名和解密过程中的计算量较大,从而导致花费时间较长,速度较慢。


发明内容


本发明的目的在于提供一种魔法算法系统及其应用,能够减小加密解密及数字签名过程中的运算量,使算法系统更加简洁、安全高效。


为实现上述目的,本发明采用如下技术方案:


一种魔法算法系统,任意取两个多位数的因子进行相乘,取其结果的后n位进行非对称加密计算或数字签名。


一种魔法算法系统在加密解密过程中的应用,依次包括以下步骤:


(1)创造公钥和私钥:信息接收方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方;


其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y=,z取的后n位,其中,x、z和y均为信息接收方根据安全需求随机选择的整数;n=1,2,……,n;


(2)信息加密:信息发送方利用公钥x和z,对要发送的信息加密,并将加密后的信息发送给信息接收方;


(3)信息解密:信息接收方使用私钥y对接收到的加密后的信息进行解密,得到信息发送方发送的信息。


优选地,所述步骤(2)中,将要发送的信息记为t,信息发送方选择一个随机数s,利用公钥x和z,计算x*s=,取的后n位记为p,计算z*s+t=,取的后n位记为v,信息发送方将p和v作为加密后的信息发送给信息接收方;其中,s为信息发送方根据安全需求随机选择的整数。


优选地,所述步骤(3)中,信息接收方对加密后的信息进行解密时,利用私钥y和接收到的信息p,计算y*p=,取的后4位记为u,再用接收到的信息v,计算v-u=t,即可解出信息发送方发送的信息t。


一种魔法算法系统在数字签名中的应用,依次包括以下步骤:


(1)信息发送方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方;


其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y= z取的后n位,其中,x、z和y均为信息接收方根据安全需求随机选择的整数;n=1,2,……,n;


(2)签名者提取需签名的信息简要t,并选取随机数w,然后信息接收方使用私钥y,计算y*w=,取的后n位记为q,计算z*w+t=,取的后n位记为r,然后在需签名的信息简要t后加上q和r的值,生成数字签名,并发送给信息发送方,


(3)信息发送方计算r-x*q的值,并与t进行对比,若两者一致,则该信息没有被伪造。


优选地,所述n=4。


本发明法利用多位数相乘得到结果,取结果固定的后几位数来对信息进行加密,从而减少了加密解密及数字签名过程中的计算量,使得计算过程更加简洁;因为计算过程中舍弃了前些位数而未能保留完整的结果数,遂不能进行反向计算,从而构成单向陷门函数,使得本发明不易破解,从而使得信息传输更加安全。


具体实施方式


以下对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他所有实施例,都属于本发明的保护范围。


在加法和乘法计算中,多位数中某一位数的计算结果只能影响到自身本位或更高位的结果,而无法影响低于自身位数的结果;在减法和除法计算中,多位数中某一位数计算结果只能影响到自身本位或更低位的结果,而无法影响高于自身位数的结果。


以两位数运算为例,


加法运算:315+394=709,其中十位数10和90和100, 100在比十位低的个位值为零,故无法影响到比1和9低的位数。


乘法运算:315*394=124110,其中十位数1和9的积900依然没有影响到比原先自身低的位数。


减法运算:394-315=79,其中十位数90和10的差80影响到了自身位数和低一位数的结果,并没有影响更高的位数。


除法运算:87576/356=246,其中被除数的百位数5除以356的商1.4044……只影响到了自身位和更低位,无法影响到自身更高位。


不论多少位的正整数,取其从个位查起一定的位数的值都可以进行加减乘除的运算,得数结果和用原先满位时进行同样计算所得值从个位查起同位数值成以下关系:


乘法和加法相同,减法和除法不同。


取两个多位数的后3位进行计算,


乘法运算:分别取两个因子7531和5946,对这两个因子做乘法运算,7531*5946=44779326,


并取乘积的后3位,也就是326,然后取两个因子的后3位相乘,531*946=502326,其乘积的后3位也就是326与原始的两个因子的乘积的后3位相同。


加法运算:分别取两个因子7531和5946,对这两个因子做加法运算,7531+5946=13477,并取和的后3位,也就是477,然后取两个因子的后3位相加,531+946=1477,其和的后3位也就是477与原始的两个因子的和的后3位相同。


减法运算:分别取两个因子5946和7531,对这两个因子做减法运算,5946-7531=-1585,并取差的后三位,也就是585,然后取两个因子的后三位相减,946-531=415,由此可见,两个因子的后三位的差值的后三位,与原始的两个因子的差值的后三位并不相同,因此,若仅仅知道两个因子的后三位,利用减法并不能正确计算出原始两个因子的差值。


在这里,倘若知道减数和被减数哪个大,则可以计算出正确差值,若减数的后n位值小于被减数的后n位值,则在减数前加上任意整数,使其大于被减数,则可以计算出正确差值,如529-386=143,取后两位计算29-86=-57,这时在减数前加上整数6,629-86=543,其差值的后两位与原始差值相同。


除法运算:分别取两个因子4568和2358,对这两个因子做乘法运算,4568*2358=10771344,取乘积的后三位,与其中一个因子做除法运算,344/4568=0.29422066……,由此可见,已知两个因子的乘积的后三位及其中一个因子,无法计算出另一个因子。


根据上述分析,在不知道两个因子的实际值,仅知道其后n位时,可以计算出两个因子之乘积或和的后n位;而根据两个因子的后n位,无法准确计算出两个因子之差或商的后n位。


基于上述原理,本发明公开了一种魔法算法系统,该算法系统在计算时,任意取两个多位数的因子进行相乘,取其结果的后n位进行非对称加密计算或数字签名。


实施例一


上述魔法算法系统在加密解密过程中的应用,依次包括以下步骤:


(1)创造公钥和私钥:信息接收方创造公钥x、z和私钥y,其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y=,z取的后n位,然后将公钥x和z发送至信息发送方;


公钥x、z和私钥y的位数可根据安全需求按比例增加,使得x*y=,且x、y和z的位数相同即可,在本实施例中,x和y均有4位,z取的后4位,根据上述除法验证结果可知,除了信息接收方,任何人利用公钥x和z均无法用除法计算出y的值。


(2)信息加密:信息发送方利用公钥x和z,对要发送的信息加密,并将加密后的信息发送给信息接收方;


将要发送的信息记为t,信息发送方选择一个随机数s,利用公钥x和z,计算x*s=,取的后4位记为p,计算z*s+t=,取的后4位记为v,信息发送方将p和v作为加密后的信息发送给信息接收方。根据上述除法验证结果可知,除了信息接收方,任何人无法用除法和减法计算出随机数s的值。


(3)信息解密:信息接收方使用私钥y对接收到的信息进行解密,得到信息发送方发送的信息;


信息接收方对加密后的信息进行解密时,利用私钥y和接收到的信息p,计算y*p=,取的后4位记为u,再用接收到的信息v,计算v-u=t,即可解出加密的信息t。


以下结合具体数值对本实施例进行详细描述。


设公钥x=4596,y=9827,=4596*9827=45164892,私钥z取的后四位,z=4892,信息接收方将公钥x=4596和z=4892发送至信息发送方;


设要发送的信息t=2386,随机数s=3452,利用公钥x和z,计算x*s=,即4596*3452=15865392,取的后4位记为p,p=5392,计算z*s+t=,即4892*3452+2386=16889570,取的后4位记为v,v=9570,信息发送方将p=5392和v=9570作为加密后的信息发送给信息接收方;信息接收方对加密后的信息进行解密时,利用私钥y和接收到的信息p,计算y*p=,即9827*5392=52987184,取的后4位记为u,u=7184,再用接收到的信息v,计算v-u=t,即9570-7184=2386,t=2386,即可解出加密的信息t。在此过程中,除了信息接收方,其他人利用公钥x和z计算私钥y时,=1.064403,无法计算出私钥y的值;其他人利用信息发送方发送的p和v的值计算随机数和发送的信息时,利用=1.173194,无法准确计算出随机数s的值,进一步无法准确计算出信息发送方发送的信息t。


实施例二


上述魔法算法系统在加密解密过程中的应用,依次包括以下步骤:


(1)信息发送方创造公钥x、z和私钥y,并将公钥x和z发送至信息发送方;


其中x和y的位数相同,均为n位,公钥x、z和私钥y满足x*y= z取的后n位,其中,x、z和y均为信息接收方根据安全需求随机选择的整数;n=3,4,……,n;


(2)签名者提取需签名的信息简要t,并选取随机数w,然后信息接收方使用私钥y,计算y*w=,取的后n位记为q,计算z*w+t=,取的后n位记为r,然后在需签名的信息简要t后加上q和r的值,生成数字签名,并发送给信息发送方,


(3)信息发送方计算r-x*q的值,并与t进行对比,若两者一致,则该信息没有被伪造。


此外,本发明所述的魔法算法系统还可以在对称加密中,在每次通讯信息最后加上下一次通讯使用的密钥,如通讯信息为374368569,其中前6位为交流信息,后3位为下次通讯加密及解密的密钥,使用该对称加密方法,可以使两则完全相同的信息加密后也完全不同,安全性更强。


本发明法利用多位数相乘得到结果,取结果固定的后4位数来对信息进行加密或数字签名,从而减少了加密和解密过程中的计算量,使得计算过程更加简洁;因为计算过程中舍弃了某些位数而未能保留完整的结果数,遂不能进行反向计算,从而构成单向陷门函数,使得本发明不易破解,从而使得信息传输更加安全。
专利初审中
,微信号bl93838
查看评论

对称加密与非对称加密,以及RSA的原理

一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了。例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊。16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码、猪圈密码...
  • u014079662
  • u014079662
  • 2017-03-10 06:22:32
  • 3358

对称加密与非对称加密理解和非对称加密的java例子

对称加密与非对称加密理解和非对称加密的java例子 1.对称加密:一般小于256 bit的密钥,密钥越大越安全,但是解密和加密时间越长。加密和解密都是用的相同的密钥,快速简单 2.非对称加密:有公...
  • qq_31968809
  • qq_31968809
  • 2017-03-11 14:23:30
  • 808

Java语言的非对称加密的实现

众所周知,互联网上的安全是非常重要的一个课题,如何让我们的软件,通信协议更加安全,是每个程序员都需要思考的问题。 本文主要讨论三种非对称加密的情况。 1.私钥加密-公钥解密 2.公钥加密-私钥解...
  • zoudifei
  • zoudifei
  • 2016-04-24 00:37:01
  • 1419

非对称加密,我终于理解了!

北京的Bob发了一个快递到广州的Alice,途中经过了上海,上海快递中心出现了一个黑客H,他偷偷打开了Bob给Alice的快递,然后偷偷把里边的衣服剪烂,再按照原样包装好发往广州,可以看到对于这样简单...
  • xiaoy20618
  • xiaoy20618
  • 2015-07-27 13:37:37
  • 12040

对称加密和非对称加密总结

对称加密含义:对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有...
  • u013791374
  • u013791374
  • 2016-08-04 14:17:19
  • 718

[iOS开发笔记 数据安全]对非对称加密理解

最近一直做的项目由于都是金融股票方面的app,加密要求比较高,自己了解了一些加密相关的知识,给大家分享一下。 POST请求,https协议,以及苹果自己的SSKeyChain这些就不用多说了,应该...
  • victory_pang
  • victory_pang
  • 2017-07-27 16:25:32
  • 144

java RSA非对称加密详解

简介RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时...
  • a394268045
  • a394268045
  • 2016-08-17 17:26:27
  • 6946

C#非对称加密程序

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys...
  • 21aspnet
  • 21aspnet
  • 2007-03-24 15:15:00
  • 2644

加密方式-非对称加密(RSA加密与签名)

上一篇讲到了对称加密,本文主要讲非对称加密。 非对称加密就是指加密解密使用不同的密钥。 经常有人问我公钥私钥到底哪个用来加密哪个用来解密,哪个用来加签,哪个验签。 今天就讲一个比较通俗易懂的方法...
  • libra_ts
  • libra_ts
  • 2016-12-30 09:29:12
  • 1413

Java实现Rsa非对称加密

什么是Rsa算法 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987...
  • dong_18383219470
  • dong_18383219470
  • 2017-05-01 23:36:05
  • 507
    个人资料
    等级:
    访问量: 0
    积分: 20
    排名: 0
    文章分类
    文章存档