对称密钥密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言

计算机的发展给人类带来了前所未有的便利,以计算机信息技术为手段的企业信息化建设,已成为企业必不可少的部分。计算机CAD技术高速度、高精度和高效等的优点,已经逐步取代手工设计,广泛应用于产品设计工作中。CAD图纸,在任何时候,都是一个企业的命脉。在使用SolidWorks等软件绘制图纸的过程中,作为企业是否经常会考虑:我们厂刚刚设计出来的新产品,怎么市场上别的牌子的产品也已经上市啦?技术人员的流动,是否会同时有图纸的流动?我们花了几十万买的图纸,怎么隔壁的那个厂子图纸和我们的一样呢?我们的光驱、软驱、U盘接口都封掉了,可是图纸怎么还是传出去啦?解决这些问题的一种有效方法就是使用现代密码技术,加密技术是保障信息安全的最基本的、最核心的技术措施。对CAD图纸进行加密应该是一种比较合适的安全保密措施

2密码技术

2.1基本概念

密码学是研究编制密码和破译密码的技术科学。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。随着先进科学技术的应用,密码学已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。密码就是一组含有参数K的变换E。设已知信息M,通过变换E得到密文C。即C=EK(M)这个过程称之为加密,参数K称为密钥。

2.1.1传统密码学

自从有了人类社会就有了信息交流,特别是出现了战争,为了信息交流的安全,就出现了密码技术。从古代到16世纪末由于这个时期生产力低下,产生的许多密码体制都是可用纸笔或者简单的器械实现加密/解密的,这个时期的密码体制主要有两大类:一类是换位密码体制,另一类是代替密码体制。从二十世纪初到20世纪50年代末,为了适应密码通信的需要,密码设计者设计出了一些采用复杂的机械和电动机械设备实现信息加密/解密操作,他们代替了繁重的手工作业方式,在战争中发挥了重要的作用。转轮密码机是这一时期的杰出代表。

2.1.2现代密码学

对称密钥密码体制又称为单密钥密码体制或秘密密钥密码体制。这种密码体制的加密密钥和解密密钥相同,或者虽然不相同,但可由其中的任意一个可以和容易地推导出另一个。传统的密码学都是属于对称密钥密码体制。现在,在传统密码学地基础上对称密码体制也有了新地发展,像序列密码,分组密码,还有对称密钥密码体制的典型代表:数据加密标准DES和高级数据加密标准AES。非对称密钥密码体制又称为双密钥密码体制或公开密钥密码体制。这种密码体制的加密/解密操作分别使用两个不同地密钥,并且不可能由加密密钥推导出解密密钥。采用非对称密钥密码体制的每个用户都有一对相互关联而又彼此不同地密钥,使用其中的一个密钥加密的数据,不能使用该密钥自身进行解密,而只能使用对应的另一个密钥进行解密。在这一对密钥中,其中一个密钥称为公钥,它可以公开并通过公开的信道发给任何一位想与自己通信的另

一方。另一个密钥则必须由自己秘密保存,称为私钥,用于解密由公钥加密的信息。非对称密钥密码体制的典型代表是RSA公钥密码体制。非对称密钥体制的出现是现代密码学研究的一项重大的突破。

2.2NET密码术

.Net开发平台的发布标志着近十年来微软开发平台第一个重大的转变。这个开发平台包括一个用于加载和运行应用程序的新的软件基础结构(.NET Framework和),一个新的开发环(Visual ),以及支持该结构的编程语言。提供了一个用于在该平台上创建应用程序的图形Integrated Development Environment (IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Visual ,Visual C++, Visual C#等。大量其它的.NET编程语言可以从第三方厂商获得。在.NET Windows出现之前,使用密码术通常就是指使用非托管的Win32CryptoAPI库,这对于C++程序员来说工作很繁杂,对于采用其他语言如Visual Basic处理的编码器则更不方便。和许多其他编程方面的工作一样,.NET中密码术的运用使人感觉良好。开发人员可以使用一流的加密模型,将这些模型放在类库中并且他们具有很好的扩展性。不用调用非托管库中晦涩难懂的函数,现在可以使用一组功能齐全的加密技术类,这些类将那些繁杂的编码数据、计算散列和生成的随机数等工作都包装起来了。在.NET中,则是将这些复杂内容打包在各个.ET框架类中,并且由一个System.Security命名空间包含这些与加密相关的类。3加密技术在SolidWorks工程图纸上的实现

3.1SolidWorks二次开发

SolidWorks是原创的、基于Windows平台的三维机械设计软件,是Windows原创软件的典型代表。因而,SolidWorks可充分利用Windows 平台的优点、符合用户的使用习惯,从而极大增加了用户的学习效率和使用效果。虽然SolidWorks发展非常的快,但也不是十全十美的,不可能完全满足特定企业的特殊要求。为了适合特定企业的特殊需求,形成企业自己的特色,使其在企业中更有效的发挥作用,并使常用的或重复的任务自动化提高效率,就必须对其进行本地化和专业化的二次开发工作。为了方便用户进行二次开发,SolidWorks提供了几百个API函数,这些API函数使SolidWorks的OLE或COM接口,用户可以使用VB\VBA\VC\DELPHI\C#等高级语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。

3.2具体实现方法

利用SolidWorks API的功能编制SolidWorks插件,并集成于SolidWorks环境中,由SolidWorks程序进行管理。SolidWorks插件是一个DLL文件,在用程序生成DLL的过程中,必须定义DLL文件与SolidWorks连接的接口。SolidWorks插件文件与SolidWorks接口的函数如下:

SwAddin.ConnectToSw()和SwAddin.DisconnectFromSW()。SwAddin.ConnectToSw()是用户编制程序的入口函数,当插件加载时SolidWorks运用此方法进行与程序的连接。当插件需要卸载时, SolidWorks调用SwAddin.DisconnectFromSW()方法卸载当前的插件。

相关文档
最新文档