并行计算在信息安全中应用.docx_第1页
并行计算在信息安全中应用.docx_第2页
并行计算在信息安全中应用.docx_第3页
并行计算在信息安全中应用.docx_第4页
并行计算在信息安全中应用.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行计算在信息安全中的应用 (The Applications of Parallel Computing In Information Security)信息安全专业论文 (The Professional Papers of Information Security)姓名:徐白程学号:12120379,单位:北京交通大学学院:计算机与信息技术学院地址:北京市海淀区上园村3号Name:Baicheng XuStudent ID:12120379Company: BeijingJiaotong UniversityCollege: College of Computer and Information Technology,BeijingAdd: NO.3 Shangyuancun, Haidian District, Beijing,China并行计算在信息安全中的应用徐白程北京交通大学计算机与信息技术学院12级信息安全班,北京 100101 邮箱:12120379摘要: 信息技术的发展与应用促进了信息安全的不断延伸,在信息安全技术中“安全的密码算法”是最重要的。本文在简单介绍著名的对称密钥加密算法DES和并行计算,并就并行计算技术在密码算法的加密过程中的应用,在提高加解密速度方面的作用做了积极探讨关 键 词: 信息安全,并行计算,DES,The Applications of Parallel Computing In Information Security Baicheng Xu(Beijing Jiaotong University,College of Computer and Information Technology,beijing 100101)E_mail:12120379Abstract: Development and application of information technology to promote the continuous extension of information security .In the information security technology safe cryptographic algorithms is the most important. This paper briefly famous-DES symmetric key encryption algorithms and parallel computing, parallel computing technology and to the password encryption algorithm in the application process, the role of parallel computing to improve the speed of encryption and decryption done to actively explore .Key words: Information Security; Parallel Computing; DES1 引言 我们身处在一个信息爆炸的时代信息爆炸的时代,现实世界越来越多的信息带来越来越庞大的需要存储、处理的数据。并行处理方法是一种快速处理海量数据的有效方法。但是,由于高性能计算机价格昂贵,并不便普及。随着信息技术的发展与应用信息安全的内涵在不断的延伸从最初的信息保密性发展到信息的完整性可用性可控性和不可否认性进而又发展为”攻f攻击)防C防范)测(检测)控(控制)管(管理)评(评估)”等多万面的基础理论和实旋技术。信息安全是个综台交叉学科领域它要综台利用数学物理通信和计算机诸多学科的长期知识积累和最新发展成果。2 数据加密标准DEA2.1 概述DEA是一本关于数据包络分析(DEA)方法、模型和理论的专著,是作者十几年工作的总结。第 一章详细地讨论了DEA模型C2R;第二章讨论了微观经济学中的效率和生产可能集,为以后各章的讨论做微观经济方面的准备;第三章使用具有取值0和1的三 个参数的综合DEA模型,统一形式地讨论了“经典”的DEA模型C2R,BC2,FG和ST;第四章给出了综合DEA模型对应的生产可能集的(弱)生产前 沿面的特征、结构及构造方法;第五章研究了决策单元的规模收益和“拥挤”迹象分析;第六章研究了综合DEA模型的对策论背景;第七章研究了具有无穷多个决 策单元的DEA模型;第八章使用DEA方法进行技术进步评估;第九章研究非参数的DEA最优化模型;第十章和第十一章分别研究了具有“偏好锥”和“偏袒 锥”的综合DEA模型及其性质和作用。2.2 日常生活遇到关于DEA的问题:在人们的生产活动和社会活动中常常会遇到这样的问题:经过一段时间之后,需要对具有相同类型的部门或单位(称为决策 单元)进行评价,其评价的依据是决策单元的“输入”数据和“输出”数据,输入数据是指决策单元在某种活动中需要消耗的某些量,例如投入的资金总额,投入的 总劳动力数,占地面积等等;输出数据是决策单元经过一定的输入之后,产生的表明该活动成效的某些信息量,例如不同类型的产品数量,产品的质量,经济效益等 等再具体些说,譬如在评价某城市的高等学校时,输入可以是学校的全年的资金,教职员工的总人数,教学用房的总面积,各类职称的教师人数等等;输出可以是 培养博士研究生的人数,硕士研究生的人数,大学生的人数,学生的质量(德,智,体),教师的教学工作量,学校的科研成果(数量与质量)等等根据输入数据 和输出数据来评价决策单元的优劣,即所谓评价部门(或单位)间的相对有效性。2.3 数据包分析:数据包络分析是运筹学的一个新的研究领域。Charnes和Cooper等人的第一个应用DEA的十分成功的案例, 是在评价为弱智儿童开设公立学校项目的同时,描绘出可以反映大规模社会实验结果的研究方法。在评估中,输出包括“自尊”等无形的指标;输入包括父母的照料 和父母的文化程度等,无论哪种指标都无法与市场价格相比较,也难以轻易定出适当的权重(权系数),这也是DEA的优点之一。3 并行技术3.1 并行技术分类并行技术可分为三类,分别是线程库、消息传递库和编译器支持。线程库可实现对线程的显性控制;如果需要对线程进行精细管理,可以考虑使用这些显性线程技术。借助消息传递库,应用程序可同时利用多台计算机,它们彼此间不必共享同一内存空间。MPI 广泛应用于科学计算领域。第三项技术是在编译器中实现的线程处理支持,采用的形式自动并行化。一旦将线程处理引入到应用程序中,开发人员就可能要面对一系列新的编程缺陷(Bug)。其中许多缺陷是难以检测到的,需要付出额外的时间和关注以确保程序的正确运行。3.2 并行技术实现方式并行技术可以分为多进程编程和多线程编程。人们总会用某种IPC(inter-process communication,进程间通信)的形式来实现进程间同步,如管道(pipes),信号量(semaphores),信息队列(message queues),或者共享存储(shared memory)。在所有的这些IPC形式中,共享存储器是最快的(除了门(doors)之外)。在处理进程间资源管理,IPC和同步时,你可以选择 POSIX或者System V的定义。3.3 并行技术发展状况在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量(rw_semaphore)、spinlock、BKL(Big Kernel Lock)、rwlock、brlock(只包含在2.4内核中)、RCU(只包含在2.6内核中)和seqlock(只包含在2.6内核中)。 现在的随着现在计算机体系结构的发展,指令级的并行和线程级的并行都在日新月异地发展着.4 并行技术在加解密中的应用 并行计算的主要目的:一是为了提供比传统计算机快的计算速度;二是解决传统计算机无法解决的问题。在密码学中使用并行计算进行加解密可以成倍的提供速度。虽然真正的并行计算系统环境对于普通人来说难以接触,但是面向对象语言c+,Java等都提供了多线程技术我们可以利用其多线程技术模拟多台处理机。笔者使用c+编写了段程序,模拟并行计算在加解密过程中的应用,其原理是将明文按既定规则分成N个部分,每个部分都启用一个进程对其进行DES加密处理,形成密文。解密时同理进行先将各部分密文进行解密最后汇总各部分明文。下面是整个程序的代码:源程序程序使用Visual C+编写,使用的是C+语言执行的命令为:mpirun-localonly 4 DES铡试程序exe以下为源代码:程序使用Visual C+编写,使用的是C+语言执行的命令为:mpirun-localonly 4 DES铡试程序exe以下为部分源代码:#include stdafx.h#include DESTest.h#include DESTestDlg.h#include Encrypt.hvoid CDES:deskey(unsigned char key8, Mode md)register int ii, j, l, m, n;unsigned char pc1m56, pcr56;unsigned long kn32;for (j = 0; j 3 & bytebitm) ? 1:0;for (ii = 0; ii 16; ii+) if (md = DECRYPT) m = (15 - ii) 1;else m = ii 1;n = m + 1;knm = knn = 0L;for (j = 0; j 28; j+) l = j + totrotii;if (l 28) pcrj = pc1ml;else pcrj = pc1ml - 28;for (j = 28; j 56; j+) l = j + totrotii;if (l 56) pcrj = pc1ml;else pcrj = pc1ml - 28;for (j = 0; j 24; j+) if (pcr pc2j ) knm |= bigbytej;if (pcr pc2j+24 ) knn |= bigbytej; cookey(kn); return;void CDES:cookey(register unsigned long *raw1)register unsigned long *cook, *raw0;unsigned long dough32;register int i;cook = dough;for (i = 0; i 16; i+, raw1+) raw0 = raw1+;*cook = (*raw0 & 0x00fc0000L) 6;*cook |= (*raw0 & 0x00000fc0L) 10;*cook+ |= (*raw1 & 0x00000fc0L) 6;*cook = (*raw0 & 0x0003f000L) 12;*cook |= (*raw0 & 0x0000003fL) 4;*cook+ |= (*raw1 & 0x0000003fL); usekey(dough);return;void CDES:usekey(register unsigned long *from) register unsigned long *to, *endp; to = KnL, endp = &KnL32;while (to endp) *to+ = *from+;return;void CDES:scrunch(register unsigned char *outof, register unsigned long *into )*into = (*outof+ & 0xffL) 24;*into |= (*outof+ & 0xffL) 16;*into |= (*outof+ & 0xffL) 8;*into+ |= (*outof+ & 0xffL);*into = (*outof+ & 0xffL) 24;*into |= (*outof+ & 0xffL) 16;*into |= (*outof+ & 0xffL) 24) & 0xffL;*into+ = (*outof 16) & 0xffL;*into+ = (*outof 8) & 0xffL;*into+ = *outof+ & 0xffL;*into+ = (*outof 24) & 0xffL;*into+ = (*outof 16) & 0xffL;*into+ = (*outof 8) & 0xffL;*into = *outof & 0xffL;return;unsigned long CDES:SP164 = 0x01010400L, 0x00000000L, 0x00010000L, 0x01010404L,0x01010004L, 0x00010404L, 0x00000004L, 0x00010000L,0x00000400L, 0x01010400L, 0x01010404L, 0x00000400L,0x01000404L, 0x01010004L, 0x01000000L, 0x00000004L,0x00000404L, 0x01000400L, 0x01000400L, 0x00010400L,0x00010400L, 0x01010000L, 0x01010000L, 0x01000404L,0x00010004L, 0x01000004L, 0x01000004L, 0x00010004L,0x00000000L, 0x00000404L, 0x00010404L, 0x01000000L,0x00010000L, 0x01010404L, 0x00000004L, 0x01010000L,0x01010400L, 0x01000000L, 0x01000000L, 0x00000400L,0x01010004L, 0x00010000L, 0x000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论