石头:2229 - 371 x
利c Sanap*、Aditi Jahagirdar和米纳克希Thalor 大学信息技术部门浦那(印度浦那 |
通讯作者:利c . Sanap电子邮件:sanapvaishali@rediff.com |
相关文章Pubmed,谷歌学者 |
访问更多的相关文章全球研究计算机科学杂志》上
水印技术隐藏信息在图像包括扫描文本、数据、签名的方式很难拦截。在本文中,我们提出了一个基于小波变换的数字图像水印算法。Arnold变换和人类视觉特征用于争夺原始水印。在嵌入过程中两个副环带方向相同,但在不同的分辨率选择当载体图像是由两层小波变换分解。水印的提取过程中,通过使用嵌入的水印检测位置和尺度参数的小波分解后的水印图像和原始图像。
介绍 |
数字签名方案是一个过程,一个接收器可以验证消息的来源的真实性,同时保证其完整性。该计划是基于公钥加密系统[1],要求签名者维护两个键——一个私人(或接收),和另一个公钥;后者认为是安全维护的一个可信中心(TC),并可以在任何人身上。私有密钥是严格而又秘密地维护它的主人。文件签署的消息摘要,计算第一,紧随其后的是应用的签名算法消化利用签名者的私钥。可选地,而不是消化,整个消息可以使用,但是,使用消息的消化而不是在计算上更高效的用于签署。原始文件,生成的签名,和可选的签名者的公钥发送到接收机,重新计算消化和利用签名者的公钥验证签名。如果验证成功,消息是真实的(即它确实是申请人已发送消息),它在运输过程中没有改变。这个方案的安全在于计算求解离散对数困难问题[18],否则导致签名者的私钥的发现对应的公钥。 |
签署过程需要一个整数的一代,称为nonce或短暂的关键,必须随机或伪随机生成的,必须是唯一的,所有消息来自发送方。如果攻击者恢复的nonce用于签名的消息,也许利用伪随机数发生器用于生成的一些性质,他/她可以恢复签名者的私钥。此外,如果签名者使用相同的nonce签署两个消息,攻击者可以恢复私有密钥,即使他/她不知道使用的实际价值nonce [13] [14]。 |
数字签名标准(DSS)[2]表明两种方法生成nonce,但是容易受到晶格攻击如图所示通过各种论文[5][7][8][9],由于使用随机线性同余发生器(篮板),遭受的缺陷预测曾用来初始化它的种子。篮板的形式:f (n) = (a + b×n) (mod),, a, b,和m参数到函数。看似随机数函数返回的,因为数字序列形成一个非常大的一部分,是无法即时的比较。然而,这些参数的值可以估计是否错误地显示大量的目前。 |
现时标志,而不是随机生成,选择任意的签名者,揭示了DSA计划的另一个缺陷。存在一个阈下信道在DSA[17],通过签名者和验证者可以彼此通信秘密通过交换消息签名。因为然而目前必须是随机的,和消息,天生是——签名者必须的非随机加密消息,最好是用一次性垫,然后使用此nonce随机加密消息。应该清楚,消息的最大长度应该是现时标志的大小。接收方,另一方面应该意识到为了获得此nonce签名者的私钥,因此,该消息。 |
我们的方案生成目前安全,并不是基于线性同余数量发电机。相反,它使用密码安全的伪随机数生成器(CSPRNGs)以及附加掩蔽过程,使nonce生成过程预期的安全。本文的第二部分概括在数字签名算法的NIST的标准,其次是攻击的概述DSA在第三节,几个晶格以及non-lattice攻击,专门针对DSA的nonce生成过程。4.1节介绍了安全nonce生成算法,和部分4.2 - 4.10解释算法的关键步骤。最后在第五节中,我们总结的结果和一个非正式的安全分析算法,并实现它的优点在任何基于DSA签名生成方案。 |
数字签名算法 |
美国国家标准与技术研究院(NIST)美国政府公布的数字签名标准(DSS)在酒吧FIPS 186 - 3[2],它提出了一个算法,称为数字签名算法(DSA),数字签名的生成和验证。简要回顾下面的算法。在DSA,可信中心(TC)负责生成和发布系统参数为公共使用。 |
参数的大小 |
(L, N):这是一对素数生成系统的参数。为了我们的算法:L = 2048和N = 224。 |
系统参数 |
p: '模量,2 l - 1 < p < 2 l |
问:一个主要因子(p - 1), 2 n - 1 < q < 2 n |
g: h (p - 1) / q (mod p),在h是一个随机整数1 < h < p |
私钥和公钥 |
x:每个用户选择一个整数x作为他的私有密匙,用1 < x <问 |
y:对应于用户计算x, y = gx (mod p) |
签名的一代 |
签名者计算下列值对应一个消息m签署: |
凯西:一个秘密数字是独一无二的每个消息;k是一个整数,它是随机或伪随机生成的,在[1,q1]。(在本文档中,k被称为“强奸犯”) |
r = (gk (mod)页)(mod问) |
s = (k - 1。(H (m) + x.r)) (mod问),H (m)是一个单向的无键的哈希函数 |
两人(r, s)构成了消息的数字签名,签署了由用户x与y公钥和私钥。 |
签名验证 |
来验证签名(r, s),收件人计算: |
w = s - 1 (mod问) |
u1 = (w×H (m)) (mod问) |
u2 = (w×r) (mod问) |
r ' = (gu1×yu2 (mod)页)(mod问) |
如果r = r的签名是真实的,否则不是。 |
DSA的袭击 |
计算DSA安全的基础 |
DSA的安全性是基于求解离散对数问题的计算困难'字段和子组,它可以被证明是在随机预言模型[3],它假设哈希函数像一个随机的甲骨文,即其价值观是独立和均匀分布。是在标准的警告说,如果nonce (k)披露,秘钥可以很容易地恢复。 |
标准的篮板的不安全感 |
标准随机数生成器(篮板)通常用于生成随机比特在软件/硬件使用线性同余发生器(LCG)。其中最常用的是Knuth的LCG [15]。Belarre所示et al。[4]的秘钥DSA可以恢复,如果生成nonce Knuth的线性同余发生器与已知参数。这种攻击可以查清的,依赖于Babai近似算法[5],[6]基于微光算法。Howgrave-Graham和智能[7]表明,即使目前已知的只是部分,即只显示它的一些碎片,一个合理数量的签名,许多启发式,恢复密钥攻击是可能的。最后,阮和Shparlinski[8]提出了一种可证明的多项式时间攻击DSA在目前已知部分,在两个假设:问的大小不应太小相比,p,和哈希函数H碰撞的概率不应太大而1 / q。在这种情况下,如果一定数量的随机消息μM和随机目前k [1, q1],对日志(1/2)问k的最低有效位,然后在多项式时间内,一个是可以恢复的,签名者的密钥x。 |
安全NONCE代 |
该算法 |
我们的算法提出了增强现有签名算法与安全nonce-generation过程代替现有的方案推荐的DSS。我们的算法(算法)使用一个密码安全伪随机数发生器(CSPRNG),而不是简单的篮板额外处理来提高安全性。 |
一个简短的概述我们的算法(算法)如下: |
一)算法将两个参数作为输入;首先是签署的消息或数据(第一个2048字节,如果消息大于),存储在byte-vector M,第二个是签名者的224位私有密匙。算法首先填充和将信息划分为512位块,而224位的密钥经过两轮key-expansions生成一个512位的密钥算法适用于我们。初始key-expansion(4.2节)扩大从224位到256位。这就是所谓的部分扩展键(油漆)。第二轮扩张扩张Rijndael算法(II),(这是标准Rijndael key-expansion[10]常规执行两次),进一步扩大到512位(4.4节)。这是现在被称为完全展开关键(FEK)。 |
然后b)算法进行迭代32倍,一旦为每个512位块。在每一轮,执行以下步骤: |
我。一个不同的512位圆键生成使用CSPRNG在每一轮。 |
二世。这一轮的512位信息块接受block-substitution(4.6节,算法III)使用油漆作为键,获取Substituted-Message-Block (SMB)。Feistel网络的替代实现8轮,每一轮包括以下: |
)不同的256位圆键生成算法(IV)对每一轮使用油漆作为输入。 |
b)信息块分为两半,32个字节。一份自由和圆键然后加密算法(使用V)。 |
c)的右半边是XOR-ed加密块,最后,下一轮的数据由原来的左中场串联和当前修改的右前卫。 |
三世。SMB和圆键通过Shabal Key-Permutation计划[11]的置换操作(4.7节),获得896位输出。 |
第四。896位交换块进行压缩(4.8节,图1),后跟一个替换(4.9节)使用non-invertible盒Z(见表1)获得512位输出,称为Compressed-Permuted信息块(先锋)。 |
诉修改FEK存储位XOR的先锋和FEK的当前值。 |
c)修改的FEK使用HMAC sha - 512,散列,使用油漆作为键,得到消化(4.8节)。 |
d)摘要在前一步获得的压缩(4.8节,算法VI),从512位到224位,最终生成nonce。 |
详细描述的算法步骤如下所示。 |
最初关键的扩张 |
我们的算法需要一个256位的密钥,但签名者的私钥只有224位。这要求一个关键的扩张,随机选择4个字节28-bytes编造的关键。这4个字节被附加到得到一个32字节的密钥用于后续步骤。 |
消息填充和分裂成几块 |
消息或数据首先null-padded 512位的倍数。然后分成相等的512位。只有第一个2048字节的消息被认为是。n的值被设置为块的数量,所以,在1≤n≤32。 |
最后关键的扩张(Rijndael扩张) |
扩大秘密密钥(256位)和常数(见表1)被传递给第二个关键扩张常规新一轮的扩张,从256位到512位使用Rijndael [10] key-expansion算法(算法II)。key-expansion是通过将输入分成2组128位,然后每组扩大到256位。状态数组是一组两个4 x4 byte-matrix,,关键是复制到列为主的时尚,和随后的一点宣读行操作32字节的块。然后XOR-ed信息块。byte-substitution由子程序G(从标准Rijndael子程序)使用Rijndael盒执行替换。这个子程序返回的值与修改后的数据块XOR-ed扩展数据块进行初始化。然后用作种子在随后的迭代轮,在每一步的扩展数据块的基础上生成之前extended-block及其对应的modified-data-block。最后生成512位输出交替衔接的一个数据块和一个extended-data-block。 |
安全的随机密钥生成 |
该算法在n,其中n是512位的数量在消息块。每一轮需要一个512位的随机密钥使用密码安全伪随机生成器生成,因此,非常难以预测。标准CSPRNG实现广泛使用在各种编程语言库。 |
初始块替换 |
在每一轮中,首先结合关键使用相应的信息块替换算法(算法III)。8轮,每一轮的过程由使用不同的圆键,生成的原始密钥使用圆键生成算法。圆的圆键生成,使用算法四世,由圆left-shifting上一轮的圆键1或2位(取决于特定回合),然后XOR-ing常数P(见表1)。在block-substitution过程实现Feistel[16]密码块- 512位的大小。在每一步,256位的数据分为两个部分。自由是一样的右半边上一轮后生成的。右半边XOR-ing前面得到的左中场,round-cipher算法的输出,以previous-right-half和圆键为参数。round-cipher算法(算法V)执行一个字节替换使用Rijndael天地盒的数据和xor的圆键返回结果。 |
块排列(Shabal排列) |
块替换后,数据经过一个键排列使用Shabal[11]键排列算法,和圆键前一步中生成的。块的排列结果由一对分别为384和512位,然后连接到一个896位的输出。这个输出然后美联储CompSub函数(参见算法),由2个步骤:块压缩第二块替换。 |
块压缩 |
Shabal排列输出算法然后使用七位压缩压缩,从最重要的一些组7中的最低有效位和取代每组4比特咬使用XOR操作,如图1所示,将一个512位的输出。 |
第二块替换 |
512位块压缩阶段的输出是输入一个替换阶段,这是不同于第三块替换执行算法。这里,每个64字节是通过一个16 x16 non-invertible盒Z(见表1)。替换的结果是最后XOR-ed累积密文块G主要nonce生成算法。 |
摘要生成和压缩 |
Shabal排列的结果传递给消化生成函数,这是一个键控HMAC使用sha - 512算法,生成消息摘要。结果512位消化进一步压缩算法(VI)最终生成224位现时标志。压缩过程由三个步骤组成。首先,每一对连续的消化XOR-ed在一起,导致了一个256位的消化。这是紧随其后的是第一个4字节XOR-ed与相应的最后4个字节,然后丢弃过去的4个字节,留下一个224位的消化。最后,这是XOR-ed恒Q(见表1),生成nonce,可以用于DSA签名生成过程。 |
结果和分析 |
结果 |
我们的算法是使用Java实现[20]。我们的算法中使用的常量列表在表我[19]。算法的运行时间比简单的长伪随机nonce生成过程建议在DSS。然而,我们的算法更加安全,仍然是快,以一个恒定的时间复杂度O(1),因为它是独立于消息长度。根据我们的结果,我们的算法表现出强烈的雪崩效应,如表二所示。两个卡方测试的结果以及蒙特卡罗试验,表明强烈的随机性是列在表二世。 |
分析 |
通过算法生成的目前是安全的用于数字签名如下:a)结果目前从我们的算法并不偏向低范围的DSA域参数q,由于缺乏任何模问操作,否则有被证明是致命的[9]。 |
6。B)由于采用CSPRNG轮密钥生成,输出是完全不可预知的和独特的每次消息签名。消息本身的夹杂物的生成NONCE增添了另一层的随机性,尽管消息,处理里面穿过我们的算法,足够随机输出。这是建议从我们的随机性测试。 |
7所示。C)自生成NONCE通过我们的算法和用户没有影响力的控制它,DSA的阈下信道被关闭。虽然用户可以选择明文,生成NONCE无法预测,因此,我们的算法在这方面是安全的。 |
8。D)算法使用NON-INVERTIBLE S-BOXES以及标准单向散列函数,因此,从NONCE私有密钥不能被恢复。 |
结论 |
数字签名的基础形式在现代通信消息的真实性和不可抵赖性。DSA算法的整个安全在于保持签名者的私钥的秘密。然而,随机的nonce的泄漏,严重的损害这个安全通过使攻击者计算从这个临时的私有密钥。因此,它是非常重要的,这个随机生成nonce足够随机以一种更安全的方法,不可预测的,每个消息和独特的。常见的伪随机序列生成器不足等目的,因为他们可以预测的。我们的算法改进了现有的DSA算法提高其安全时间复杂度为代价的。我们相信这个DSA的增强版,可以成功地用于实体验证电子交易要求严格的身份验证电子银行[12],电子商务[23],电子学习[21],电子政务[22]。 |
引用 |
|