文摘
在本文中,我们提出一个模型来增加通过网络发送的消息的真实性;我们的模型经历了两个阶段:首先,MD5算法的修改,这是基本和综合算法的数字签名,我们修改了逻辑运算通过改变从左到右的方向转变,通过改变临时存储空间的顺序(a, b, c, d)。我们提出了一个较低的执行时间,我们也比较了我们的修改后的算法与原算法的执行时间和其他一些数字签名算法。第二,我们的修改算法的集成与密码算法增加发送消息的真实性。我们提出一个例子应用于模型,我们使用两个(AES, DES)加密标准。最后,我们使用c#编程语言实现了模型。
1。介绍
世界是见证一个庞大而快速发展的技术在通信领域的,所以现代的通讯手段,特别是互联网,已经成为不可或缺的手段。通讯依赖于电话然后传真后,互联网出现并成为最理想的交流方式,传输和显示信息。有迫切需要保护、文档,证明该信息的真实性。从这里开始,所谓的数字签名。1989年,第一个数字签名是公认的在法国在信用卡领域,目的是实现这一目标,法国上诉法院确认数字签名的有效性,因为它认为它包括两个组成部分,即显示持卡人的信用卡和输入密码和证实,这种方法提供了现有hand-signing担保,它甚至比(1]。Ron Rivest发达MD5算法在麻省理工学院,1992年的一个成员了RSA公钥加密算法(2]。2009年,叙利亚总统巴沙尔•阿萨德(Bashar al - assad)发布了数字签名法律[3]。2011年,阿勒颇大学进行的一项研究是提高数据交换的安全在因特网上通过数字签名算法(4,大部分的数字签名算法集中于一个目标,这是身份验证。在这项研究中,我们感兴趣的是学习认证和保密制度;我们首先提出了预期的研究目标,然后介绍了一些基本概念。我们也提出了一些使用的数字签名和加密算法的研究,之后,我们修改了MD5算法,以减少它的执行时间。为了实现保密性和认证,我们提出了一个模型基于一些加密算法除了修改算法。
最后,我们编程模型在c#中,使用一个例子来证明。
2。研究目标
由于迫切需要开发新的工具来启用或防止通过网络加密消息的篡改和保护这些信息,提出了一种开发模式集成加密算法和数字签名。的主要目标是增加加密的身份验证信息。为了实现这一在一个可接受的时间内,我们做了一些修改MD5算法得到一个较低的执行时间。
3所示。研究材料与方法
在这个研究中,我们依靠数字签名和加密,我们将研究MD5算法是数字签名的起点开始,除了修改和比较它与其他数字签名算法,然后合并一些加密算法。
3.1。基本的定义和概念
我们将一组基本概念,我们将使用在本研究4- - - - - -10]。
3.1.1。纯文本
这是可以理解的原始消息或数据,加密算法的输入。
3.1.2。加密算法
的过程是将文本或数据转换成一种模棱两可的为了隐藏这个数据或将纯文本转换为密文的过程。
3.1.3。关键
它是使用的密码加密或解密算法。隐藏的最重要的事情之一,因为它被认为是秘密的事情,只有那些知道授权解码代码。
3.1.4。密文
模糊信息生成一个加密算法的输出,取决于明文和密钥。
3.1.5。身份验证
这是一个过程的验证和确认的具体信息,这可以源文档的信息,发送者的身份,签署文件的时候,和这是发送日期。
3.1.6。数字签名
数字签名是数字相当于一个手工签名。这是一个身份验证技术,包括措施防止否认通过源(发送方)或目的地(接收器)。数字签名还可以包括措施检查消息的完整性。
3.2。一些数字签名算法
数字签名算法类似于加密算法。但区分他们从加密算法是单向算法,他们需要不同长度的信息。他们每个人产生一个固定长度的指纹(产生的消息摘要算法的应用程序)。我们提到其中一些:MD5,该算法被认为是第一次出现的数字签名和由第一代分类算法,至于第二代,它建于1995年,被称为sha - 1算法。这个算法的第三代是最近发现,叫SHA-2算法,如表所示1。SHA-2算法分为其他算法(sha - 224、sha - 256、sha - 384,和sha - 512)。我们将研究MD5算法是所有数字签名算法发展的基石。
3.2.1之上。消息摘要算法5 (MD5)
MD5算法需要信息的无限长度和给128位固定长度的输出指纹。在输入方面,消息长度为512位。如果超过,就会把信息分成多个块,但是如果它小于,它将受到处理的操作填充(它是一组位放置在结束的消息,如果消息长度小于块大小信息,这种类型的密码可以处理,而且必须至少1位,最多512位)。值得注意的是,输出将只有128位,所以MD5算法是一个加密算法密钥长度为128位,如图1。
消息后分成块,第一块将被发送到缓冲区将被处理,如图2。
从图2,我们发现有四个矩形放在对方叫做圆。在每一轮中,数据输入在16-step过程。所有步骤都有相同的算法。而现在我们将解释圆的概念和一些细节,然后我们会在内心深处看到了一步。
3.2.2。轮
每个缓冲区中有4轮,他们都有相同的算法。不过,他们不同于彼此,他们使用不同的布尔函数,比如F, G, H,和我,所以这些函数的值是不同的,他们的内部结构是16台阶,每一轮Yq的512位输入(图2)。Yq值是分手的消息,消息被分成512位块(图1),512位的价值Yq输入圆的输入值(A, B, C, D),其值是128比特,Yq是恒定的价值在所有四个轮的一个HMD5缓冲当然不同于每个HMD5缓冲区,第二由于消息部分的值的差异,全面:T函数在弧度给出一组真实的值如下:
每轮有一个顺序的步骤中发现缓冲区。这些步骤都是由以下方程:
这一步计算方程的算法如图3。
数量:a、b、c和d:临时存储空间,在每个步骤中使用一个特定的顺序。克:这是一个布尔函数(我,F, G, H)改变根据每轮,并计算出表2≪:从左向右位移的方向S:它的位移量X (p1]:每小块包含512位消息数据 (我:消息数据每小块包含512位分为16块和32位(循环左移)CLS年代:s-bit循环左移
在完成所有先前的操作的部分信息,该算法将128位输出。这就是被称为消息摘要如图4。
3.3。密码学
密码学是信息安全的科学(9]。密码学是数据保护的艺术和科学的消息机密性、隐藏消息的意思是密码学的主要目标之一,包括存储和发送信息安全地通过无保护的媒体,比如互联网或无线网络通过加密文本信息成为一个难以理解的或可读形式的帮助下各种加密算法,只有预期的用户可以将难以理解的形式的文本转换成原始文本信息。在接下来的段落中,我们提到了一些加密标准。
3.3.1。高级加密标准(AES)
是一个对称块编码器的AES标准。本标准出版由国家标准与技术研究院(NIST)在2001年。这个标准可以处理128位块。标准使用AES10、12或14轮的长度取决于所使用的关键,可以(256、192、或128)位,分别。
AES标准处理几轮。每一轮包括几个阶段。数据传输从一个阶段到另一个地方。我们所说的数据加密的数据块的开始和结束。对于每个阶段的开始和结束,我们称之为状态;美国就像16字节块,但由4×4要求数组我们称为一个数据数组,每个元素表示为钢筋混凝土。条件有时可以被表示为一个1×4矩阵的话(这是有意义的,如果我们考虑原始矩阵的每一列作为一个词)。AES标准处理五个单位的数据:位、字节、字、块和状态。
在加密过程的开始,构成数据块的数据添加到状态矩阵列的列和在每一列从上到下。结束时加密,数据提取从国家以同样的方式(10]。
3.3.2。数据加密标准(DES)
DES标准是基于对称密钥的理论。使用相同的密钥加密和解密时,自进入文本的大小,在64位是固定的。使用的加密密钥的大小是56位。这个算法运行在三个阶段:(1)加密密钥处理。这里,表和顺序操作使用中旋转和排列是用来最后导致(16)键用于后期。(2)算法的应用。表和顺序操作在这个阶段使用旋转和排列也表现在前一个阶段的区别,它是以文本加密和不加密密钥,使用和替换表。(3)在这个阶段,一个反向过程执行的部分原因是在第一阶段,文本在哪里使用排列表所取代。注意,解密过程发生在一个相反的加密过程(非常小的差异9]。
4所示。模型描述
4.1。修改MD5算法
在这篇文章中,我们已经修改了MD5算法步骤计算方程,我们改变了位移的方向从左到右,除此之外,我们做了一个修改逻辑运算取代了XOR和我们知道内部的XOR需要两个结果和处理计算机时,它只需要一个结果,处理在计算机内部,所以XOR的执行时间大于的时间和执行。表3显示了逻辑的修改操作。
我们改变了临时存储空间的顺序(a, b, c, d),为了减少时间,见以下方程:
修改后的算法如图步骤计算方程5。
4.2。建议的模型
我们建议的模型引入了一个新的机制来保护和篡改的消息通过网络发送。我们提出的模型是基于集成修改算法有两个加密算法,如图6。
我们建议的模型包括两个部分:一个部分发送方,另一个用于接收方,发送,发送方加密消息的加密算法,然后指纹从密文使用修改后的MD5算法,然后发送方结合产生的密文指纹。最后,发送方加密合并输出和一个加密算法,并将最终的密文发送到自由职业者。另一方面,接收器将收到消息发送给他,解密然后破译合并过程和隔离的密文密文的指纹取指纹,最后执行过程两个指纹之间的比较。此外,这两个指纹进行比较来验证发送消息的真实性和保密性。
一组步骤可以解释我们提出模型的工作机制;它分为步骤接收器发送者和其他人,和下面是细节。
发送方步骤:发送方执行以下步骤:(1)使用加密算法加密的消息(2)应用修改的MD5算法加密信息和输出消息的指纹(3)结合产生的指纹与密码文本到一个消息并重新排列(4)一个加密算法生成的消息的应用程序(合并消息)
接收机步骤:接收方执行以下步骤:(1)解码收到的消息。(2)分解产生的指纹的加密信息。(3)应用相同的修改MD5算法应用于加密消息发送方和输出第二个指纹。(4)比较这两个指纹(从发送方获得指纹和指纹获得应用修改的MD5算法);如果两个指纹匹配,那么消息不是篡改和代码将被安全地解码。如果两个指纹不同,消息被篡改。
4.3。实验结果
评估修改后的算法的效率,我们提出了使用c#为了模拟实验结果,我们已经在我们的研究根据以下两个阶段。
第一阶段:减少MD5算法的执行时间做出改变的方向偏移和一些修改逻辑运算,我们取代了XOR和运营商,因为正如我们所知,XOR需要两个结果和处理在计算机内部,而只需要一个结果和处理在计算机。,因此XOR的执行时间大于的执行时间,并通过改变临时存储空间的顺序(a, b, c, d),我们发现的指纹不同大小的文本使用我们的修改算法,原始算法,并使用一些函数sha - 1算法和计算执行时间在图书馆系统诊断的三个算法如表所示4。
图7展示了我们的结果很明显,我们的修改算法减少了原始算法的执行时间。
第二阶段是增加加密消息的真实性;这样做是通过我们提出的模型之间的合并机制依赖于我们的修改算法和密码算法。
4.3.1。说明性的例子
在这个例子中,我们显示我们的模型使用的工作机制(AES, DES)加密标准修改后的数字签名算法MD5,我们写的代码和实现模型用c#语言在Visual Studio 2019中,如图8。
图8表明,我们提出的模型分为两部分:一部分为接收方和发送方的报价如下。
(1)发送方部分。消息发送者发送写在输入文本字段以及两个加密密钥(keyDES keya)字段的加密标准(AES, DES)如图9。
发送方按加密按钮,输入文本加密AES加密标准,和密文Cipher1字段所示。在合并字段,那么合并输出使用DES加密加密标准,第二个密文Cipher2字段如图所示10。发送方发送密文和两个加密密钥的接收机两个加密密钥是送到一个安全的通信通道。
(2)接收机部分。接收器接收到与两个加密密钥和加密文本使他们在指定的地方如图11。
接收机按解密按钮,程序解密密文收到发件人DES加密标准和显示DeCipher2字段。然后,密文的指纹是孤立的和放在Cipher1 md5字段,然后从密文指纹被Cipher1领域和MD5R字段所示。最后,比较两者之间的指纹在田里md5和MD5R,结果输出字段,如图所示12。
5。结果和讨论
首先,我们制定一个模型描述消息篡改和保护。我们也建议修改MD5算法的工作机制来减少执行时间。我们将修改后的算法的执行时间与原始MD5算法的执行时间,然后我们应用我们建议的模型依赖于整合我们与密码算法的改进算法。此外,我们提供了一个示例,说明了这一点。
6。结论和建议
通过我们所做的这项研究,我们得出以下结论:(1)修改MD5算法,以减少其实现的时间(2)我们的修改算法应用到文本和样品显示,执行时间小于原算法的时间(3)建立一个模型基于我们的修改算法与加密算法和合并为了增加发送消息的真实性和保护(4)应用提出的模型与一个说明性的例子;当我们使用修改后的算法和加密标准(AES, DES)
补充研究结果和结论我们建议如下:(1)修改布尔标志的可能性在我们的算法以获得更少的执行时间(2)应用加密和数字签名算法来提高身份验证,发送消息的完整性和机密性(3)修改的可能性,我们建议的模型通过合并我们与两个以上的加密算法的改进算法
7所示。研究的局限性
虽然知道加密算法的执行时间是很重要的,本文并不涉及计算的总体执行时间建议模型。相反,我们的方向来实现认证和保密的安全需求是通过整合我们的修改算法有两个加密算法。
数据可用性
用来支持研究的数据都包含在本文。
的利益冲突
作者宣称没有利益冲突。