ElGamal数字签名方法
基于环Zn上圆锥曲线的ElGamal数字签名方案
自从 D fe He ma _提 出公钥 密码体制 以来 , i i与 f l n1 l ] 至今 已 经形成较 为系统的公钥密码 学 , A 与 EG ma 是两个 比较 RS Ia l 完善 的公钥 密码算 法_ ] 2 。其 中 EGa l I ma 公钥 体 制是 E G — I a
( ,) 即同余方程 ( ) n6( 1的解集 ) : 为
G ( ,) {z, E × I 三n b ( d } n 6 一 ( ) 三 z - x mo ) 三
首先以坐标方式给 出 C ( ,) n 6 中全部有理点 的表示 : 。 ]
C ( ,) t 2 n 6 一C c U UG UO,
维普资讯
计算机科学 2 0 Vo. 4 Q 6 0 7 13 N.
基 于环 上 圆锥 曲线 的 E Ga l 字 签 名 方 案 ) I ma 数
杨 慧 肖国镇
( 西安 电子科 技 大学 IN 国家 重点 实验 室 信息保 密研 究所 西安 70 7 ) S 10 1
Ab ta t S m eb scp o e t so o i sr c o a i rp ri fc nc ( 6 o e h e iu ls ig e n, ) v rt er sd eca srn a ep e e td Th Ga ldgt l i— r r sn e . eEI ma iia g s n t r c e n C ncC ( 6 v rt er sd eca sr g au es h meo O i n, )o e h e iu ls i i e in ea d i u rcs uaini o e n Sd sg el n t n me i i lt Sd n .Co pe s m o m r— h n iey u ig t edfiut si a trzn ag tg ra d c mp t gd srt o aih .t esc rt fti ii l e sv l sn h i c li n fco iig lr ei e e n o u i ic eelg rtm f e n n h e u i o hsdgt y a sg au esh mei n ra e F rt efcl y o litx mb d i n h o u i frn n on n c nc in t r c e ice sd o h a it fpane te e dn a d tec mp t o a ka d p it o i . i g g n o ( 6 ,hssh meh st ea v n a e fs e d p rto n a yr l a in,s eil yu i h n, ) t i c e a h d a tg so p e y o eain a de s e i t a z o e p cal b sn teNAF y g . Ke wo d C ni c r eo e ,EI ma i i lsg a u e s h m e y rs o c uv vr Ga l g t in t r c e ,Nu e i i l t n,NAF d a m rc smu a i o
基于椭圆曲线的ELGamal数字签名方案
1 引言
2 0世 纪 8 0年 代 中期 ,Mie 和 Kolz2将 椭 圆 曲线 引 进 了 密 码 学 中 ,人 们 对 其 做 了 lr l bi _ t
伍 红 梅 : 于 椭 圆 曲 线 的 ELGa 基 ma l数 字 签 名 方 案
f
, ≠Q P
其 A J2。 中 : 【 一
,
(2 2) .
P :Q
() F2 2 G ( )上 的 椭 圆 曲线 非 超 奇 异椭 圆 曲线 E( b ( F( ) n, ) G 2 )定 义 为满 足 方 程 Y +x : +0 +6的点 ( Y y , ) ∈ G P)XG P) 无 穷 远 点 0的 集 合 , , F( F( 和 口 b∈ G 2 )且 b≠ 0 这 些 点 在 如 下 定 义 的加 法 F( , 下 构 成 一 个 阿 贝尔 群 , 等元 为 0。 恒 P和 Q是 E( , ) C 2 ) 口 6 ( F( )上 的 两点 , 果 P = 0则 一尸 如
L = A( , , l— )一Y 3 1
f1 2) .
收 稿 日期 :2 1 — 0 — 0 00 1 5
作者 简 介 :伍 红 梅 ( 9 3 ) 1 8 一 ,女 ,籍贯 四川 ,研 究 方 向密 码 学 。
・
4 ・ 4
楚 雄 师 范 学 院 学 报 2 0年 第 3期 01
大量 的研 究工 作 后 ,建立 了椭 圆 曲线 公 钥 密 码 体 制 。它 是 一 种基 于 椭 圆 曲线 离 散 对 数 问题
eclipse实现ElGamal数字签名
eclipse实现ElGamal数字签名ElGamal数字签名,供⼤家参考,具体内容如下⼀、实验⽬的学习ElGamal算法在数字签名⽅⾯的使⽤,掌握教科书版本的ElGamal数字签名算法的编写,掌握ElGamal加密算法和ElGamal数字签名算法的异同。
⼆、实验要求1.熟悉ElGamal数字签名算法。
2.掌握如何使⽤Java BigInteger类,简单实现教科书式的ElGamal公私钥签名算法。
3.了解ElGamal加密算法和ElGamal数字签名算法的异同。
三、开发环境JDK 1.7,Java开发环境(本实验采⽤Windows+eclipse作为实验环境),要求参与实验的同学按照对称加密提供的⽅法,提前安装好JDK。
四、实验内容【1-1】ElGamal签名算法的实现1.实现公私钥⽣成算法:根据教材,ElGamal公私钥⽣成算法⾸选需要选取⼀个⼤素数,然后选取作为其⽣成元。
接着随机选取私钥,计算作为其公钥。
因此,可写代码如下:public void initKeys() {System.out.println("choose a prime p with securitylevel "+ securitylevel + " , please wait ...");p = new BigInteger(securitylevel, 100, new Random());System.out.println("p : " + p);g = __randomInZp();System.out.println("g : " + g);x = __randomInZp();System.out.println("x : " + x);y = g.modPow(x, p);System.out.println("y : " + y);}其中,__randomInZp定义如下函数,实现从中随机选取⼀个⼤整数:public BigInteger __randomInZp() {BigInteger r = null;do {System.out.print(".");r = new BigInteger(securitylevel, new SecureRandom());}while(pareTo(p) >= 0);System.out.println(".");return r;}2.实现签名算法:ElGamal签名算法需要随机选取,同时计算此时,即为签名。
数字签名概述
数字签名概述091120112 扈钰一、引言政治、军事、外交等活动中签署文件, 商业上签定契约和合同以及日常生活中在书信、从银行取款等事务中的签字, 传统上都采用手写签名或印鉴。
签名起到认证、核准和生效作用。
随着信息时代的来临, 人们希望通过数字通信网络进行迅速的、远距离的贸易合同的签名,数字或电子签名法应运而生,并开始用于商业通信系统, 诸如电子邮递、电子转帐、办公室自动化等系统中。
由此,能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。
数字签名是电子签名技术中的一种,两者的关系密切。
目前电子签名法中提到的签名,一般指的就是"数字签名"。
数字签名与传统的手写签名的主要差别在于:(1)签名:手写签名是被签文件的物理组成部分,而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。
(2)验证:手写签名是通过将它与其它真实的签名进行比较来验证,而数字签名是利用已经公开的验证算法来验证。
(3)签名数字消息的复制品与其本身是一样的,而手写签名纸质文件的复制品与原品是不同的。
二、数字签名的含义及作用数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
数字签名主要有以下几个作用:1、收方能确认或证实发方的签字,但不能伪造;2、发方发出签名后的消息,就不能否认所签消息;3、收方对已收到的消息不能否认;4、如果引入第三者,则第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。
三、数字签名原理数字签名采用了双重加密的方法来实现防伪、防赖。
通过一个单向函数对要传送的报文进行处理,得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
ELGamal算法
实例解析: p=19; a=13,d=10,a与d均小于 p,符合条件; y = 13^10(mod19)=6; 公钥:y=6 a=13 p=19 私钥:d=10
签名过程: 1.随机选取一个数k,1< k<p-1,且k和p-1互质 2、计算r,r满足:r≡a^k (mod p) 3、待签名信息为m, 计算s≡(m-dr)*(k^(1)) (mod p-1) (r,s)构成对m的签名
一个群被称为有限群,如果它有有限个元素。元素 的数阶叫做群 G 的阶 例如,模19下7的阶为3,[1, 7, 49, 343, 2401, 16807, 117649, 823543, 5764801...]={1,7,11,1,7,11,1,7,11...}这里的 1,7,11循环,实际只有3个元素
群是一个集合G,连同一个运算 "· ",它结合任何两个元素 a 和 b 而形成另一个元素,记为 a · b。符号 "· " 是对具体给出的运算,比如加 法的一般的占位符。要具备成为群的资格,这个集合和运算 (G, · ) 必须 满足叫做群公理的四个要求: 1.封闭性。 对于所有 G 中 a, b,运算 a · b 的结果也在G 中。 2.结合性。 对于所有 G 中的 a, b 和 c,等式 (a · b) · c = a · (b · c) 成立。 3.单位元。 存在 G 中的一个元素 e,使得对于所有 G 中的元素 a,等式 e · a = a · e = a 成立。 4.反元素。 对于每个 G 中的 a,存在 G 中的一个元素 b 使得 a · b = b · a = e, 这里的 e 是单位元。
数字签名97194
三、利用ELGamal密码实现数字签名
⑶ 验证签名
• 安全性
• 如果k重复使用,如用k签名m1和m2。于是, m1=xr+ks1 mod p-1, m2=xr+ks2 mod p-1,
于是,(s1-s2)k=(m1- m2) mod p-1 如果知道了m1和m2,便可求出k,进而求出保密的解密钥。 • 由此可知,不要随便给别人签名。 • 不要直接对m签名,而是对HASH(m)签名。
五、盲签名
• 接收者首先将待签数据进行盲变换,把变 换后的盲数据发给签名者。
• 经签名者签名后再发给接收者。 • 接收者对签名再作去盲变换,得出的便是
签名者对原数据的盲签名。 • 这样便满足了条件①。要满足条件②,必
须使签名者事后看到盲签名时不能与盲数 据联系起来,这通常是依靠某种协议来实 现的。
其中,p为大于3素数,p确定了有限域GF ( p ) ; 元 素 a,b∈GF(p),a 和 b 确 定 了 椭 圆曲线;G为循环子群E1的生成元,n为素 数且为生成元G的阶,G和n确定了循环子 群E1。
y2=x3+ax+b mod p
四、利用椭圆曲线密码实现数字签名
d为用户的私钥,公开钥为Q点,Q=dG 。
数字签名97194
三、利用ELGamal密码实现数字签名
⑵ 产生签名
设明文消息m加签名,0≤m≤p-1,其签名过程如 下:
• 用户A随机地选择一个整数 k,1<k<p-1,且 (k,p-1)=1;
• 计 mod p-1
• 取(r,s)作为m的签名,并以<m,r,s>的形式
故签名可验证。
三、利用ELGamal密码实现数字签名
⑶ 验证签名
L001001023-ELGamal签名实验
课程编写类别内容实验课题名称ELGamal签名实验实验目的与要求了解并熟练掌握ELGamal签名实验环境VPC1(虚拟PC)操作系统类型:windows xp,网络接口:本地连接VPC1连接要求PC 网络接口,本地连接与实验网络直连软件描述1、学生机要求安装java环境2、vpc安装windows xp实验环境描述1、学生机与实验室网络直连;2、VPC1与实验室网络直连;3、学生机与VPC1物理链路连通;预备知识Elgamal算法:(1)密钥的选择:选P是一个大素数,P-1有大素数因子,a是一个模P的本原元,将P与a公开。
用户随即地选择一个整数X作为自己的秘密的解密钥,1<x<=p-2.计算 y = a^x ( mod p ),取y为自己的公开加密钥。
(2)产生签名设明文消息m加签名,0<=m<=p-1,其签名过程如下:用户a随即选择一个整数k,1<K<P-1,且(k,p-1)=1;计算r= a^k( mod p )计算s= (m-xr) /k mod p -1取(r,s)作为m的签名,并以<m,r,s>的形式发给用户B。
(3)签名验证用户B接收:< m,r,s>用户B用A的公钥验证:a^m =y^r *r^s ( mod p )是否成立,若成立则签名为真,否则签名为假。
签名的可验性可证明如下:因为s= (m-xr)k^-1 mod p-1所以m = xr+ks mod p-1故a^m=a^(xr+ks) = (a^x) r*( a^k ) ^s =y^r *r^s mod p故签名可验证。
(4)安全性ElGamal签名的安全性依赖于乘法群(IFp)* 上的离散对数计算。
素数p必须足够大,且p-1至少包含一个大素数因子以抵抗Pohlig & Hellman算法的攻击。
M一般都应采用信息的HASH值(如SHA算法)。
ElGamal的安全性主要依赖于p和g,若选取不当则签名容易伪造,应保证g对于p-1的大素数因子不可约。
基于ElGamal型改进的数字签名方案
的 伪 造 或 抵 赖 , 够 增 强 系 统 的有 效 性 和 安 全 性 , 而 在 上 述 算 法 中 能 然 5散 列 函 数 算 法 和 S 一 HA 1散列 函数 算 法 , 已被 来 自 中 国 11 初 始 化 过 程 :设 P是 一个 大 素 数 , . q是 P的 一 个 大 素 因子 ,整 数 所 用 到 的 MD 这 g∈Z 且阶为 q 即 ;l 4 。 p, , mo 系统用户中用户 A的私钥为 x1x p 山东 大 学 的 王小 云教 授 理 论破 解 , 样 就 会 对 数 字 签名 系统 的安 全性 o (<< 一
21 00年
第2 5期
S I N E&T H L YIF MA I N CE C EC NO OG OR TO N
O高校讲坛 。
科技信息
基于 E Ga l I ma 型改进的数字签名方案
齐桂 霞 ( 阳师 范
【 摘 要 】 着 计 算机 网络 技 术 的快 速 发 展 , 息安 全 问题 日益 突 出 , 核 心技 术基 础 之 一 的 数 字签 名 技 术 , 广 泛地 应 用于 军 事 、 随 信 其 被 通信 、 电
【 关键词】 数字签名; 离散对数; 散列 函数
EG m l 法 既 可 用 于 数 字 签 名 , 可 用 于加 解 密 , 安 全 性 依 Ia a 算 也 其
又 因 为 F , 以解 这 四个 方 程 可 以得 到 : 所
赖 于计 算 有 限 域 上 离 散 对 数 的 困 难性 上 。 18 9 5年 ,l a l 于离 散 EG ma 基 :mtS r s- ( S 3 n m ̄S(ls , 3r:s)n d, 1。 2+  ̄i 3 ar2+ 一】s 2 o (一 ) ) s 3 r ̄ 一 / 对数 难 题 提 出 一种 数 字 签 名 方 案 , 为 EG m l 字 签 名 方 案 【】 称 Ia a 数 l。从 3 EGa l 字 签 名 方 案 的缺 陷 I ma 数 此 . 种 基 于 离 散 对 数 问题 的 数 字 签 名 方 案 不 断 涌 现 , 括 许 多 关 于 各 包
公钥密码体制中基于离散对数的ELGamal数字签名方案
信息安全与密码学院:数学与统计学院专业: 数学与应用数学班级:12级数应(3)班姓名:田佳学号: 20121010357信息安全与密码知识点总结第一章信息安全概论§1 信息安全的目标§1.1 信息系统中的主要安全问题1、网络可靠性问题(备份,网络管理,计费等)2、系统本身的缺陷(芯片、操作系统,数据库后门等)3、恶意攻击和破坏(黑客攻击,病毒破坏等)4、信息安全问题(信息窃取,假冒,抵赖等)网络与信息安全的主要任务(1)网络安全的任务:保障各种网络资源稳定可靠的运行,受控合法的使用。
(2)信息安全的任务:保证:机密性、完整性、不可否认性、可用性(3)其他方面:病毒防治,预防内部犯罪§1.2 我国信息安全的现状§1.3 信息安全威胁信息安全威胁:指某个人、物、事件或概念对信息资源的保密性、完整性、可用性或合法使用性等等所造成的危险。
虽然人为因素和非人为因素都可以对通信安全构成威胁,但是精心设计的人为攻击威胁最大。
网络安全性威协:(1)截获(interception)(2)中断(interruption)(3)篡改(modification)(4)伪造(fabrication)主动与被动攻击被动攻击:目的是窃听、监视、存储数据,但是不修改数据。
很难被检测出来,通常采用预防手段来防止被动攻击,如数据加密。
主动攻击:修改数据流或创建一些虚假数据流。
常采用数据加密技术和适当的身份鉴别技术。
网络安全攻击截获:以保密性作为攻击目标,表现为非授权用户通过某种手段获得对系统资源的访问,如搭线窃听、非法拷贝等中断:以可用性作为攻击目标,表现为毁坏系统资源,切断通信线路等篡改:以完整性作为攻击目标,非授权用户通过某种手段获得系统资源后,还对文件进行窜改,然后再把篡改过的文件发送给用户。
伪造:以完整性作为攻击目标,非授权用户将一些伪造的、虚假的数据插入到正常系统中§1.4 常见的安全威胁信息泄露,破坏完整性,拒绝服务,非法使用,窃听,业务流分析,假冒,旁路控制,授权侵犯,特洛伊木马,陷阱门,抵赖,重放,计算机病毒安全威胁分类物理环境:自然灾害 ,电源故障、设备被盗通信链路:安装窃听装置或对通信链路进行干扰网络系统:互联网的开放性、国际性操作系统:系统软件或硬件芯片中的植入威胁应用系统:木马、陷阱门、逻辑炸弹管理系统:管理上杜绝安全漏洞§1.5 信息安全基本要素机密性,完整性,可用性,可控性,可审查性§1.6 信息安全的目标安全工作的目的就是为了在安全法律、法规、政策的支持与指导下,通过采用合适的安全技术与安全管理措施,完成:1,使用访问控制机制,阻止非授权用户进入网络,即“进不来”,从而保证网络系统的可用性。
新的ElGamal型广播多重数字签名方案
[ b ta t l fh xsn 1 ma tp rac sn ii l ls n tr ce s a ea rbe Da h udb xhn e n me A src]Alo ee iigEGa ly ebod at gdgt ti aueshme v o lm: t so l eec ag dmayt s t t i a mu ig h p a i
要 :目前 , 所有 的 EG ma型广播 多重数字签名方案都存在一个问题 : 1a l 签名 时需要签名者之 间或签名者与签名收集者之间交换 多次数
据以获取 同一签名参数 ,从而导致系统的通信量增大 ,且易受攻击 。该文 给出了一种新 的基于 离散对数 问题 的广播多重数字签名方案。该 方案不需 要签名者在签名 时多次交换数据以获 取同一参数 ,因此具有更高 的实 用性和安全性 。 关黼 :数字签名 ;多重签名 ;广播 ;EG m l 1a a
者把 和 =( m d ) o q都发送给所有 的签名者和验证 占 o pm d
G () Fp的本元。 01 - () ,}-GFp是一个单 向 hs - > ah函数 。每一
位签名者 U( ,,…, 任意选取 X 1 一】 i 2 l ) i ,1 E[ p 作为 的私钥 , 并计算 Y=g o p作为 的公钥 。 m d 系统将 P gy( l , n , , i= , …, i 2 ) 和 h作为公 用参 数公开 。
为签名验证 者,U ,U ,…, l 2
为签名收集者 。选取一个大素数 P g是 ,
献[】 3根据一种安全的 EG ma 型数字签名 ,设计 了一种多重 1a l 数字签名方案,这种 方案只适用于 广播 多重数字签名 ,不能 用于有序多重数字签 名。文 献[】 4 以美 国数字签 名标准 DS A 为基础 ,设计 了一种广播多重数字 签名 ,但它要求每个签名
elgamal公钥密码体制
elgamal公钥密码体制(原创实用版)目录一、概述二、ElGamal 加密算法原理1.公钥和私钥生成2.加密过程3.解密过程三、ElGamal 数字签名方案1.签名过程2.验证过程四、ElGamal 算法的安全性五、总结正文一、概述ElGamal 公钥密码体制是一种基于离散对数问题的非对称加密算法,由 Taher ElGamal 于 1985 年提出。
该算法采用公钥加密和私钥解密的方式实现数据传输的安全性,同时提供了数字签名方案以确保数据的完整性和真实性。
二、ElGamal 加密算法原理1.公钥和私钥生成在 ElGamal 加密算法中,首先需要生成一对密钥,包括公钥和私钥。
公钥用于加密,私钥用于解密。
公钥的生成过程如下:- 选择一个大素数 p。
- 在模 p 意义下找到一个生成元 g。
- 计算 y = g^x mod p,其中 x 是随机数,范围在 1 到 p-1 之间。
- 公钥为 (y, g, p)。
私钥的生成过程如下:- 选择一个随机数 x,范围在 1 到 p-1 之间。
- 计算私钥 x。
2.加密过程加密过程分为以下几个步骤:- 获取接收方的公钥 (y, g, p)。
- 将明文消息 m 分组,使得每个分组对应的十进制数小于 p,即分组长度小于 p。
- 对每个明文分组分别加密,加密方式为:c1 = m^x mod p,c2 = (c1 * g) ^ x mod p。
- 将加密后的分组 c1 和 c2 按顺序发送给接收方。
3.解密过程解密过程分为以下几个步骤:- 计算 c1x,mod p 的逆元。
- 用逆元乘以 c2,得到明文 m。
三、ElGamal 数字签名方案1.签名过程在 ElGamal 数字签名方案中,签名过程分为以下几个步骤:- 获取消息 m 和发送方的公钥 (y, g, p)。
- 随机选择一个私钥 x,范围在 1 到 p-1 之间。
- 计算签名 s = (m * x) ^ y mod p。
一类ELGamal数字签名方案的安全性分析
5 1 48
科
学
技
术
与
工
程
1 0卷
r gY ( dp , = “ mo ) s =一 ( dP一1 , mo )
杂凑 函数 , 当 于 给要 签 名 的消 息 增 加 了 “ 相 可识 别
机制” 可有效抵抗存在性伪造攻击。证明如下: :
若在 带杂凑 函数 的三元 组 EG m l 1a a 签名 方案 中 使 用存在 性伪 造攻击 , 必须 找 到一 个 u 使 得下 面 、,
案 。本 文给 出对这 类 签 名 方案 的安 全 性攻 击 方 法 ,
计算 Y gr d , = o P 公开密钥是 Y g和 P o , 。秘密密钥
是a 。用 户 A对 待签 名消 息 m签 名 , 须 进行 如 下 必 步骤 :
指 出该类 签名 存 在安 全稳 患 。此 外 , 章 深人 分 析 文 了杂凑 函数在 E G ma签 名 体 制 中 的作用 , La l 总结 了
⑥
2 1 SiT c. nn 00 c eh E gf .
一
类 E G ma 数 字 签 名 方案 的安 全 性 分 析 L a l
夏 峰 冯建 平 张 瑜
( 海南师范大学信息科学技术学院 , 口 5 15 ) 海 7 8 1
摘
要
对 一类原子原型 的 E G ma 签名 变形方案进行有效 的存 在性 伪造攻 击, 出该类 方案在 实用 中不 可取 。根据方 案 La l 指
攻击。 1 1 曲方 案 .
个 变型 【 , 方 案 中使 用 杂 凑 函 数 , 大 地 缩 短 2在 ] 极
素数 域 的元 素 的 表示 。其 修 正形 式 已被 美 国 NS IT
ELGamal数字签名技术的研究
ELGamal数字签名技术的研究摘要计算机网络的产生把我们带进了一个信息化的社会。
当前,计算机网络的安全问题日益突出,网络给我们带来便利的同时,网络安全的形式不容乐观,已严重威胁到人们正常的生活,甚至威胁到国家安全。
网络安全的实质是信息安全,信息安全技术的核心之一是数字签名技术。
如何在信息传输的过程中保证信息的安全性和真实性,这是数字签名技术所要研究的重要问题。
数字签名可以解决否认、伪造、篡改、冒充问题。
使用数字签名技术使得发送者发送的时候不能否认发送的报文签名,接受者不能伪造发送者的报文签名,即网络中的某一用户不能冒充另一用户。
ELGamal数字签名作为一种重要的签名手段与一般公钥密码体制签名方法的不同之处,是具有高安全性和实用性。
本文介绍了ELGamal技术的基础知识以及它的推广并与RSA算法做一对比,得出ELGamal有着很大的优越性。
最后阐述了基于ELGamal体制盲签名、代理签名以及多重数字签名。
关键词密码学,信息安全,RSA, ELGamalABSTRACTComputer network produces have brought us into a information society. At present, the computer network security problem increasingly, network brings us convenient at the same time, network security is not optimistic, and the form of already a serious threat to people's normal life and even threaten national security. Network security is the essence of information security, information security technology is one of the core password techniques. How in the process of information transmission assurance information security and authenticity, this is digital signature technology to research the important problem. Digital signature can be solve deny, forgery, falsify or pretend to be problems. Using digital signature technology makes the sender can deny that send message when recipients can't forged signatures, and the sender's message signatures, namely a network of users don't pretend to be another user.ELGamal digital signature method and general public key cryptosystems signature method, is the differences with high safety and practicality. This paper introduces the basic knowledge of ELGamal technology and its promotion and comparison with RSA algorithms, it is concluded that the ELGamal has great advantages. Finally lists the ELGamal signature technique based on other signature scheme.Key Words:Cryptograph, Information Security, RSA, ELGamal目录1. 绪论 (1)1.1研究背景及意义 (1)1.1.1信息安全的重要地位 (1)1.1.2密码理论在信息安全中的重要作用 (2)1.2数字签名技术的作用 (3)1.3 数字签名原理 (4)1.4 数字签名的功能 (6)1.5 数字签名技术的应用 (7)2.基本概念 (8)2.1 数论 (8)2.1.1因子 (8)2.1.2.素数 (8)2.1.3.模运算 (8)2.1.4本原元 (9)2.2 复杂度理论 (9)2.2.1.问题的复杂性 (9)2.2.2算法的复杂性 (10)3.基于ElGamal 算法的数字签名方案 (11)3.1数字签名定义 (11)3.1.1 形式化定义 (11)3.1.2 数字签名的安全性 (12)3.1.3数字签名的攻击 (13)3.2 离散对数签名方案 (13)3.2.1有限域(p)GF (13)3.2.2离散对数问题 (14)3.3 ELGamal数字签名 (14)3.3.1 ELGamal签名方案 (14)3.3.2 ELGamal签名方案的变形 (15)3.3.3.ELGamal签名体制与其变形的比较 (18)3.4 ELGamal算法与RSA算法的性能比较 (20)4.基于ELGamal数字签名体制的其它签名方案 (22)4.1基于ELGamal体制的盲签名方案 (22)4.1.1过程 (22)4.1.2.性能分析 (23)4.2基于ELGamal体制的代理签名方案 (24)4.2.1 签名过程 (25)4.3基于ELGamal体制的多重数字签名方案 (26)4.3.1基于ELGamal体制的广播多重数字签名 (26)4.3.2基于ELGamal体制的有序多重数字签名 (28)5.总结 (31)参考文献 (33)答谢 (34)1. 绪论1.1研究背景及意义信息在社会中的地位越来越重要,已成为社会发展的重要战略资源。
Elgamal算法
Elgamal算法ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系一.ElGamal算法定义:ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。
既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。
在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K。
二.密钥产生方法密钥对产生办法。
首先选择一个素数p,获取一个素数p的一个原根g(若g模p的阶等于φ(m),则称a为模m的一个原根。
(其中φ(m)表示m的欧拉函数)) 和一个随机数x,且g和x 均小于p, 计算y = g^x ( mod p ),则其公钥为y, g 和p。
私钥是x。
g和p 可由一组用户共享。
ElGamal用于数字签名。
被签信息为M,首先选择一个随机数k, k与p - 1互质,计算a = g^k ( mod p )再用扩展Euclidean 算法对下面方程求解b:M = xa + kb ( mod p - 1 )签名就是( a, b )。
随机数k须丢弃。
验证时要验证下式:y^a * a^b ( mod p ) = g^M ( mod p )同时一定要检验是否满足1<= a < p。
否则签名容易伪造。
ElGamal用于加密。
被加密信息为M,首先选择一个随机数k,k与p - 1互质,计算a = g^k ( mod p )b = y^k M ( mod p )( a, b )为密文,是明文的两倍长。
解密时计算M = b / a^x ( mod p )ElGamal签名的安全性依赖于乘法群(IFp)* 上的离散对数计算。
素数p必须足够大,且p-1至少包含一个大素数因子以抵抗Pohlig & Hellman算法的攻击。
M一般都应采用信息的HASH值(如SHA 算法)。
ElGamal的安全性主要依赖于p和g,若选取不当则签名容易伪造,应保证g对于p-1的大素数因子不可约。
ELGamal数字签名
摘要随着网络的发展,人们之间的各种交流变得越来越来方便,但同时也对信息传递的安全提出了新的要求,数字签名随之广泛的深入到了人们的日常生活中。
ELGamal作为目前应用比较广泛的数字签名算法,其信息安全性,以及可实现程度,在很大程度上决定了它的应用范围。
本文主要对ELGamal数字签名体制中的签名和认证过程中所需的模块,以及用户如何由离散对数难题保证了签名的正确性进行了必要的描述。
接下来对ELGamal数字签名安全性以及他在基于身份认证中的应用做了一定介绍。
论文重点是对密码算法前提的大整数运算算法做了进一步研究,对大素数的生成,其中包括素性测试和随机数生成算法原理做了一定介绍,然后介绍了乘法群的生成元的生成原理,论文最后将系统介绍签名过程。
关键词:ELGamal数字签名验证大整数运算大素数生成元ABSTRACTWith the development of network, the communions between people become more and more convenient, but also it brings forward the new security requirements of in-formation transfer. Digital Signature goes into the people's daily life along with these processes.As one of the most widely used Digital Signature, the application of the ELGamal Signature is largely depend on his information security and the operation process. In this paper, we will discuss the process of the ELGamal Signature and the attestation. One can check his authorization of the sign which rely on the problem of the discrete logarithm. And then we will analyze the security of the signature. The application the ELGamal signature in the ID-BASE system will also be discussed. The key part of this paper is to introduce the concept the large integer. The arithmetic of the large in-teger is crucial in most cryptosystems.As to the construction of a large prime inte-ger,we will discuss the method to construct a Random Number and the primality test.Then the high-order-cycle generator method for the formation of the foundation will introduced too.In the last part of the paper,we will go through the process of the ELGamal Signature.keywords: ELGamal Digital Signature authorization large Integer large Prime Number generator目录错误!未定义书签。
ElGamal签名方案的分析与改进
ElG签名方案的分析与改进【作者】:姓名:李周洲 学号:5342010023【内容摘要】通过对ElGamal 签名方案的描述,分析出ElGamal 签名体制的不安全怕,并可以使用伪造攻击方法对其进行攻击,提出使用该体制的几种失败可能。
对其进行了一些改进,提高其安全性。
【关键词】:ElGamal 体制 ;ElGamal 签名方案;安全性分析;伪造攻击【正文】:一、ElGamal 算法理论基础: (1)背景ElGamal 签名体制是由 ElGamal 在1985年提出的。
是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。
既能用于数据加密也能用于数字签名其修正形式已被美国NIST 作为数字签名标准DSS,同时它又是Rabin 体制的一种变形。
(2)算法定义 ElGamal 签名方案像ElGamal 公钥密码体制一样是非确定性的,这就意味着对任何给定的消息,有许多个有效的签名,验证算法必须能接受合法的有效签名中的任何一个,其安全性依赖于计算有限域上离散对数这一难题。
在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K 。
(3)密钥生成系统选取大素数*,p p g Z ∈一个本原元,p 和g 公开。
用户随机选取整数x , 12k p ≤≤-,计算m od x y g p =。
y 是公开的密钥,x 是保密的密钥。
(4)签名变换设*pm Z ∈等签名的消息,用户秘密随机选取一个整数k ,12k p ≤≤-,且k 与1p -互素,对消息m 的签名为*1()(,)p p Sig m r s Z Z -=∈⨯,其中m o d k r g p =, 1()mod(1)k s m xr p -=--。
(5)签名验证对于*1(,)pp r s Z Z -∈⨯,如果r s xr ks m y r g g g ==,则确认(,)r s 为用户对消息m 的有效签名。
ELGamal型数字签名方案及其应用研究
ELGamal型数字签名方案及其应用探究摘要:随着信息技术的飞速进步,数字签名作为确保数据完整性和身份身份认证的重要手段,在信息交互和电子商务中扮演着至关重要的角色。
本文将介绍。
起首,我们将对ELGamal型数字签名方案的基本原理进行阐述,包括密钥生成、签名过程和验证过程。
其次,我们将谈论ELGamal型数字签名方案的优点和缺点,以及与其他数字签名方案的比较。
最后,我们将介绍ELGamal型数字签名方案在电子商务、电子政务和区块链等领域的应用探究进展,并展望其将来的进步前景。
1. 引言随着信息技术的迅猛进步,社会各个领域对数字化信息的需求不息增加。
然而,数字化信息的传输和存储往往带来了数据完整性和身份身份认证的问题。
为了解决这些问题,数字签名技术应运而生,成为保证信息安全的一种重要手段。
数字签名不仅可以确保数据的完整性,还可以维护身份的真实性和不行否认性,从而保卫用户的利益。
2. ELGamal型数字签名方案的基本原理ELGamal型数字签名方案是一种基于离散对数问题的公钥密码学方案。
其基本原理是利用离散对数问题的难解性,保证了签名的安全性和不行伪造性。
详尽来说,ELGamal型数字签名方案包括密钥生成、签名过程和验证过程三个主要步骤。
起首,密钥生成阶段,签名者生成一对公钥和私钥。
公钥用于验证签名的有效性,私钥用于对消息进行签名。
其次,签名过程,签名者使用私钥对消息进行加密,并生成数字签名。
最后,接收者使用公钥对签名进行解密并验证签名的有效性。
3. ELGamal型数字签名方案的优缺点ELGamal型数字签名方案具有以下优点:(1)具有管理灵活性:与其他数字签名方案相比,ELGamal型数字签名方案在密钥生成和签名过程中具有较高的灵活性,可以灵活选择密钥长度和签名方案参数。
(2)具有较高的安全性:ELGamal型数字签名方案基于离散对数问题,经过合理的参数选择和适当的计算复杂度,可以提供较高的签名安全级别。
elgamal数字签名实验报告
elgamal数字签名实验报告篇一:数字签名第一次实验报告数字签名实验实验环境ISES客户端Microsoft CLR Debugger 2005或其它调试器实验步骤一、RSA-PKCS签名算法签名及验证计算进入实验实施,默认选择即为“RSA-PKCS”标签,显示RSA-PKCS签名实验界面。
选择明文格式,输入明文信息。
点击“计算SHA1值”按钮,生成明文信息的散列值,如图所示。
选择密钥长度,此处以512bit为例,点击“生成密钥对”按钮,生成密钥对和参数。
选择“标准方法”标签,在标签下查看生成的密钥对和参数,如图所示。
标准方法签名及验证点击“标准方法”标签下的“获得签名值”按钮,获取明文摘要的签名值,签名结果以十六进制显示于相应的文本框内;点击“验证签名”按钮,对签名结果进行验证,并显示验证结果;上述过程如图所示。
扩展实验设置签名系统参数①直接点击“测试素性”按钮,使用系统初始预设的RSA参数,如图所示。
图①点击“生成pq”按钮,系统会自动产生2个大素数。
然后,点击“测试素性”按钮,再次确认其素性,如图所示。
图注:这个过程比较费时,可能要花费几分钟。
注册用户①在“用户名”文本框中输入一个“注册用户列表”中未出现的用户名,如“alice”,点击“注册”按钮,如图所示。
图②在“用户注册”窗口,点击“密钥测试”按钮,系统会为该用户生成一对公私钥,如图所示。
图注:这个过程比较费时,可能要花费几分钟。
③点击“密钥登记”按钮,主窗口的“注册用户列表”中就会出现一个新的用户信息。
如图所示。
图④重复上述过程,产生不少于2个注册用户,如图所示。
图在“主窗口”中,点击“数字签名”,进入“数字签名”窗口,如图所示。
图确定签名方。
在“签名方基本信息”中的“用户名UID”文本框中输入一个已经注册的用户名,然后点击“获取私钥”按钮,即得到签名方的一些基本信息,如图所示。
图注:上图中的“报文序号I”会随着该用户的签名次数而增加,防止重放攻击。
基于Visual Foxpro的EIGamal数字签名算法
基于Visual Foxpro的EIGamal数字签名算法
李淑敬;李林国
【期刊名称】《吉首大学学报(自然科学版)》
【年(卷),期】2013(034)005
【摘要】数字签名的使用越来越广泛,其主要的实现方法是公钥密码算法.E1Gamal 算法是一种比较常用的公钥密码算法,既可以用于加密又可以用于签名,具有生成速度快、签名验证简单的特点.VFP(Visual Foxpro)是一种使用比较广泛的面向对象的数据库设计系统,基于VFP的签名实现方法比较少.介绍ElGamal数字签名算法在VFP中的实现,阐述了El-Gamal数字签名算法的原理,详细介绍了算法的实现过程,最后给出在VFP中E1Gamal数字签名的实现界面.
【总页数】3页(P42-44)
【作者】李淑敬;李林国
【作者单位】阜阳师范学院信息工程学院,安徽阜阳236041;阜阳师范学院信息工程学院,安徽阜阳236041
【正文语种】中文
【中图分类】TP309.2
【相关文献】
1.EIGamal数字签名系统的一种伪签名算法及其安全性分析 [J], 邓从政
2.VisualFoxPro在数字化测绘中的应用 [J], 周蓝捷;刘玲燕
3.基于Visual FoxPro数据库学习的数字化平台的设计与实现 [J], 胡树煜;王琢
4.在Visual FoxPro系统中调用Excel实现数字语音辅助校对功能 [J], 李小军
5.植物数字化检索的Visual Foxpro解决方案初探 [J], 胡杨;李青丰;李国栋
因版权原因,仅展示原文概要,查看原文内容请购买。