基于椭圆曲线数字签名系统的设计与实现
摘 要: 通过网络传输获取信息,这在人们日常生活中日益普及。信息在网络传输过程中面临着被截获、被修改等安全性威胁。数字签名技术能够在数据传输过程中提供一系列的安全保障服务。基于C/C++和椭圆曲线数字签名算法,设计并实现了一个数字签名系统。测试表明,该系统具有良好性能并满足签名算法的安全性要求。
关键词: 网络传输; 数字签名; 椭圆曲线; 电子商务
Key words: network transmission; digital signature; elliptic curve; e-commerce
0 引言
随着信息和电子技术的迅速发展以及网络技术的广泛应用,世界已经步入了信息社会。在政治、军事、商业和日常生活中,人们经常需要在纸质材料上手写签名。手写签名具有确认、核准、生效、负责等多种作用。近些年随着计算机网络技术的飞速发展,陆陆续续出现了电子商务、电子政务和电子金融系统。在这些系统应用中,人们需要通过网络信息传输对电子的文件、合同、信件及账单等进行数字签名以代替手写签名。计算机作为国家的关键基础设施和战略命脉,其安全状况直接影响到国家的安全和发展。信息加密是保证信息安全的关键技术,其理论是信息安全的核心内容之一。目前的数据加密、数字签名、消息认证等信息安全技术都是以密码技术作为基础进行设计的。
在电子商务活动日益盛行的今天,数字签名技术已经受到人们的广泛关注与认可,其使用已经越来越普遍。各国对数字签名的使用已颁布了相应法案,我国也于2004年8月通过了《电子签名法》。目前已有的签名算法主要有RSA签名方案、ELGamal签名方案、椭圆曲线数字签名算法、盲数字签名方案等等。因此,设计出简单、安全、高效的数字签名系统对于电子商务、电子政务的推广和应用具有十分重要的意义。
1 椭圆曲线公钥密码系统简介
1985年,Victor Miller和Neal Koblitz首次提出将椭圆曲线用于公钥密码学的思想。其理论基础是定义在有限域上的某一椭圆曲线上的有理点可构成有限交换群[1]。
1.1 椭圆曲线密码体制
如果能通过某种方法将明文通过适当的编码方式嵌入到椭圆曲线E上的点,则可以定义基于椭圆曲线E的ElGamal公钥密码系统[2]。
密钥生成算法:设(E,+)是有限域Fp上的椭圆曲线,G是E的循环子群,生成元为P,其阶n足够大,使得循环子群G上的离散对数问题是难解的。随机挑选一个整数a,使得1?a?n-1,计算Q=a·P;公开公钥(Q,P,G),保存私钥a。
加密算法:假设Bob想把明文m加密发送给Alice,Bob首先获取Alice的公钥(Q,P,G),将明文m编码为群G中的元素Pm,再选取随机数r,1?r?n-1,然后计算c1=r·P=(x1,y1),c2=Pm+r·Q=(x2,y2),则密文为(c1,c2)。
解密算法:Alice收到密文(c1,c2)后,利用私钥a计算出Pm=c2-a·c1,再对Pm解编码得到明文m[3]。
1.2 椭圆曲线数字签名算法
椭圆曲线数字签名算法ECDSA的安全性是基于有限域上椭圆曲线有理点群上离散对数问题的困难性。ECDSA已于1999年接受为ANSI X9.62标准,于2000年接受为IEEE 1363及FIPS 186-2标准[4]。
1.2.1 参数建立
⑴ 设q(>2160)是一个素数幂,E是有限域Fq上的一条椭圆曲线(q为素数或2m。当q为素数时,曲线E选为y2=x3+ax+b。当q=2m时,曲线E选为y2+xy=x3+ax2+b)。
⑵ 设G是E上有理点群E(Fq)上的具有大素数阶n(>2160)的元,称此元为基点。
⑶ h是单向Hash函数h,可选择SHA-1或SHA-256等。
⑷ 随机选取整数d:1
⑸ (q,E,G,h)是公开参数,d与P分别是签名者的私钥和公钥。
1.2.2 签名生成过程
⑴ 对消息,Alice随机选取一个整数k,1?k
⑵ 在群E(Fq)计算标量乘kP=(x1,x2),且认为x1是整数(否则可将它转换为整数)。
⑶ 记r=x1modn。如果r为0,返回第一步。
⑷ 计算s=k-1(h(m)+dr)modn。如果s为0,则返回第一步。
⑸ (r,s)是Alice对消息m的签名。将(r,s)发送给Bob。
1.2.3 签名验证过程
Bob收到(r,s)后执行以下操作。
⑴ 检验r与s是否满足:1?r,s?n-1,如不满足,则拒绝此签名。
⑵ 获取公开参数(q,E,G,h)及Alice的公钥P。
⑶ 计算w=s-1modn。
⑷ 计算u1=h(m)wmodn及u2=rwmodn。
⑸ 计算标量乘R=u1G+u2P。
⑹ 如果R=O,则拒绝签名,否则将R的x坐标转换成整数,并计算。
⑺ 检验v=r是否成立,若成立,则Bob接受签名,否则拒绝该签名。
2 签名系统分析及设计
本节主要讨论椭圆曲线数字签名系统的总体分析和设计。
2.1 域参数的选取
椭圆曲线密码体制的安全性是基于有限域上椭圆曲线离散对数问题的难解性。为了使签名系统更加安全,应该选取更加安全的椭圆曲线,基于某条椭圆曲线的离散对数问题求解难度很大。
设定义于有限域上的椭圆曲线E,其中q=pn,p是一个素数。椭圆曲线E的有理子群E()的阶用表示。椭圆曲线好坏的标准在于的大小。Hasse定理给出的是域上椭圆曲线的阶,其中q=pn。
对于超奇异椭圆曲线:
⑴ n是偶数,。
⑵ n是偶数,。
⑶ n是奇数或偶数,p≠1mod4,t=0。
对于非超奇异椭圆曲线,t满足性质。
2.2 签名系统流程
该签名系统包括签名和验证两个主要过程,分别如图1和图2所示。
2.3 系统总体设计
签名系统总体流程图如图3所示。
[开始][系统登录][合法
图4中,密钥生成模块主要负责生成签名所需密钥;摘要处理模块主要针对需要签名的文档生成HASH摘要;签名生成模块主要对数字摘要进行签名并将签名附加到源文档末尾;验证模块即对签名进行验证并返回验证结果,用数字1表示验证通过、数字0代表未通过。
3 椭圆曲线数字签名算法的实现
该系统利用C/C++基于.NET平台设计并实现[5]。系统中常用的运算法则为加减乘除和取余运算(取余运算被包含在除法运算中)。因为ECDSA算法均是大整数的运算,所以此系统所有运算方法均采用有符号的二进制运算方法且结果同样为有符号二进制数。由于加法和减法运算较为简单,下面主要列出乘法和取余数算法的具体过程。
乘法运算算法描述:
step 1 被乘数与乘数按低位对齐;
step 2 取乘数为运算的低位与被乘数相乘;
step 3 使用加法算法将此次step 2的结果与step 3的结果相加;
step 4 重复step 2直至加数位数取完。
取余数运算算法描述:
step 1 被除数与除数按低位对齐;
step 2 依次取被除数未被运算高位直至取出的数大于等于除数。当此数值小于除数是商,上0,否则上1;
step 3 将step 2的得数按减法算法减去除数;
step 4 重复step 2直至被减数取完,step 3的结果即为余数。
因为ECDSA算法的效率很大程度上取决于倍点算法的效率,所以在此详述此系统中的倍点算法[6]。在系统运行中无论是签名过程还是验证过程均需要计算k*G(x,y)即k倍的点G。k的取值是从1到n(n为基点G的阶)n为一个大素数,所以k的取值可能很大。这就意味着逐步点加的方法将消耗大量的时间。因此,在此系统中设计了一种较为快速的倍点算法,需要输入椭圆曲线上的点G及整数K,输出椭圆曲线上的点P=k*G(x,y),具体过程描述如下:
step 1 令num=1,i=1,P=G;建立数组point以储存每一步的点值,Point[0]=G;
step 2 如果num<=k,则计算num=2*num; P=2*P; 将P值存入point[i]中,对i值加1;重复这个过程至num<=k不再成立;
step 3 计算num=num/2,n=num,i=i-2;P=point[i];执行下列循环:
for j from i to 1
如果 num=k 则输出P;否则 n=n/2,num=num+n;
P=P+point[j-1];
系统实现时初始化过程主要确定签名系统中各个参数,签名过程使用的是ECDSA中的签名生成算法,可以对本地文件进行签名。打开系统后,点击签名可以对选定的文档(TXT文件或者DOC文件)进行电子签名。
签名成功后,签名结果会追加在文档末尾,如图5所示。
文档验证人收到文档后,选择验证按钮来对已签名文档进行验证。若文档从未被篡改过,则会显示验证成功,如图6所示;若在传输过程中或者是在验证该文当前,有人对签名后的文档进行修改,则验证结果提示文件不可信(即有人篡改文档内容)。演示文档中以删除“war”为例进行验证,结果如图7所示。
4 安全性分析
该签名系统是基于有限域Fq上的椭圆曲线数字签名系统,其安全性基于椭圆曲线密码体制的安全性即椭圆曲线上离散对数问题的难解性。具体实现时还有几点需要考虑[7]。第一,系统参数组中使用安全的随机数。签名算法中使用了随机数,每一次的随机数需要安全生成、保存和使用并销毁,并且每次都使用不同的随机数,这在一定程度上可以提高系统的安全性。第二,确定合适的系统参数。选择恰当的系统参数可以保证ECDLP问题的难解性,可以使用NIST推荐的系统参数。第三,使用安全的Hash函数。算法中需要使用Hash函数对文档内容进行处理,好的Hash函数应具有如下特点:函数的正向计算容易;函数尽可能随机且不可逆。可以选取SHA-1等安全的Hash函数。
5 结束语
近年来,在电子商务、电子政务等快速发展的推动下,数字签名技术也得到了快速发展和应用,并且日益成为内容丰富、应用广泛的信息安全技术领域的核心技术之一。其中,椭圆曲线数字签名算法是众多签名算法中广受关注的一种算法。本文基于椭圆曲线数字签名算法,采用C/C++编程实现了一个椭圆曲线数字签名系统。通过测试表明,所设计和实现的签名系统完全满足信息防篡改等安全性要求,在电子商务、电子政务以及电子金融等领域具有一定的实用前景。
参考文献:
[1] 张龙军,沈钧毅,赵霖.椭圆曲线密码体制安全性研究[J].西安交通大学学报,2001.35(10).
[2] 何大可,彭代渊,唐小虎等.现代密码学[M].人民邮电出版社,2009.
[3] 赵泽茂.数字签名理论及应用研究[D].南京理工大学博士学位论文,2005.
[4] 徐茂智,游林.信息安全与密码学[M].清华大学出版社,2007.
[5] 郑阿奇,丁有和.Visual C++教程(第2版)[M].机械工业出版社,2008.
[6] 赖忠喜,陶东娅,张占军.GF(2~n)域椭圆曲线密码体制中快速标量乘算法的研究[J].计算机应用与软件,2014.8.
[7] 秦晓东,辛运帷,卢桂章.基于椭圆曲线的数字签名系统的设计与实现[J].计算机工程与应用,2003.28:151-155
作者:李海平 凌广明 裴宸平
过去,广西曾被称为“南蛮之地”。在不断提升人们的精神文化品位和生活质量的时代背景下,与“南蛮”遗风相对的“人文教育”应运而生。什么样的教育是人文的?这给我们钦州一中这所百年老校提出了难题。为了破解这一难题,我们努力探索“人文教育”的方法,并结合“以人为本”的教育理念付诸实践,发现除了课堂的理论引导之外,还应设置“人文”的校园环境和德育课程。
人文的校园环境养目养心,如果在深厚的校园文化底蕴上,树立起鲜明又富有感染力的学校形象,打造温暖如家的环境文化,就能为学生提供身心愉悦的教育沃土。因此,我们在办学理念、办学宗旨、文化主题、学校精神、学校愿景、培养目标、校训、校风、管理文化、学校标识等方面渗入浓郁的人文色彩,制订了“山海文化”理念,并提出了“绿色、人文、现代”的文化主题。同时积极开展班级文化建设,让学生在校园里的任何一个角落都能感到愉悦。如,教室里的窗帘和墙报以自然、清新、淡雅的色系为基调,选用嫩绿色、淡黄色、浅蓝色等,舒缓学生的学业紧张情绪。
环境是育人的基础,而人文德育课程则是关键,它有利于培养学生的个性,发展学生的多元思维。在人文德育课程的实施过程中,我们需要重视其特性,把握其时效性,发挥其实效性。
重视人文德育课程的特性
突出科学育人价值。科学育人是人文德育课程构建的第一价值取向,必须始终坚持以人为本,以学生为本,以学生的多元化发展为本。要把科学思想贯穿课程的始终,充分挖掘和利用学科中的人文德育因素,并在课程实施中加以渗透,发挥课堂主渠道的作用,突出学科育人功能,使学科教育与学生的个性培养、品格养成有机结合,在课堂学习活动中引导学生进行道德判断、道德体验和道德选择,逐渐形成正确的情感、态度和价值观。
凸显学生自我体验。从学生的思想和生活实际出发,利用主题班会、国旗下的讲话、德育主题活动等,把学生的情感认同与道德成长放在首位,使学生在过程中去探究、发现、感悟,并将其感知、认知的东西与品行化为一体。还要充分利用各种资源,在落实德育活动常规要求的基础上,积极探索以学生为主体的“课题化”“活动性”“探究式”的人文德育课程。
促进学生身心发展。人文德育课程的开发与利用,目的是陶冶学生的性情,以完善学生的心智、健全学生的人格为最高目标,促使个人与他人、个人与社会、人类与自然和谐发展,进而塑造学生的道德情操。在心理健康教育的基础上,有机融合文明礼仪教育、法制教育、感恩教育、环保教育等,科学构建人文德育课程体系。
把握德育活动的时效性
每月一个主题的德育活动,能够彰显德育的人文魅力。如,三月份,在植树节和“学雷锋”的社会背景下,我们开展植树造林、绿化校园、美化教室宿舍、绿意空间创设等主题活动,深化“学雷锋”活动;四月份,以“世界读书日”为契机,举办“读书节”,引导学生开展专题性阅读、鉴赏、诵读、评比等活动,把“书香校园”建设落到实处;五月份,“红五月”唱响班歌比赛,“青年节”举办“成人礼”活动,以班歌励志,用仪式强化感恩;十一、十二月,举行校庆文化艺术节,让学生自主合作,展示特长,培养创新精神。
发挥德育课程的实效性
经典阅读课程,达到细雨润物之效。搭建阅读平台,指导阅读方向,引导学生走进阅览室、图书馆,让学生触摸文学经典,充分感受经典之美、情感之真、境界之高,让“书香校园”真正成为人醉于书的“墨香园”,打造人人乐读的“悦读风景”。
故事感化课程,塑造校本精神文化。就地取材,收集校园内的真实故事,形成校本精神文化。校园内的真实故事,体现出的是学生身上的真诚、善良、质朴、正直、勤奋、大度、宽容、谦敬等美德,引导学生关注自身和同伴成长,发掘学生身上的人性美、道德美、情趣美,树立典型,激发正气,鼓励学生多元化发展。
自主发展课程,培养学生的自我管理能力。教育家叶圣陶说,教是为了不教。确实,自主更具人文性。学生作为自主教育实施者,通过自我体验、自我约束、自我评价、自我激励等方式,可以达到改变自我的思想结构、提高自我的思想境界、改变自我的言行、提高自身素质和能力的目的。这种新型教育模式是以学生为中心,教师起到引导和促进作用,学校创造条件为学生提供展现自我的舞台,充分发挥学生的主动性、积极性和首创精神,最终实现对学生的有效管理,达到学生整体素质的提高,并使其具有创新思维和能力。
例如,完善学生会干部公开竞选制度、学生校长助理公开竞选制度、学生文学社干部公开竞选制度,让学生参与学校的管理和自我管理;制订学生劳动值日班制度,让学生参加学校的课堂纪律检查、校园卫生清洁、科室工作、饭堂劳动等,增强学生的劳动观念,提高其劳动能力;在班级文化建设中,让学生自行设计班徽、班服,自行布置教室,自行制定班规、班级公约,自行组织班会,自主策划活动……
学校以“人文”为个性签名,就是要以学生的身心健康发展为出发点,努力构建有着浓浓爱意、淡淡书香的“人文味道”十足的和谐校园,让学校真正成为充满人文关怀的师生向往的乐土。
【宁良敦,钦州市第一中学德育处主任;符政梅,钦州市第一中学德育处副主任】
责任编辑/南 丽
作者:宁良敦 符政梅
个性签名设计
我们的暧昧就这样坚持了很多年,只是你我从没有揭穿过.
个性签名:初恋,前男友,前女友,为什么说起来那样轻松.
你会在某个时间想我吗?哪怕就一会
我庆幸的是遇到了你,而且还是那么的幸运.
你既不友好也不冷漠,你远远近近,让我想放弃,但不愿意。
幸好我是做醋的,让老婆使劲的吃醋去吧.哈哈
我爱你,就像你不爱我那样,那么坚决,那么真.
过去的就让它过去,该来的就不要放弃
喜欢发呆的人,心里一定有另一个纯净的世界
你留给我的影响,多年以后还在我身上顽强
当你需要个夏天,我会拼了命的努力。
你送我的东西我还留着、你给的爱我不要。
暧昧只能让人充满防备,内心却没有归属。
我的爱情跌跌撞撞,最后跌入了万丈深渊
我爱你爱的那么深刻,你伤我伤的那么彻底
是你演戏演得太逼真,还是我太傻太天真
当凹凸曼都开始悲观,世界还有什么值得期待。
过去了就是过去了,过去再美终究也只是曾经了。
一百句如果爱,都不及一句在一起来得实在
挽留总说不出口,思念却没有更改过
个性签名设计
书法家为你设计好签名后,还得靠你自己来练习,谢俊峰先生设计的签名每个款式都附有笔画分解,只要你打印出来练习,或者对着原稿来练习就可以学会了.练习签名和练习书法是一样的道理,都得先描后临,描就是描红,先拿一张薄一点的纸蒙在上面写,这样学出来的签名不但不会变形,而且更能掌握其中的道理,练一段时间之后就是临,即不用再描红,而是把结构和笔顺记于脑海里,这样能做到下笔前胸有成竹.
一、先看签名整体结构,注意比例.
二、掌握书写笔顺。就是要看清楚起笔在哪里收笔在哪里,连接在哪里,因为很多签名的书写方法是与你个人的书写习惯是不一样的。只有掌握了书写顺序,才能有正确的书写。
三、对比。你练习出来以后,一定要与设计师的样品相对比。对比时每一笔每一划都要仔细比较,看笔画的长短,转折等都要比较一下。只有对比,你才会发现自己写出来的与设计师写出来的在哪些地方不一样。那样,才知道如何样去改进。
四、多练习。一般在拿到设计作品后。你可能书写时不熟习,那么写出来的签名也断断续续的。笔画也不流畅,那么唯一的方法就是多写多练。一有空就写一有时间就练,最好要能持续坚持一周左右,每天练习一会儿,这样你的大脑才能记住这个结构. 只要你能做到以上几点,保证您不出一个星期,一定写出漂亮的签名来。叫你的朋友同事惊叹不已,不用再为签名烦恼.
就算我把全世界都忘记(yyi5),依然清晰的记得你的脸。
也许有一天你终将走出我的视线,却从未走出过我的思恋。
离开之后,听说、爱情回来过。
若你敢在任何世界接受我、爱我、陪我,我会不顾一切选择你,哪怕最后撕心裂肺也不后悔。
落花有意流水无情,多情总被无情扰。
天涯何处无芳草,何必留念她的好。
爱过以后天荒地老,情有多久谁知道。
等待、不是为了你回心转意回来;而是,为自己找个借口不离开。
时间并不是治愈伤口最好的解药,其实心态才是最后的疗效。
渐渐明白,隔着眼泪看世界,全世界都在哭泣,微笑看世界,所有不美好都能变成美好。
无论身在何处,像花儿一样,不管遭遇如何的环境,都依然如期绽放自己的美丽。
有时候,想要被人在乎你的最好办法,就是不要太在乎他们。
时刻提醒自己,这个世界上只有自己先相信自己,才会有赢得别人的相信。
常听别人说起,总是要不断的在伤痛中成长,才能体会幸福是多么的美好。
很多时候我们渴望最简单的生活,却成为了遥不可及的奢求。
如果累了,蹲下来抱抱自己 ,依然可以坚强倔强的对自己说:一切都会过去的。
不要太在意别人怎么看自己,最重要的是自己如何看待自己。
有人说幸福是一种感觉,不是你拥有多少,也不是说谁比谁幸福,因为幸福是无法比较的。
当你失去一段感情会心痛,心痛过后你才会发现,失去的不是他而是心中的一种依赖。
爱到向相反方向走时,你必须学会放手,最后才能明白是否它真的值得你拥有。
伤感个性签名
别跟我说"我爱你",这个谎,因为以前我也对别人撒过
我输过,但我没怕过;我败过,但我没放弃过
要理想不要幻想,要激情不要矫情。凡事知足常乐。
我们一直在寻觅,寻觅,那个我们都有的结局。
从蛹破茧而出的瞬间,是撕掉一层皮的痛彻心肺.
伤感个性签名:是我勇敢太久,决定为你一个人而活。
每个人都是一个国王,在自己的世界里纵横跋扈
就在那一瞬间,我仿佛听见了全世界崩溃的声音。
谁都不想辜负的人,最后很可能会辜负自己。
在别人眼里,天空是蓝色的,可在我眼里,它是灰色的
天空的飞鸟,是你的寂寞比我多,还是我的忧伤比你多?
最美的不是那个和迩一起避雨的屋檐,而是那个下雨天
QQ个性签名:说忘记就忘记的,恐怕是没有真正的爱过
其实,一个人的改变真的很容易,但有些事有些感觉,却是无论如何也改变不了的
搞笑个性签名
习惯微笑示人,所以没有人会知道我的悲伤
当我们踏上了那个无前无后无左无右的人生路的时候,就再也没有了退路。
无论多么美好的过去,未来的路没有更多的你。
这一次我真的失去了失去了自己没有力气站起来
你说会永远陪着我,没想到这么快就把我变成过去式
妹子,总喜欢穿最美的裙子,去见我浪漫的王子。
一个个伤心的苍凉
苦涩和绝望的事情你永远也不会感受到了
小女人做些小女人该做的事情,把自己搞的美点,把家搞的干净点,把孩子搞的有素质点。
生活里机遇与挑战并存,你需要做的就是,时刻准备着。
我的青春,对于那些虚无缥缈的东西,后悔也来不及了
我们的爱就像海浪一波一波
难以失去难以忘怀,也难以去释怀那段慯。
你离开,我也不在乎,只是爱自己的心,一次又一次的伤害
真的很有趣,现在自己喝醉了,也不知道喊出谁的名字
用白水般的平淡,来度过逝水的年华。
整日的活在你自己的狭小空间里,活在你自己的时代里,你能成长吗?
女人多一点的时间花在充实自己和打扮自己上吧,不要傻傻的抓住男人,没有用的.
你知道为什么郑秀晶的手那么好看吗? 因为她没有写过中国作业.. 我一直觉得女生穿帆布鞋比穿高跟鞋更性感. 你看我是歌手吗 不是
我拥有粗壮的大腿恩对
麻麻说,我叛逆期怎么整她,她更年期就怎么整我。
几乎所有的语音视频通话都是手误
好惨 媳妇突然出现在我面前 本来好开心的 但是后来想到 我刚刚才吃完榴莲 && 你别对其他女孩笑 那样特别丑 搞笑个性签名大全
这人呐,越丑越穷找到的越是真爱
如果蚊子不吸血,改行抽脂肪,那它会是多么可爱的小生命
情敌掉水怎么办我会跳下去原来你那么善良不是 我会在他面前游来游去
最讨厌别人偷拍了,偷拍也就偷拍吧,还拍最猥琐的动作,关键是还没用美颜相机
每个近视眼的悲哀:脱掉眼镜世界就是个平面,米开外雌雄同体,米人畜不分. 别不好意思拒绝别人 反正那些好意思为难你旳人也不是什么好人
都说炫舞里面的人物身材好,我告诉你,你要是天天那么蹦跶你也瘦。
推荐阅读:
个性签名设计(推荐9篇)01-14
在线个性签名设计(共9篇)07-20
个性签名系统(通用7篇)02-05
基于大数据技术的个性化在线教育系统设计05-12
个性签名励志05-31
个性签名网12-08
qq个性网个性签名励志(推荐6篇)07-19
孤单伤感个性签名男生05-24
心累伤感个性签名05-24
微信个性签名摘抄05-31