数据的加密

2024-08-29

数据的加密(精选12篇)

数据的加密 篇1

0引言

从商业智能与营销团队到合作伙伴与第三方供应商,每个人都希望通过数据降低成本,提高效率,开发新产品,优化服务供应并能做出更加明智的数据驱动型商业决策。为了满足这些需求,将会在更多的地方生成、存储和处理数据,最终数据也会被共享并分配到更多地方。当前,组织的IT管理部门确实面临着一种数据保护困境。在组织和建筑范围之外共享组织/单位的敏感数据的想法成为一个日益重要的问题。需要找到一种方法,既能满足重要的业务需求与要求,同时还能保护数据免遭恶意威胁破坏。

随着组织的敏感数据被保存、划分、切割并共享给更多人, IT管理员必须找出一种能够保持数据安全的方法,尤其是在云和多用户环境下更是如此。经批准的用户与程序需要能够利用可用的数据,需要确保诸如知识产权、个人身份信息以及组织财务信息在内的任何高价值敏感性信息无论被存放于何处都处于锁定的安全状态。

很显然,为了消除数字鸿沟,必要的共享是需要的。但也有一些敏感数据,趋势是既能为工作所需,又不是简单共享的,这些安全途径包括:

将数据迁移到云中:利用云所提供的高效与可扩展性优势, 同时保持在共享环境下对数据与加密密钥的完整所有权与控制力。

实现大数据分析:而不会将敏感数据暴露给可能导致数据外泄的外部和内部威胁。

授权对可用数据的访问:同时通过对用户与服务进行认证保护知识产权或个人身份信息安全,确保用户身份与其所宣称身份相一致。

1敏感数据保护计划框架

太多时候,共享的数据超出了应当共享的范围。不只是指社交媒体,也包括组织内部敏感数据资产的共享情况。为了不共享组织的敏感数据,IT管理者需要拟定一套计划。几年前,受制于技术发展,只能对数据进行周界保护。虽然作为一个额外的保护层,网络周界安全技术没有任何问题,但是再不能将它作为数据安全策略的根基,日常中非常可能发生数据外泄问题,传统的周界安全技术不再能够提供充分保护了,组织的敏感数据已经成为新的周界。

现在,得益于加密技术的发展和成熟。可以利用一些工具、 方法不共享并保护组织的敏感数据。

首先,需要确定内部数据中心所保存的最敏感数据资产,然后找出外部数据中心(云和虚拟环境)中的最敏感数据资产。搜索存储与文件服务器、应用程序、数据库与虚拟机,且不要忽略在网络与数据中心之间传输的流动数据。一旦这些数据离开组织的管辖范围,就不能控制了。下一步,对其进行加密。数据加密承诺虽然简单易行,但是不要忽略密钥重要性。通过采用与数据相分离的方式集中管理并保存密钥,IT管理者可以保持对数据和密钥的所有权与控制力,同时优化加密基础架构便于进行审查与控制。

2利用随处加密的策略来保护敏感数据

加密策略与选择部署的解决方案应当满足两个核心要求:

提供访问控制:定义可以访问组织数据的人员与程序;

直接保护数据:将保护与控制力应用到数据本身。

除了强有效的集中化密钥管理之外,确保数据保护解决方案可以随处加密敏感数据,无论是静态数据还是移动中数据,都可以对其提供保护。

2.1应用程序级加密

采用应用程序级加密,可以将保护应用到多种类型的数据上面,范围涵盖从非结构化数据到结构化数据,如信用卡帐号、公民身份证号码以及银行密码等。在网络或应用程序服务器生成数据或首次处理数据时就对其进行加密可以确保在数据整个生命周期内都是安全的,无论数据在多个环境间传输、备份、拷贝或迁移多少次,都能确保其安全性。方案提供的应用程序安全性在适用于业务应用程序的商业加密方案中是最高级别的,客户关系管理(CRM)、企业资源规划(ERP)和人力资源管理(HCM) 等应用程序均可使用。

2.2列级水平数据加密

从信用卡信息、患者数据和社会安全码到客户电子邮件地址,各级组织的一些最有价值的信息资产将保存在数据库中。通过对含有敏感数据的具体字段进行高效地加密与解密运算,一套列级水平加密解决方案可以在数据存储区内快速实现对大量敏感的结构化数据的写入与读取操作。对内部、云和虚拟环境中的这一栏水平数据进行加密可以防止发生数据外泄事件,同时确保组织符合多项法规与强制要求。

2.3文件与文件夹水平加密

考虑到数据量与相关性,内部、虚拟与云环境中网络驱动器与文件服务器上的高价值数据通常是最具吸引力的,也最容易成为攻击的目标。包括敏感数据,也包括文字处理文档、电子表格、 图片、设计、数据库文件、导出、存档与备份文件等。一套文件水平的加密方案使IT管理者可以根据自身制定的政策对本地和对应网络中的这些敏感数据实现自动化的透明加密。在发生数据外泄、误用或特权账户遭受黑客攻击、服务器被盗走和其他潜在威胁情况下,一套文件级加密方案会将敏感数据处理成为毫无用处的信息。需要注意的是,在IT管理者遴选文件和目录级别加密方案时,文件夹和文件加密均是无缝和透明的,不能影响业务运营、业绩或最终用户体验。用户成功通过验证后,文件保护进程会被自动启动,在不影响生产力的情况下应用政策。

2.4云环境加密

云和虚拟化让组织有足够的灵活性和效率即时推出新服务并扩展其基础设施。但物理控制或已定义入口和出口点的缺乏, 会带照顾一系列安全问题-数据混合、授权用户滥用、快照和备份、数据删除、数据泄漏、地理性监管要求、云超级管理员等。

如果没有对云存储环境实现适当水平的加密,迁移商业应用程序并将敏感数据保存到云环境中是比较有风险的。在由独立云服务供应商托管云环境中所存储数据的情况下,非常重要的一点是要将高可用性解决方案部署就位,提供对整个虚拟机以及相关存储卷的全盘加密功能。对整个虚拟机进行加密让IT管理者可以保持对云中敏感数据的完整控制力,同时满足一系列行业安全标准与政府法规要求。

2.5网络存储加密

敏感数据通过网络传输、更多交易在网络上进行、网络中涉及的价值越来越高。除了需要加密来防止安全威胁,很多组织还需要确保并证明他们合规要求,包括政府、行业和地区政策。愈发复杂的安全破坏情况与更为严苛的政府法规,以及爆炸式的数据增长、虚拟化与合并,这些都为存储安全带来了新的挑战。

网络存储加密会保护连接到以太网网络的文件数据,使用SMB(CIFS)/NFS文件共享协议保护NAS存储数据安全。一旦敏感数据在网络存储上被加密后,无论选用哪种存储介质,它都会在整个生命周期内保持加密状态。即使备份与存档也是安全的,无需任何额外操作。网络存储会根据自定义商业政策加密数据,提高当前认证服务水并确保数据隔离安全,即使在多用户环境下也能保证安全。只有授权用户才能以明文方式访问数据。加密机制必须支持合规要求并提供高级审计报告功能,并可以确保信息的安全,同时不会降低网络或影响其他业务功能。

2.6令牌化

随着组织内部所采集个人敏感数据量的增长,数据暴露风险也在增大。令牌化是另一种数据保护方案,该方案通过使用所存储、处理或传播的唯一令牌在明文数据位置替换数据来对敏感数据进行保护,这些敏感数据诸如帐号、社会安全码、电话号码、 密码、电子邮件地址等。格式保留令牌化(FPT)方案可以保持敏感数据的长度与格式,无需对数据库与应用程序做出变更,这就使其具备在内部、云和虚拟环境内跨越多个数据中心的良好可扩展性。

2.7高速加密

除了静态数据解决方案之外,组织也需要对跨越网络和/或在数据库中心流动的数据进行保护。网络也会遭受持续的攻击, 敏感资产一直面临的暴露危险。比以往更重要的是,采取加密措施是应对网络中传输数据所面临威胁的一项至关重要的强制要求。二级高速加密可以帮助组织确保网络流量数据是安全的。与此同时,该解决方案可以让组织最大程度发挥网络性能与运营效率,提供安全保证,而不会影响性能,同时最大程度提高吞吐量并减少甚至实现零延迟。

2.8密钥管理

凭借密钥管理方案,组织可以在整个密钥管理生命周期中集中、有效、安全地管理整个企业范围内的保护密钥和政策。理想的解决方案可以跨异类加密平台管理密钥,为密钥管理互操作性协议(KMIP)标准以及专有接口提供支持。如此,安全团队可以统一查看、控制并管理其所有敏感数据的加密政策和密钥,无论是云中、存储设备中、数据库中,还是其他任何位置的数据。

3结语

随着组织的敏感数据所面临威胁的不断增加并且变得日益复杂,采取方案进行保护是很重要的,通过采用创新的加密方法、 最先进的加密管理技术和强认证与身份管理解决方案随时随地保护相关数据,以一种以数据为中心方式确保自身数据安全。除了静态数据加密解决方案之外,组织还应重视保护移动中数据。 包括对时间敏感的语音与视频流以及元数据。实现与严苛的数据隐私法规要求的合规性并确保敏感的组织资产、客户信息与数字交易信息的安全性,免遭暴露和恶意控制,从而在数字化程度日益加深的世界中保持客户对组织的信赖。

参考文献

[1]任东林.数据加密技术在计算机安全中的应用分析[J].无线互联科技.2014.

[2]郑洪英,王博,陈剑勇.实现加密和分割的数据云存储方案[J].深圳信息职业技术学院学报.2010.

数据的加密 篇2

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86 cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的`,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient 可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用xor操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

数据的加密 篇3

关键词:Visual FoxPro;库外加密;数据库

中图分类号:TP309.7

在数据库运用的普遍化影响下,数据库的安全性受到了高度重视。当前大量的数据库主要是以明文存储,通过普通的身份验证和识别,难以有效保证数据库安全。因此,在进行身份验证和识别过后,要应用数据加密技术完成数据库的有效保护。同时数据库加密技术还可以把数据库中相关数据当作密文存储。另外,运用数据库加密技术可以有效保证数据库的可靠性与安全性。

1 数据库加密技术的概述

现阶段,数据库加密技术已渐渐趋于成熟。通常情况下,数据库加密技术必须要具备多种功能。身份认证功能,用户不仅要提供用户名与口令,还应该严格依据系统安全需求提供其他有关的安全凭证,比如说应用终端密钥。数据库通信加密以及完整性保护功能,所访问的数据库一定要在网络的传输过程中进行加密,并且在每一次的通信时必须进行一次加密,这样可以防止篡改。数据存储加密功能,一般数据库系统会选择数据项级的存储加密方式,也就是数据中具备不同的记录,所有的记录全是利用不同字段和不同密钥进行加密,然后再利用校验对策确保数据库的安全性与保密性以及完整性,避免数据出现非授权访问以及修改等。加密设置功能,数据库系统应该选取需求进行加密的数据库列,从而有利于相关用户选取部分敏感信息完成加密,并非所有的数据全完成加密。仅仅针对用户敏感数据进行加密能够在一定程度上提升数据库自身的访问速度。安全备份功能,系统可以提供数据库的明文备份功能以及密钥备份功能。

2 传统数据加密技术存在的问题

2.1 固定密码

固定密码作为系统中唯一的密码,其是不可以改变,一般是利用IF语言或是ACCEPT语言完成有关功能的授权。此密码会在程序设计时所固定,并且在后期的应用时无法完成相应的修改,若想改变就一定要对源程序进行重新编写,或者是应用部分子程序实现密码的有效修改,总而言之灵活性以及安全性并不是很好。

2.2 固定密码的简单加密

其主要是对原本的固定密码完成一次加密,此种加密方法与固定密码方式相比较而言安全性比较高,可是密码自身的值并不会发生改变,而且加密也比较简单。此种加密技术主要有转换方法与钥匙方法。其中转换方法就是对固定密码自身完成一次运算,从而使密码值出现固定变化,一般要利用下述语言实现:

PASSWORD=CHR(65)+CHR(65)+CHR(67)+“0”

此语言利用的CHR()函数一般是经过进行返回并以数值表达式作为编码的字符,其中符号“+”主要用于字符的串联接,而文中的语句完成转换之后,PASSWORD值就是ABC0,此种简单加密方法可以实现密码保护,有效提升数据库的安全性。另外,密钥方法主要是把密码存储于一个特定装置中,若是需要应用密码,可以将此“密钥装置”连接至系统中,从而使系统完成密码的读取和审核等。

2.3 可变密码

其主要指密码本身可以实现规律性变化,利用许多方式来完成加密,例如时间方法和位移方法等。比如说转换方法,其一般是针对原来的密码完成一次计算,把其转换之后变成加密过后的密码,而在密码的应用过程中,必须对加密过后的密码完成一次倒序计算,从而获取密码本身。而时间方法就是利用DATE()函数和CDOW()函数完成加密的算法,此种加密密码值主要是由所有时间和字符组成,其能够在每天变化许多密码,利用下述语言实现:

VALUE1=DATE()

PASSWORD=SUBSTR(CDOW(VALUE1),1,3)+“VFPSYSTEM”

在此语言中,DATE()函数可以获取目前的日期,再利用CDOW()函数依据目前的日期计算出今天的日期,然后运用SUBSTR()函数获取字符串的相应部分,最终应用“+”连接对应的字符串“VFPSYSTEM”构成今天的密码。相关操作人员一定要依据日期存在的差异完成密码输入,同时一周当中的密码是不会出现重复的,从而有效提升数据库的安全性。总而言之,上述的加密技术都比较简单,而且安全性和防护功能水平偏低,因此必须采用高技术手段完成数据库加密。

3 VF数据环境下的数据加密技术

在VF环境下进行数据库系统的研究和开发,通常状况下要求所输入的用户名以及密码一定要准确,再依据各个用户权限建立用户读取和修改以及删除数据的相关权限。因为存储数据DBF文件主要利用ASCII实现明文存储,若是非法用户并未通过应用程序完成读取,而是通过WINHEX、U1treaEdit等软件。对此,为了可以使DBF文件具备安全性,一定要对数据载体DBF文件完成加密保护。

3.1 库外加密技术

文件型的数据库系统主要是以文件系统作为基础,采用库外的加密方法,而且主要针对文件IO操作或是操作系统方面而言,由于数据库中管理系统以及操作系统主要有直接运用文件系统的功能和运用操作系统中I/O模块以及直接运用存储管理三种接口模式。因此,利用数据库外的加密方法过程中,一定要把数据进行内存,然后运用DES和RSA等方式完成加密,这样文件系统可以将每一次加密之后的内存数据录入至数据库的文件当中,从而在读入的过程中实现逆方面的解密就能够顺利应用。此种加密模式相对简单,仅仅需求妥善管理好密钥即可。但是存在一定的缺点,比如说数据库的读写相对较为麻烦,而且每一次都要完成加密和解密工作,在一定程度上影响程序的编写与读写数据库速度。

3.2 库内加密技术

若是在关系型数据有关方面而言,库内加密技术比较容易实现。而关系型数据库中主要术语包含了表和字段以及数据元素等。首先以表作为单位,从文件型数据库角度而言,单个文件仅仅具备一张表,所以对表进行加密应该就是完成文件的加密。经过变化文件分配表当中的说明等方法能够完成文件比较简单的加密,可是此种加密方法关系到文件系统的底层,比较容易出现FAI错序,同时会影响文件系统的格式,因此通常不会利用此种加密方法。其次,以记录或是字段作为单位进行加密,一般情况下,在访问数据库过程中主要是通过二维模式实现的,其中二维表中所有行全是数据库中的一條记录,并且二维表中所有列全是数据库当中的一个字段。若是以记录作为单位完成加密,这样每进行一条记录的续写,就要完成加密和解密,而且针对不需要进行访问的记录,并不需要进行加密,因此运用效率相对较高。

4 结束语

基于VF环境下的数据库加密技术运用在一定程度上有效解决了数据可靠与安全问题,而且数据库加密技术方法多种多样,具备各自的特点。而在数据库加密技术不断发展下,其运用安全性变得更为重要。

参考文献:

[1]李庆森.浅谈VisualFoxR数据库加密技术及其应用田[J].计算机光盘软件与应用,2012(20):109-111.

[2]毕文才.VisualFoxpro数据库的加密[J].电脑开发与应用,2010(08):77-79.

[3]李萍.数据库加密技术研究[J].忻州师范学院学报,2012(05):43-45.

[4](美)Jeffrey A. Hoffer, Mary B.Prescott,Fred R.McFadden.现代数据库管理,2013.

[5]徐坷.基于VF环境的数据库加密技术[J].广西轻工业,2010(04):67-68.

数据的加密 篇4

会计电子数据是指将许多复杂多变的会计信息转变为可度量的数字、数据, 再为这些数据建立适当的数字化模型, 将其转变为一系列二进制代码, 引入计算机内部, 通过计算机的处理, 产生为用户所需的各种信息, 并可以通过互联网络, 将数据传送到全球各地。会计电子数据根据不同的用途可分为电子原始数据、电子账表数据。原始数据经过会计人员的确认, 按照指令计算机开始进行账务处理, 生成报表, 产生会计电子账表数据。因此电子原始数据是最关键的数据, 它的正确与否关系到账表数据的正确性。

二、会计电子数据安全面临的威胁

(一) 管理上的威胁

一是企业信息安全组织不完善。企业信息安全组织负责管理系统的规划、制定、部署和维护, 领导和推动企业的信息建设。信息安全组织的不完善, 导致在安全保障的过程中缺乏统一的领导, 不能有效地协调各方面的资源, 不能对会计信息系统进行有效地监督和维护, 这些漏洞都会对会计信息的安全造成危害。二是来自人员的威胁。由于电脑无法具备人类所具有的判断和处理能力, 在信息处理中, 一旦输入数据错误, 尽管程序运行无误, 但输出的结果是错误的。在网络环境下, 由于数据的集中化和处理的高速性, 使得错误一旦发生, 就会在短时间内迅速蔓延, 使得账簿、报表以及凭此数据所进行的分析报告失真。如果操作人员通过对程序作非法改动, 将导致会计数据的不真实、不可靠、不准确, 以此达到某种非法目的。三是政策、措施的威胁。会计人员日常工作政策的缺失, 将会导致对会计信息系统的使用和维护行为时缺乏合理的指导和控制, 易导致信息处理设备的滥用、误用等事件的发生, 对数据信息的安全造成危害。

(二) 技术上的威胁

一是物理上面临的威胁。物理安全指的是会计数据在产生、存储、处理、传输和使用各个环节中所涉及到的物理设备及这些设备所在的环境的安全。温度、湿度、电磁等环境因素, 水灾、火灾、地震等自然因素, 偷盗、损毁等人员行为因素都会威胁到物理安全。二是系统面临的威胁。会计存储、处理和传输设备中所使用的操作系统, 由于技术的限制, 存在各种各样的漏洞, 易被病毒、木马侵袭和受到黑客的攻击。由于病毒的隐蔽性强、传播范围广、破坏力大等特点, 对远程网络会计信息传输的安全构成了极大的威胁。三是应用过程中面临的威胁。传统会计中, 会计信息的真实完整和经济责任的明确是通过白纸黑字的会计记录、相关会计记录中的签字盖章、审计制度及内部控制制度来确保的。而在网络环境下, 在网络传输和保存中对电子数据的修改、非法拦截、获取、篡改、转移、伪造、删除、隐匿等可以不留任何痕迹, 从而加剧了会计信息失真的风险。

三、会计电子数据的安全对策

(一) 本地会计电子数据的安全对策

一方面是单个文件数据的安全加密。单个文件的数据包装是基于软件本身所提供的数据加密形式, 这种数据加密形式是一种基本的, 也是一种简单的数据加密技术, 所采用的加密手段仅限于软件提供的数据防护功能, 只要文档编辑者在文档中设置数据访问的密码, 其他无权限的 (不知其密码) 无法打开此文档。这种加密技术在安全应用程度上最低, 只要有一定基础的操作者, 按照相关的技巧类文章操作, 完全能破解其加密。另一方面是整个硬盘逻辑分区的数据加密。在网络和通信技术推动下, 会计电子数据的安全与加密得到了快速的发展, 采用对硬盘逻辑分区的加密形式, 比较有效地解决了大容量信息的相对安全。这种方式的加密对象是指定的逻辑分区, 只有当访问者输入了有效的密码后, 才能访问该逻辑分区, 否则访问过程将会拒绝。同单个文件的加密相比, 在安全强度上相当, 只是将数据加密的范围扩大到了整个逻辑区, 都是属于基于操作系统的软加密, 数据的加密平台位于操作系统之上。

(二) 网络会计电子数据的安全对策

存储加密技术。存储加密技术的目的是防止在存储环节上的数据失密, 可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码加密、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制, 防止非法用户存取数据或合法用户越权存取数据。传输加密技术。目的是对传输中的数据流进行加密, 常用的方法有线路加密和端至端加密包装两种。前者侧重在线路上而不考虑信源与信宿, 通过对各线路采用不同的加密密钥保密信息提供安全保护。后者则指信息由发送者端自动加密, 并进入TCP/IP数据包, 然后作为不可阅读和不可识别的数据穿过互联网, 这些信息一旦到达目的地, 将被自动重组、解密, 成为可读数据。密钥管理加密技术和确认加密技术。为了数据使用的方便, 数据加密在许多场合集中表现为密钥的应用, 因此密钥保密与窃密的主要对象。网络信息确认加密技术通过严格限定信息的共享范围来防止信息被非法伪造、篡改和假冒。数字签名。为验证对方身份, 保证数据的安全性, 通常采用数字签名这一安全手段。数字签名是由于公开密钥和私有密钥之间存在的数学关系, 使用其中一个密钥加密的数据只能用另一个密钥解开。发送者用自己的私有密钥加密数据传给接收者, 接收者用发送者的公钥解开数据后, 就可确定消息来源, 从而有效地防护数据不被盗用。

会计电子数据的安全保密是多方面的、动态的且不完全的, 各个企业可根据自己的具体情况, 按“适度安全”原则, 提出安全目标, 系统化地解决会计电子数据安全保密问题。

参考文献

[1]骆正云:《会计电算化数据安全问题及对策》, 《中国管理信息化》2006年第9期。

[2]郑庆良、杨莹:《网络会计信息系统安全风险及其防范》, 《财会通讯》 (综合版) 2006年第12期。

VC++中实现数据加密 篇5

一、密键加密法:

加密算法可以公开,但加密键一定要保密。密文对不知道加密键的人来说,是不容易解密的。如下述算法:

A.把源文分成等长的块,每块的长度和加密键的长度相等,对长度不够的块用空格补充;

B.用自己定义的整数代替源文的数据;

C.对加密键也进行数据替换操作;

D.对源文的整数码与加密键相应字符的整数码进行相加,然后对某一整数进行取模操作;

E.将整数码再用相应的字符进行替换,这样就得到了密文。

实现代码如下:

CString CEncryptDlg::Encrypt_Key(CString Source,CString Key)

{

int iSourceLen,iKeyLen;

int iCount;

div_t div_Result;

char strTarget[255];

char pKey[255],pSource[255],pMid[255];

CString strTmp;

int i,j,n;

BYTE PWD_key[255];

j=0;

for (i=32;i<=126;i++)

{

PWD_key[i]=j;

j++;

}//取ASCII值在32~126之间的可视字符

iSourceLen=Source.GetLength();

iKeyLen=Key.GetLength();

div_Result=div(iSourceLen,iKeyLen);

if (div_Result.rem)

iCount=div_Result.quot+1;

else

iCount=div_Result.quot;

wsprintf(pKey,“%s”,m_Key);

n=0;

for (i=1;i<=iCount;i++)

{

strTmp=Source.Mid((i-1)*iKeyLen,iKeyLen);

if (strTmp.GetLength()

{

for (j=1;j<=iKeyLen-strTmp.GetLength();j++)

strTmp+=“ ”;

}

wsprintf(pSource,“%s”,strTmp);

for (j=1;j<=iKeyLen;j++)

{

int k1;

int k2;

k1=PWD_key[pKey[j-1]];

k2=PWD_key[pSource[j-1]];

int k=k1+k2;

div_Result=div(k,ENCRYPT_KEY);

k=div_Result.rem;

pMid[j-1]=k;

strTarget[n++]=k;

}//对源文进行替换加密处理

}

for (j=0;j

{

strTarget[j]+=32;

if (strTarget[j]==32) strTarget[j]='*'; //用“*”替代密文中的空格

}

strTarget[n]='�';

CString strResult;

strResult.Format(“%s”,strTarget);

return(strResult);

}

注:对D步的数据处理,每人也可以根据自己的具体情况用别的计算方法替换,

二、明键加密算法

明键加密算法可以随意使用加密算法与加密键,但是解密键是保密的。所在,它同时需要两个键,一个用于加密,一个用于解密。而解密键不能从加密键推出的。从而,每个人都可以对源文进行加密操作,但是在没有授权进行解密时,他是不能完成解密工作的,因为他不知道解密键。具体算法如下所述:

A.任意选择两个质数p与q,它们取值最好在100位左右。同时计算r=p*q;

B.任意选择一个整数e,e是与(p-1)*(q-1)互为质数的,e就是算法中的加密键;

C.求解方程式:(d*e) mod ((p-1)*(q-1))=1,d即是加密算法中的解密键;

D.对源文p进行加密即可得到密文,计算公式为c=pe mod r;c即为密文;

E.对密文c进行解密即可得到源文,计算公式为p=cd mod r;p即为源文;

加密算法实现如下:

CString CEncryptDlg::Encrypt_KnownKey(CString Source)

{

int r=ENCRYPT_P*ENCRYPT_Q;

int e=101;

//设置加密键,一般比P与Q大的质数就可以选作加密键

int k=(ENCRYPT_P-1)*(ENCRYPT_Q-1);

int d=5;

//求得解密键,即满足公式:(d*11) mod k=1

char pSource[255];

char pTarget[255];

int iLen;

int i;

DWORD dw1;

wsprintf(pSource,“%s”,m_Source);

iLen=m_Source.GetLength();

for (i=0;i

{

div_t div_Result;

dw1=Exp(pSource[i],e,r);

div_Result=div(dw1,r);

pTarget[i]=div_Result.rem;

//获取密文

}

pTarget[iLen]='�';

CString strTarget;

strTarget.Format(“%s”,pTarget);

return(strTarget);

}

解密算法如下:

CString CEncryptDlg::Decode_KnownKey(CString Source)

{

int r=ENCRYPT_P*ENCRYPT_Q;

int e=101;

//设置加密键,一般比P与Q大的质数就可以选作加密键

int k=(ENCRYPT_P-1)*(ENCRYPT_Q-1);//k=168

int d=5;

//求得解密键,即满足公式:(d*29) mod k=1

int iLen=m_Source.GetLength();

char pSource[255],pTarget[255];

wsprintf(pSource,“%s”,m_Source);

for (int i=0;i

{

纵向加密技术在调度数据网的应用 篇6

调度数据网作为电力调度生产服务中不可或缺的重要组成部分,被应用于电力企业的日常工作中。但由于电力系统间存在复杂的业务数据传输关系,调度数据网作为电力企业信息传输载体,因此应重视纵向加密技术在调度数据网中的应用,以保证电力企业业务数据传输的安全性,提高我国电力企业的综合服务水平。

1、电力二次系统安全防护体系

电力企业的纵向防护体系是一个相对比较复杂的过程。早在前几年,国家电监会对电力二次系统安全防护工作就有明确的规定和要求,以保证电力监控系统和电力调度数据网络的安全,避免电力企业管理过程中意外事故的发生。电力二次系统的防护核心就是纵向加密技术,纵向加密技术实现了对电力数据的安全防护,避免了数据的丢失和信息的外泄等,保证了电力数据传输的稳定性、可靠性和及时性。

2、总体设计方案

目前我国很多地方的电力调度数据网纵向安全防护体系是以纵向加密装置、纵向加密装置管理系统、电力调度证书系统和安全监视平台的建设为前提的,主要如下:

2.1纵向加密装置。纵向加密认证装置的密码包括对称加密算法、非对称加密算法、随机数生成算法等多种形式,以实现数据网络的安全防护。

2.2纵向加密装置管理系统。纵向加密装置的管理系统不仅能设置和查询全网的加密认证网关,且能够实现对数字证书的管理及密钥的初始化,对全网加密认证网关的工作模式、状态等进行查询和设置,并对全网的各个加密装置实施有效的监控和管理。

2.3电力调度证书系统。电力调度的数字证书系统采用的是以公钥技术为前提的分布式证书系统,它不仅为电力调度数据网的各个环节提供数字证书服务,保证调度数据网运行的安全性,同时也实现了身份认证的准确性和行为审计的可靠性等。不同地区电网调度的实际情况不同,相关的电网调度证书系统也是不同的。相关电力人员应该综合考虑相关地区的实际情况,进行数字证书的设置和颁发,以保证该地区调度数据网络运行的质量和效率。

2.4安全监视平台。安全监视平台的目的是保护网络安全,及时对网络系统进行安全防护,提供防火墙的功能,以保证未知的危险因素对网络的侵袭,对于可能出现的危险源进行中断或者终止。对网络系统中的数据库、软件、资源等进行检测,净化网络环境,保证调度数据网的正常运行。相关负责人要根据电力企业的不同情况,采用不能的方法对网络系统进行防护,在电力调度数据网上实现数据的加密和解密,保证数据的安全性和数据运行的时效性。

3、分级部署方案

3.1地方调度的部署方案。由于地方调度接入的業务比较多,对业务的要求也相对较高,因此需要根据情况在调度数据网的接口处部署路由器。下图1为地方调度部署示意图。

3.2变电站的部署方案。由于变电站接入的业务比较单一,加密装置的配置也比较简单。变电站应该在路由器与交换机之间进行纵向加密网关的部署。变电站的接入方式不影响加密装置的功能及正常运行。如图2。

4、系统功能及实施过程

4.1纵向加密装置的部署。在纵向加密装置的部署过程中,相关工作人员应该确定相关业务是否正常通信,然后再进行装置的接入,对相关装置接入完毕后,对设备进行检测,确定其正常运行。保证通信正常后,根据需要进行备份,进而进行测试。纵向加密装置的部署包括装置管理系统的上架、通信测试、加电测试等。

4.2证书系统的部署。证书系统的部署包括制作证书请求文件、录入相关证书请求、审核证书请求以及证书的生成等一系列重要环节。相关负责人要重视证书系统的部署,保证证书系统部署的准确性和完善性,以便在通信过程中对证书进行合理有效的验证。

4.3IPS装置的部署。IPS装置的部署包括装置的上架、加电测试、通信测试和功能测试等。专业人员应该对相关内容进行配置,保证其正常运行,以实现调度数据网的远程管理。

5、结语

随着人们日常用电需求的加大,纵向加密技术越来越多的被应用于调度数据网的日常运行过程中,纵向加密技术是保证调度数据网安全运行不可或缺的重要因素。应重视纵向加密技术在调度数据网运行过程中的重要作用,根据当地电力部门运行的实际情况,将纵向加密技术应用于调度数据网中,并对调度数据网的运行和监测进行合理的部署,保证我国电力企业的快速发展和人们日常用电水平的提高,为纵向加密技术在我国调度数据网运行中的应用提供科学依据。

数据加密技术的应用要点分析 篇7

1 数据加密技术概述

现代数据加密技术是基于早期信息通讯保密技术发展而来的, 其根据特定的对换规则, 实现一种变明文为密文、变密文为明文的信息传递过程。早期的数据加密技术所应用的范围受限, 仅能完成对数字、文本等信息的加密。随着21世纪计算机网络技术的飞速发展, 对于视频、音频、图像、数据等多样化信息载体的研究取得了重大突破, 新一代的数据加密技术由此诞生。密码技术对一门系统性的学科——密码学进行研究, 密码学主要分为两个部分, 分别是密码编码学和密码分析学。随着数据加密技术的不断成熟, 其已作为一项基础数据保护技术而被广泛应用于国民生产与生活的方方面面, 例如银行卡、USB Key、无线射频识别 (RFID) 技术等。数据加密技术依托于计算机网络技术, 其结构与计算机相似, 可分为输入输出、储存、控制、运算等多个部分。数据加密技术的一个核心要点是密钥, 数据加密技术具有极强的针对性, 只有特定的用户或者特定的网络才能破解密码获取信息。

2 计算机网络安全现状探究

对于计算机网络安全有一个较为明确的定义, 其是在计算机网络管理的基础之上, 利用一定的技术措施保障数据的完整性、保密性以及使用性。计算机网络安全可分为物理安全和逻辑安全两个方面, 从目前网络技术的发展现状来看, 计算机网络安全仍面临着不小的挑战。计算机网络安全主要在于保障数据安全, 目前对数据安全产生潜在威胁的因素有很多, 主要可以分为三类:自然因素、人为因素和偶然因素。在影响计算机网络安全的种种潜在因素中, 人为因素所产生的威胁最大并且所造成的后果最为严重, 其主要表现为以下几个方面。第一, 破坏数据的保密性, 由于计算机网络技术是开放性的, 这使得数据在传递过程中易受到来自于网络或者物理传输线路的入侵。第二, 数据的完整性, 一些不法分子想方设法盗取计算机系统资源, 进而非法获取计算机数据。第三, 可使用性, 计算机数据的使用价值对于计算机网络安全而言具有十分重要的意义, 来自于不同地区、不同国家的网络黑客可能利用各类病毒与木马攻击计算机网络, 从而导致网络瘫痪、数据泄露等各种危害计算机网络安全的问题产生。

3 数据加密技术原理及其应用要点分析

3.1 数据加密技术原理

为了保障数据安全性, 就需要从本质上认识各类数据加密技术。一套完整的数据加密技术包含四个方面, 即密文、明文、密钥以及函数关系 (算法) 。如图1所示。

数据加密技术依据加密的方式不同, 细分为多种类型的数据加密技术。经典的分类方式是按照数据加密技术的密钥进行分类, 分为对称和非对称两类数据加密技术。以最新的AES加密算法为例, 其采用的是多组密钥位数以保障加密数据的安全性, 有128位、192位以及256位, 128位主要应用于分组加密。AES算法主要可以分为以下四个步骤, 字节替换、行位移、列混合以及轮密钥加。其中字节替换具有非线性计算的典型特征, 可以抵御外界简单的代数攻击。整个加密算法运用到数学矩阵思想, 对数据进行几轮行列变化之后, 能够到达明文加密、密文解码的目的。对于数据加密技术的分类, 还有置换表算法、循环位移法、XOR操作算法等。

3.2 数据加密技术分类

3.2.1 节点加密技术

在数据传递的过程中完成数据加密的技术称为节点加密技术, 此技术最显著的特征是数据在传递过程中, 不会出现明文, 以实现保障数据安全性。但是节点加密技术也存在一个明显的缺点, 通讯双方的传输数据需要以明文的形式存在。节点加密技术的加密过程对于用户自身而言是透明的。

3.2.2 链路加密技术

链路加密也称为线加密, 链路加密技术在两个网络节点的某一次特定通信中对于数据的加密具有优势。其特点是在所传输的所有数据被传输之前, 实现对于数据的加密处理, 之后在每一个通信节点完成对于加密数据的解密, 之后使用下一个线性链端的密钥对数据重新加密进行传输。链路加密技术的明显特征是在数据到达终点之前, 一个数据需要经过多个通信链路的传输。由于链路加密技术的安全性, 其在保障计算机网络安全中得到了广泛应用。

3.2.3 端端加密技术

端端加密技术相对链路加密技术而言更加直接, 其是保护信息传递的一端到另一端安全的加密技术。简单来说, 其是使得数据在发送方一端被加密成密文, 在数据接收方被解码成明文的一种数据加密技术。其减少了在数据传输过程中对于数据的加密解密处理, 减少了在数据传递过程中对于加密解密设备的应用, 对于保障数据传递安全性起到了一定的作用。

3.3 应用

在实际生活中, 数据加密技术往往是根据不同的需要采取相适应的方式应用于数据保护过程中的。例如, 在无线网络中, 通过计算机网络协议成功地将AES加入到计算机网络安全体系中;在电子商务的运行平台上, AES显著发挥出其高安全性的特点, 有效保护了用户在SSL协议中的个人信息的安全。数据加密技术除了在保障计算机网络安全中有着广泛应用之外, 在一些生活硬件中也发挥了出色作用, 例如公交IC卡、门禁卡、二代身份证等, 这些硬件设备都嵌入了IC芯片, 数据加密技术将会应用于这些IC芯片中, 提高用户数据的安全性。

4 结语

综上, 计算机网络安全已成为人们所重点关注的话题, 数据加密技术的不断成熟和发展必将使得未来计算机网络安全性得到进一步提高。

摘要:21世纪计算机网络技术得到了飞速发展, 信息化进程不断加快, 数据加密技术已被广泛应用于生活中的各个方面。数据加密技术是为了保护计算机中数据安全性而设计的, 目前, 数据加密技术已成为计算机网络安全技术的基石, 被广泛应用于计算机网络构架中。笔者从几种数据加密技术的原理出发, 探究数据加密技术在计算机网络安全中的应用要点。

关键词:数据加密技术,原理,应用要点

参考文献

[1]刘宇平.数据加密技术在计算机安全中的应用分析[J].信息通信, 2012 (2) :160-161.

[2]朱闻亚.数据加密技术在计算机网络安全中的应用价值研究[J].制造业自动化, 2012, 34 (6) :35-36.

消除重复数据的加密云存储系统 篇8

云计算[1]是近几年最热门的互联网技术,同时也是发展最为迅速的互联网服务模式。随着云计算重心的迁移以及大数据的兴起,存储即服务(Storage-as-a-Service,Saa S)作为云计算的支撑技术迅速发展,同时单独的云存储服务(cloud storage)在商业上也得到广泛的应用,比如Drop Box、Google Drive等。

云存储服务的推广,业界很快发现围绕个人数据的可用性和安全性是云存储服务推广的最大障碍。用户对于云存储服务提供商的可用保障和安全保障能力心怀疑虑,从而阻碍了用户将更多的数据和业务转移到云平台上。

如今现有的加密云存储系统,主要有如下几类:使用用户私钥加密数据,但这样无法消除重复数据,对于不同用户的相同文件,因为私钥不同, 加密出来的文件不一样, 例如E (Ka, f )→Ca≠Cb←E(Kb, f ),当Ka≠Kb。也有使用系统分配密钥加密文件的,这样做到了消除重复数据,但是众多客户端使用相同密钥,难以抵抗伪造客户端的攻击。对此,文献[2]设计了一套能消除重复数据的加密云存储系统。系统中使用消息自加密确保存储系统中没有重复数据;使用带认证的加密协议确保密钥的安全签发与传输;使用高级加密算法确保数据的安全性。本文在介绍该系统的基础上,通过在系统中加入RS纠删码提出了一套可消除重复数据的加密云存储系统,分析了数据的安全性和完整性保护性能。

1 系统概述

如图1 所示,文献[2]提出的系统由代理服务器、密钥服务器、存储服务器组成。代理服务器主要负责数据资源计算部分以及用户请求的处理;密钥服务器主要负责分发文件加密密钥;存储服务器主要负责数据在冗余备份条件下的存储。其运作流程如下:

用户(User)通过终端将数据文件f (file)上传至该系统。代理服务器(Proxy Server)可以视为存储服务器的客户端,收到文件后计算出文件f的信息摘要h =H( f),然后通过OPRF协议[3],和密钥服务器(Key Server)通信获取文件加密密钥K =Hmac(Ks,H(f ))。本次通信结束,密钥服务器没有得知需要加密的消息h ,而代理服务器也不曾拥有密钥服务器的密钥,同时若两条消息相同h1=h2,则能通过HMAC算法保证在同一个密钥Ks下生成的消息摘要是相同的

接下来,代理服务器使用K为密钥加密文件得到加密后的文件Cf=E(K, f ),然后使用用户私钥Ku加密文件密钥K得到加密后的文件密钥Cu=E(Ku, K) 。代理服务器首先会查询存储服务器上是否已经存在文件Cf,若是存在则无需再次存储Cf,只需要存储用户对应的文件密钥Cu;若是不存在,则代理服务器将Cf和Cu作为一组用户数据送到存储服务器(Storage Server)上,由于Cu只是文件密钥加密文件,数据长度有限,故直接以3 备份方式存在数据库中;而Cf是加密后的用户数据,大小和用户上传文件直接正相关,是占据存储空间的主要部分,故使用纠删码(Erasure Code)中性能稳定的RS码编码后存储,编码后不仅能均衡单个存储节点存储压力和网络通信负担,还能使数据有一定的容灾能力。如图中采用的RS编码生成2 个数据块(D1, D2) 和1个编码块(C1) ,3 块分别存储于不同存储节点,单一节点上的数据损坏或者丢失并不会影响用户数据的完整性。

若用户想要获取云存储端的个人数据,则代理服务器发送获取用户文件的命令到存储端,存储服务器则从各个节点读取数据,通过RS译码还原出加密文件密钥Cu=RS(D1,D2,C1),然后将加密文件Cf和加密文件密钥Cu一起返回代理服务器;代理服务器使用用户私钥Ku解密加密文件密钥Cu得到文件密钥K =D(Ku,Cu),再使用K解密文件Cf得到文件f =D(K ,Cf);最后将解密后完整的文件f发送至用户。

2 数据的隐私性分析

在分析数据隐私之前,先介绍下MLE (Message-Locked Encryption)[4],简单来说即利用消息M本身产生密钥K ,比如使用常用的MD5、SHA得到K =H(M) ,然后使用该密钥加密消息本身生成密文C=E(K,M)。使用MLE能和不加密的系统一样,很容易实现消除重复数据,因为对应已经指定的消息M生成的密钥K是一定的;但是当用户文件集比较小的时候,攻击者可以通过暴力破解加密文件,造成用户隐私泄漏。而在本系统中,特地设立密钥服务器来加强MLE中的K ,通过散列消息认证码K =Hmac(Ks,H(M ) )使得文件摘要变得不可预测,同时结合OPRF协议[3]将服务器密钥Ks和消息摘要H(M) 泄漏概率降至最低。而在系统其它过程中只要用户私钥没有被窃取,攻击者即使拿到了加密文件,也面临的是破解AES加密的问题,就现在来说几乎是不可能的。

3 数据的容灾性分析

在设计的系统中,容灾性是由冗余备份所提供的。而本系统中冗余备份是由RS编码实现,而RS编码的纠错性能早已有深入的研究[5]:将k个源数据包冗余编码为n(n>k) 个编码包,只要有还有k个完整的包就能恢复出完整的源数据。假设使用RS(n,k,t) 编码,那么码率为r =k/ n ,假设存储中单位长度的数据(数据块)出错概率为p且互不影响,令q =1-p ,原数据长为k个单位长度,那么能顺利将数据读取出来的概率为∑ti=0Cniqn -ipi。对比数据存储时未处理、3 备份和RS(15,8,3)编码,得到下表:

从上表容易看出,当数据块出错概率为p =1 /100 时,RS编码冗余备份可以在更高的恢复概率下降低3备份所造成的存储空间浪费。

4 结束语

如何确保云存储系统中数据的安全性和隐私性是云计算面临的难题。本文介绍一种基于摘要算法、加密算法、加密协议的能消除重复数据的加密云存储系统:针对重复数据过多,使用MLE的方式消除重复数据;然后通过设立一个密钥服务器,并利用OPRF协议通信来弥补MLE的缺陷,更好的保护用户隐私的安全。最后使用纠删码对用户数据进行备份,提高存储效率的同时提升数据的容灾能力。适合部署在如今纷杂的个人云存储平台上。

参考文献

[1]Peter Mell,Timothy Grance.NIST Special Publica-tion 800 -145:The NIST Definition of Cloud Computing-[S].Natio nal Institute of Standards and Technol ogy,Se-ptember 2011.

[2]Keelveedhi S,Bellare M,Ristenpart T.Dup LESS:ser-ver-a ided encryption for deduplicated storage[C].Pres-ented as part of the 22nd USENIX Security Symposium(USENIX Securit y 13).2013.

[3]C AMENISCH,J.,N EVEN,G.,AND SHELAT,A.Simul-atableadaptive oblivious transfer[J].In EUROCRYPT 2007(B arcelona,Spain,May 20–24,2007),M.Naor,Ed.,vol.4515of LNCS,Springer,Berlin,Germany,pp.573–590.

[4]Bellare M,Keelveedhi S,Ristenpart T.Messageloc-ked e ncryption and secure deduplication[M].Advances in Cryptology–EUROCRYPT 2013.Springer Berlin Heidel-berg,2013.

数据库敏感字段的加密研究 篇9

数据库通常以明文存储, 现有的数据库管理系统基本上采用用户认证、授权管理、安全审计等技术进行安全管理。但是,诸如数据库管理员或侵入数据库服务器的黑客,都可以毫无阻碍地访问数据库的重要数据,一些敏感数据在存储期间的机密性并不能得到有效保障。例如,医院的医生开单记录如果被随意读取进行统计分析, 容易导致药品销售过程中的不合法行为。因此,对于敏感数据应当进行加密处理后再存储。本文采用基于AES的一种加密算法对医院的门诊、住院、处方等数据表的敏感字段进行加密和解密,从系统的存储层上保证数据的安全性很大程度上解决了敏感数据的防泄露、防篡改和防破坏问题,从技术层面加强对医院药品的管理控制。

2数据库加密粒度

按照数据库的结构层次,数据库加密粒度可分为数据库级、表级、记录级、字段级以及数据项级。应根据不同的应用需求,选择适合的加密粒度。

数据库级加密粒度的加密对象是整个数据库,对所有的用户数据表、系统数据表、索引、视图、存储过程、函数等都进行加密处理。可以采用库内和库外两种加密方式。库内加密是在DAMS内部实现加密,在对数据库进行物理存取之前由DBMS完成加密 / 解密工作,加密密钥通常保存在系统表(或称数据字典)中。这种方法对用户是完全透明的,但加密 / 解密运算需要在服务器端进行,当用户访问数据库时,即使只需检索符合条件的很少一部分记录,也要对整个数据库进行解密,因此加重了数据库系统的负担。另外由于加密密钥通常与数据库保存在一起,因此,加密密钥的安全保护依赖于DBMS中的访问控制机制,密钥管理安全风险大。库外加密是将数据库加密系统做成DBMS的一个外层工具。先将数据在内存中进行加密,然后文件系统把每次加密的内存数据写入数据库文件中, 读出数据时再逆向进行解密。这种方法的缺点是对数据库的读写比较麻烦,每次都要进行加密 / 解密的工作,影响数据库的读写速度。

表级加密粒度的加密对象是数据库中的表。一般来说,只需对数据库中包含敏感信息的部分表进行加密即可。采用表级加密粒度,访问时只需要对特定的表进行解密,与采用数据库级加密粒度相比,系统性能有一定的改善。

记录级、字段级、数据项级加密粒度的加密对象分别是数据表中的记录、字段或某些记录中某字段的值,这几种加密粒度更细,灵活性更好,但密钥管理更加复杂。现实中一些重要和敏感的信息往往是某些记录的某些字段,只需对这些重要内容进行加密即可,普通数据则没有必要加密,以免增加不必要的性能开销。例如医生开单记录具有特定的时效性,因此只需对某个时段的医生姓名字段进行加密即可。

3加密算法

3.1 AES算法介绍

高级加密标准算法(Advanced Encryption Standard,AES)是一种分组对称加密 ,使用相同的密钥对数据进行加密和解密, 支持128bit分组加密, 并可选择使用128、192和256bit密钥。AES算法的原型是采用宽轨迹策略的Square算法。宽轨迹策略是针对线性分析和差分分析提出的,最大优点是可以给出算法的最佳线性逼近偏差的界,以及最佳差分特征的概率,可以提高算法抗击线性密码分析及差分密码分析的能力。

AES算法使用循环结构迭代加密 ,加密和解密分别经过十轮的运算处理, 每一轮操作包括四个基本步骤:字节替换SubB ytes ()、行移位Shift Rows ()、列混合MixC olumns()和轮密钥加AddR oundK ey()。加密的具体流程如图1所示。

图中每轮变换所需要的密钥,通过密钥扩展算法得到。解密算法与加密算法的主要区别有:使用密钥序列的顺序不同、置换盒不同、行移方向不同、列混系数不同,以及每轮变换中函数的使用顺序不同。

具体实现时,AES算法主要分为三大模块:密钥注入INITKAES()、数据加密Cipher()和数据解密InvC ipher()。

AES将加密密钥的位数提高到128bit以上 ,极大地增加了破解密文的难度。AES算法具有灵活、高效、易实现、抗击多种密码分析的优点,广泛运用于商业、政治和军事的数据加密。

3.2算法改进

尽管如此, 直接使用AES算法对数据库字段进行加密存储也是不可取的。AES算法工具和源码都很容易得到,对于数据库管理员或黑客来说,由于AES算法是对称加密,只要找到相应的密钥存放表,就可以对加密字段自行解密。因此,本文在实际加密处理时,并不是直接使用AES算法,而是将其作为算法核心,辅以一些变换运算,构成最终的加密算法。

改进的加密算法如下:

1生成两个随机数R1(32字节,即256bit)、R2(16字节),其中,R1作为密钥;

2将密钥R1与一条记录主键的某字段 (如ID)异或得到该记录的加密密钥UR1;

UR1=R1茌ID (1)

3调用密钥注入函数注入加密密钥,aes.INITKAES(32, UR1);

4使用该加密密钥对随机数R2进行加密, 得到密文SC(16字节),aes.Cipher(R2, SC);

5用SC异或需要加密的字段YW, 得到加密结果MI。

MI=SC茌YW (2)

6将该记录的所有主键和R1、R2及加密结果MI等信息作为一条记录, 保存到数据库,用于日后解密使用。

解密时,先查询密钥R1、R2和加密结果MI,然后重复上述2~4步骤 ,得到SC,再用SC异或MI,得到明文YW。

YW=SC茌MI (3)

4实现与分析

4.1加密实现

首先读取数据表中敏感字段所在记录,采取一次一密的方式, 按改进的算法逐条对敏感字段数据进行加密处理, 用得到的密文修改数据库原明文字段, 同时将该该录的所有主键与密钥 (R1、R2)、密文及加 密时间等信息保存到相应的密钥表。

解密时, 根据主键的一致性检索待解密记录的密钥, 当确定数据表中的密文与密钥表中的密文一致时,使用该密钥进行解密,还原数据表中的敏感字段值。对敏感字段加密和解密流程如图2所示。

4.2密钥管理

由于数据表的主键各不相同,因此每一个有需要加密字段的数据表对应一个密钥表。密钥表既可以与原数据表放在同一个数据库内, 也可以放在其他数据库内,或单独建立一个密钥表数据库。数据与密钥不仅可以做到逻辑分离,还可以实现物理分离,即两者可以不存放在同一台服务器上,这样隐蔽性更强,能更好地保证数据库中敏感数据的安全。

本文需要加密的敏感字段在Oracle数据库中,而密钥表保存在SQL Server 2008数据库, 并且两者异地存储。

4.3加解密速率分析

尽管加密效率并不是我们所追求的,但考虑到医院每天的门诊和住院信息量很大, 处方记录数量非常多,因此,在加解密速率方面,也适当予以关注。本文采用C++ 语言编程 , 在CPU为3.0GHz, 内存为1G,window操作系统的笔记本电脑上测试,加密速率达到每秒1000条以上记录。改进后的加密算法,仅仅是在AES算法的基础上进行适当的异或运算,对加解密速率的影响几乎可以忽略不计。

5结束语

DES数据加密的FPGA实现 篇10

1 DES加密算法原理

DES算法是在64位密钥控制下由64位数据组成的加密和解密块。解密必须与加密使用相同的密钥,解密过程是加密过程的逆过程。要加密的块首先经过初始IP变换,然后经过复杂的密钥函数计算,最后经过初始变换的IP-1逆变换。加密结构如图1所示。具体的加密过程如下:

64位数据的明文输入后经过IP表初始置换后输出64位的数据。将初始变换后的64位明文分为两部分L和R,长度分别为32位,然后数据通过如图2所示的n轮的处理。每一轮的输入Li-1和Ri-1都来自上一轮的输出,子密钥K由初始密钥K扩展而来。每一轮变化的结构都完全相同。左边一半数据需要执行一次置换操作。而右边一半数据执行一次“轮函数F”,然后与左边一半数据进行异或,最后再将数据的两个部分交换。即

经过16轮后,得到L16和R16,将两部分合起来后,最后再进行初始变换的逆变换,即得到所需的密文。

2 子密钥生成

子密钥的生成流程图如图3所示。

输入的64位密钥经过PC-1变换为56位。然后将此56位密钥平分成分别为28位的C0和D0,将C0和D0分别循环左移一位得到C1和D2,将C1和D1合在一起,再经过PC-2变换,得到子密钥K1,之后再将C1和D1分别循环左移,得到C2和D2,再将C2和D2合在一起,再经过PC-2变换,得到子密钥K2,依此类推,将Ci-1和Di-1分别循环左移,得到Ci和Di,再将Ci和Di合在一起,再经过表PC-2变换,得到48位的子密钥Ki,共经过16次迭代,分别得到每次的子密钥Ki(i=1~16)。子密钥生成的代码示意如下:

在进行循环左移时,每次左移的位数都不一样,左移次数和迭代次数如表1所示。

移位实现代码如下所示:

3 轮函数F计算

F函数的计算过程如图4所示,将32位的数据经过E表扩展置换后形成48位的数据,然后与各轮的子密钥异或,然后通过S盒的非线性变换,S盒共有8个,将48位数据分成8个6位b1b2b3b4b5b6数据,以b1b6为行号,b2b3b4b5b6为列号,输入给每个S盒,分别输出4位数据。这样将F函数扩展出来的48位数据减少为下一轮需要的32位数据。

S盒的置换算法可采用非ROM方式[4]和ROM方式[5]实现,本文使用ROM方式实现,即如下的第4种。具体有以下几种:

1)根据S盒的工作原理,可直接使用输入为六变量,输出为四变量的case语句进行描述,构成一个4位26个存储空间的表。然而这样的语句虽然可读性很强,但综合的效率往往不高,占用资源过多,速度也比较低,使S盒成为系统速度的瓶颈。

2)为了利用FPGA内部的四输入查找表结构,可将S盒的逻辑描述进行重新设计,即先固定2个变量,而使另外4个变量发生变化。在实现时使用双重case语句,外层使用两个变量,对应S盒输入的第1、6位。内层使用4个变量,对应S盒输入的第2、3、4、5位,形成一个6输入、4输出的查找表。该方案可充分利用FPGA的内部资源,提高综合效率,加快算法执行速度。

3)另一种方法就是根据S盒列出每位输出的真值表,用卡诺图进行化简,得到每一位输出的逻辑表达式,再用VHDL语言进行描述。为了节省资源,化简时应考虑多个输出函数之间的乘积项共用问题。采用该方案实现的S盒在资源利用率和速度的提升上都有很大的改进。

4)首先将48位输入分为8组,每组6位。然后用这6位数据查找一个6输入的置换表,该置换表就称为S盒。在实现过程中用一个只读存储器(ROM)来存储所有的置换模式。置换模块将块索引和输入数据结合起来构成一个地址,用来查找S盒中相应的置换值。地址的计算由函数smap执行,这样在置换函数中,分别调用8次smap函数执行8次置换。为了优化数据路径,可将S盒分成8个更小的ROM,这样可以并行访问。置换函数如下所示:

4 仿真结果

DES加密的芯片设计采用VHDL语言进行描述,代码包含des_ip、des_ip_1、key_pc_1、des_e、key_pc_2、des_p共6个部件以及key_rotate和substitute两个函数,依次分别完成初始变换、最终逆变换、64位密钥到56位的压缩转换、32位到48位的压缩置换、48位到56位的置换、32位到32位的变换以及子密钥的移位运算和S盒轮函数运算。代码在Quartus II开发环境中编译完成,以Altera公司Cyclone EP1C12F324C6为目标器件,逻辑综合结果表明系统共占用3968个逻辑单元(LE)。

假设需要加密的明文分别为4E6F772069732074、68652074696D6520、666F7220616C6C20,所用密钥为0123456789ABCDEF,经过初始置换,16轮迭代加密,逆初始置换,最终的加密密文分别为:3FA40E8A984D4815、6A271787AB8883F9、893D51EC4B563B53,其时序仿真结果如图5所示,仿真结果表明,系统完全实现DES算法的加密功能。

摘要:文章对DES加密算法进行了详细的分析,给出了采用VHDL描述基于FPGA实现DES加密算法系统的设计过程和仿真结果。该算法在密钥生成、S盒的处理中采用了并行处理的方式,克服了传统DES流水线实现方式的缺点,进一步提高了系统的处理速度。

关键词:DES数据加密标准,FPGA,VHDL

参考文献

[1]FIPS 46-3.Data Encryption Standard(DES),National Institute of Standards and Technology(NIST)[S/OL].http://csrc.nist.gov/cryptval/des.htm.

[2]肖新帅,刘洪鹏.基于FPGA的DES算法的并行加密技术[J].科技信息,2010(25).

[3]Biham E.A fast new DES implementation in software[EB/OL].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.5429&rep=rep1&type=pdf.

[4]王简瑜,张鲁国.基于FPGA实现DES算法的性能分析[J].微计算机信息,2007,23(8).

数据的加密 篇11

【关键词】电子商务;安全;加密技术

现在随着网络技术的发展和普及,电子商务正在影响和改变着人们的生活。越来越多的商家已经认识到,要想在市场竞争中取得优势,必须将业务实体向电子商务方向拓展,借助网络以较低成本扩展自己的市场份额。网络上的交易虽然方便快捷,但存在各种各样的风险,如病毒的感染、数据被窃听、身份冒充等,因此,安全问题已经成为电子商务发展中不可忽视的问题,安全是电子商务不可缺少的条件和基础[1]。

一、电子商务系统的组成

电子商务系统的总体架构分为三个层次,底层是电子商务网络平台,中间是电子商务基础平台,顶层是电子商务应用系统。电子商务网络平台,是指支持整个电子商务系统运行的企业内部网和Internet,与银行支付系统的接口连接,客户通过网络实现网上交易。中间层电子商务基础平台,是为电子商务应用提供服务的基础设施。如CA认证机构、支付网关等。电子商务应用系统是指企业进行电子商务的软件系统,为客户提供购物服务和企业内部管理服务的功能[2]。

二、电子商务面临的安全问题

电子商务的安全性主要是指电子商务网络平台的安全和交易中信息传递的安全。而网络平台的安全是指电子商务系统的计算机设备、软件平台和网络环境能够正常运行,不受外部入侵和破坏。由于电子商务是通过计算机和网络实现的,因此它面临着一系列的网络安全问题[3]。

1.信息泄漏。在电子商务中表现为商业机密的泄漏,交易双方进行交易的内容被第三方窃取,破坏信息的机密性。

2.篡改。电子交易的交易信息通过网络进行传输的过程中,可能被他人非法修改、删除或修改,这样就使信息失去了真实性和完整性。

3.身份识别。网上进行交易时无法见面,经常会发生攻击者伪造网站、伪造电子邮件地址、给用户发送假冒的支付请求等攻击行为,所以需要进行身份的确认。如果不对身份进行识别, 交易的一方的身份有可能被盗用,通过身份鉴别,交易双方就可防止相互猜疑的情况。

4.抵赖。交易的一方发现交易的发生对自己不利时,就有可能否认自己的交易行为。发送方发出某个消息后,想否认发过这个消息,接收方接到这个消息后否认自己收到过这个消息。

三、數据加密

未经过加密的原始的信息称为明文,数据加密就是将明文按某种算法或步骤进行处理,使其转换成为不可读的一段字符,通常称为密文。密文需要使用相应的密钥并进行变换之后才能还原为原来的内容,通过这样的方法来实现数据不被非法人窃取目的,达到保护数据的目的,这个过程就是解密。解密是将经过处理的信息转化为其原来数据的过程[4]。

加密技术主要有两种密码体制,一种是对称密钥体制,即加密密钥和解密密钥是相同的。对称密钥算法速度快,广泛应用于对大量数据的处理。另一种是公钥密钥体制,又称非对称密钥密码体制,有两个密钥,一个公钥和一个私钥,公钥是公开的,私钥是保密的。用两个密钥中任何一个密钥加密的数据,只能用对应的另一个密钥解密。

在实际应用时一般是将这两种密码体制综合起来使用。在传输信息的过程总要避免密钥不被泄露,可采用如下策略:假如A要向B发送经过对称密钥加密的密文和对称密钥SK。可以用B公布的公开密钥对SK进行加密。将其结果和密文一起发送给B。B接受信息后首先用自己的私钥对SK进行解密。得到A的对称密钥SK。再用SK解密密文。这样就解决了密钥的转输问题。因为没有人知道B的私钥。也就没有办法获得A的对称密钥SK。

四、密钥的管理

密钥是需要保密的,这就涉及到密钥的管理问题,管理方式不合理同样可能导致被无意识地泄露。要管理好密钥需注意以下几个方面:

1.密钥要定期更换

用户与别人通信时使用密钥,密钥也存在着一定的安全性问题,虽然用户的私钥是保密的,不对外公开的,但是也很难保证私钥的机密性。一旦被别人地知道了用户的密钥,那么通讯中传输的信息就被泄露了。另外使用密钥加密的信息和次数越多,窃听者得到的可供研究的材料也就越多,从某种程度来说也就越不安全了。因此,对话密钥的使用次数和使用时间就需要有一定限制,需要定期更换密钥以减小密钥泄露的可能性。

2.多密钥的管理

对称密钥加密体制的最大问题是密钥的管理和分配比较复杂。比如,具有n个用户的网络,因为每对用户通讯时使用对称式加密算法都需要一个密钥,以保证信息的机密性,所以系统拥有的密钥总数为n(n-1)/2,需要占用大量的存储空间,如果网络或机构的人员增加,对密钥的管理是一件很复杂的事。Kerberos提出了一种解决方案,使密钥的管理和分发变得十分容易,通过建立一个安全、可信任的密钥分发中心,每个用户只要知道一个和密钥分发中心进行会话的密钥就可以了,而不需要知道成千上万个不同的密钥。

五、数据加密技术在电子商务中的应用

随着网络技术的发展,对网络传输过程中信息的保密性、完整性、身份验证提出了更高的要求,现在业界普遍采用以下方式实现信息的安全认证。

1.利用对称加密体制的信息认证

基于对称加密体制的信息认证是事先建立一个通信双方都知道的一个共享的密钥。当通信的A要发送信息给B时,为了防止信息在传输中被窃取,通信的A方将信息用共享密钥加密后再传送。通信的B方接收信息并成功解密后可以确定信息是由A方发出的。这是一种简单的信息认证方法,在认证的同时对信息也进行了加密。

2.公钥密钥体制的数字签名

数字签名是一种防止事后抵赖的手段。采用数字签名,发送方不能否认他发送过报文,接收方自己也不能伪造报文。利用公钥加密体制进行数据签名的过程如下:将发送信息用发送方的私有密钥进行加密,将得到的密文发给接收方,接收方用发送方的公开密钥对密文进行解密,若解密成功,则可确定这个消息是发送方发来的。这样, 只要拥有发送方的公开密钥,都能够验证数字签名的正确性,只有发送方才能发送这一数字签名,这也就完成了对发送方身份的鉴别。这就实现了不可抵赖性的安全需求。

六、结束语

在电子商务交易的过程中,要进行身份的鉴别、抗否认性和可服务性等安全性的服务和保证。而这些问题又要依靠密码技术、数字签名、身份验证技术等安全机制加以解决,其中加密技术是保证电子商务安全的基础和核心,随着加密技术水平的不断提高,电子商务在网络上的安全性得到进一步保证,最终将推动电子商务的不断完善和发展。

参考文献

[1]余绍军,彭银香.电子商务安全与数据加密技术浅析[J].中国管理信息化,2007,10(4):73-74

[2]唐四薪.电子商务安全实用教程[M].北京:中国铁道出版社出版社,2011.

[3]刘红军.电子商务技术[M].北京:机械工业出版社,2013.

[4]谭霞.浅谈电子商务安全中的数据加密技术[J].科技信息,2008(11):75-76

数据加密技术初探 篇12

1 加密技术

1.1 加密技术概述

20世纪70年代,密码学逐步形成一门新的学科,它的理论基础可以追溯到1949年Shammon写的《保密通讯的信息理论》。“电子政务”和“电子商务”的提出推动了密码学的发展,使得密码学开始成为一些学科的基础理论。近代密码学的研究异常热火,也大大地推动了它的发展进程。

现代密码学已发展成为集信息论、数论、代数、概率论、混沌等理论于一体,并与通信技术、计算机网络技术和微电子技术等科学技术紧密结合的一门综合性学科。———密码编码学(Cryptography)和密码分析学(Ccryptanalytic)是密码学(Cryptology)的两个相互对立的分支。前者的目标是找到安全性能较高的算法和协议,来满足对信息进行加密或认证的要求。而后者的目标是破译密码或者伪造认证信息,实现对机密信息的窃取从而进行破坏活动。

当前密码学的研究大致分成两类:一类是基于数学密码理论与技术,包括公钥密码、公钥基础设施(PKI)、密钥管理、分组密码、序列密码、数字标识、认证码、身份识别、数字签名、虚拟专用网(VPN)技术等;另一类是基于非数学的密码理论与技术,包括量子密码、基于光学的加密理论与技术、基于生物特征的识别理论与技术等。

数据加密的基本思想是通过改变信息的表示形式来伪装需要保护的信息,使非授权者不能了解被保护信息的内容。明文是那些需要被伪装的信息;加密即伪装的过程;密文是最终产生的结果;密码算法就是在加密时使用的信息变换规则;加密者是对明文加密的人,接收者是接收明文的人;而破译者则是那些利用各种手段劫取信息的人。图1是加密通信的模型的一般示意图。

1)对一个良构的加密算法最基本的要求是“保密”,也就是说密文要具不可识别性,进一步讲,它要有较好的抗攻击性。第二个要求是简单的密钥和加密算法,还要求注意误差的扩散;最后要求密文不能比原来的明文更长。其实在设计加密系统时,加密算法是可以公开的,密钥才是真正需要保密的。公开了加密算法不会从根本上让攻击者有利可图。只要破译者没有掌握密钥,就不能有效地识别明文。密码算法是相对稳定的。从这个方面来说,密码算法就是一个常量,而密钥则是一个变量。从理论上来说,任何一个加密算法都是可以破译的,但是破译者也要衡量破译的代价是否过多,也就是说有效的密码破译算法能否在有限资源的条件下及有限的时间内找到。假如破译需要100年甚至几千年,这样的密码毋庸置疑在现实意义上来说是安全的。总而言之,一个相对来说安全的密码即它的破译算法所需要的计算时间和计算能力的总和超出现实的范围,也就是现实的范围不能满足破译算法所需的时间复杂度和空间复杂度。

2)设计加密系统时又可分为两种方式———对称性密钥体制及非对称性密钥体制。所谓对称性密钥体制就是加密与解密时都使用相同的密钥,而非对称性密钥体制则是加密与解密时使用不同的密钥。非对称性加密体制的典型代表是PGP公钥加密与RSA加密算法。对一个加密系统来说加密密钥(公钥)与解密密钥(私钥)是两个非相关性的概念。从数学理论范围来讲,任何算法都是可逆的,也就是说可以从算法结果导出源数据。除了那些没有意义的操作(如除法运算时除数为0的操作)则每一步操作的结果值都是确定。应用于加密系统的设计时的意义是设计的一个加密算法,它是应用无意义的操作的,则把公钥变换成为私钥的操作是相当困难的。因此,想要破译这样的非对称性的加密算法,找到唯一的密钥,只能用穷举法了。一个加密体制中的密钥可以看作是密码算法中的可变参数。从数学的角度来看,改变了密钥,实际上也就改变了明文与密文之间等价的数学函数关系,以此保证不同的密码对应不同的密文。

1.2 传统的加密算法

简单的,我们可能用一些带加密功能的软件来加密数据。虽然我们同时掌握原文和密文的时候,可能破译该加密算法,但也不是很轻松的;如果只知道密文则破译者是很难识别出明文的。计算机系统性能对一个好的加密算法来说是不会有影响的,而且我们还能利用它的优势。例如,DBMS的软件包通常应用加密体制以禁用“复制”功能,从而保护用户的一些敏感数据;或者需要提供用户密码才能使用“复制”功能。另外,PKZIP软件不仅有压缩数据的功能还有加密数据的功能,这些功能无疑对用户是有好处的。

“置换表”算法是能满足加密需求的最简单一的种加密算法。每个数据段(通常是一个字节)对应着“置换表”中的一个值,密文就是由这些对应值组成的。加密和解密时都要用到这年表。80x86系列CPU中的“XLAT”的指令就是一个专门在硬件级来完成这种转换工作的指令。这是一个加密解密速度都很快的简单算法,它的致命弱点是这个“置换表”的安全问题,一旦这个表被破译者劫获,那这个加密方案就完全失败了。其实这种方法在计算机出现之前就已经被广泛的使用。如在电视剧《潜伏》中传递情报时所用的“密码册”,也就是我们说的“置换表”。这个“密码册”是一定要保管好的,否则后果不堪设想。

对原来的加密算法改进的方案是我们可以按伪随机的方式使用两个甚至更多的“置换表”来加密。这时,劫获者必须做若干回正确的变换才能破译密文,这将会增加破译的难度。比如,我们可以使用A表来置换明文中所有在奇数位置的数据,使用B表来置换所有在偶数位置的数据。除非劫获者确切地知道是用了几张表来转换的,否则即便他劫获密文,也很难破译它。

另一种经常在计算机加密中使用的方案是变换数据位置。但是,这样做的代价是执行时间的增加。这个算法的基本思想是在缓冲区中将读入的明文重新排序再输出就得到密文。还原明文的解密程序则做逆运算就可以了。一般情况下,我们会混合使用这个方法会和一些别的加密算法,这样就将大大增加破译难度,几乎不可能破译。举个简单的例子,通过变换字母顺序,listen就变为silent,组成单词的字母既没增加也没减少,数据长度也没变,显然这是一个成功地满足加密要求的转换。

设计加密算法时可以利用计算机做字/字节循环移位和异或操作,这会进一步加大破译难度。把一个字或字节在一个数据段内左移或右移,通过这种循环移位的方法对明文加密的效率特别高。如果再使用XOR操作,即按位做异或操作,这样会使破译密码更加困难。

某些时候,我们需要确切地知道自己的数据是否被破坏或篡改了,这时就要用到校验码技术。将这些选定的校验码插入到数据段中。但是每次开始执行已加载到内存中的加密程序前,必须检查是否已被病毒感染,也要检查所有需要加密解密的文件!显然,这种工作流程是要秘密执行的,否则将会被病毒程序的编写者利用。所以,杀病毒软件中必须应用加密算法。

一种比较典型的校验数据方法就是循环冗余校验。它的工作原理是以数据块为单位,按位做循环移位和异或操作,等到一个16位或32位的校验和,如果在传输过程中如果丢失一位或两位数据,那校验和一定会出错。这种方式在文件的传输中已经应用了很久,如XMODEM-CRC。这种循环冗余校验方法已经成为标准,而且有详细的文档。

1.3 DES加密算法

1977年美国国家标准局公布了IBM公司的一种数据加密算法,定名为DES(Data Encryption Standard数据加密标准)。

DES是一种分组密码。其主要思想是:

假设明文P是由0、1代码组成的长度为64比特的符号串,密钥k也是64比特的0,1代码。记

其中

Pi,ki=0或1(其中i=1,2,……,64)

DES加密过程表达如下:

W是初始变换,W-1是它的逆变换,

T16,T15,……,T1是变换。

DES解密过程表达如下:

可以证明这两个式子是成立的:

如:

明文:computer

密钥:program

用ASCII码表示为:

最后结果,密文

(以上详细计算过程请参考相关书籍)

DES加密方法最大特点是加密密钥与解密密钥是相同。显然,密钥必须通过秘密的方式传递,存储时也需要特别注意安全问题。在实际过程中,这会带来很多的问题。如,假设现有n个用户,则他们所需要的密钥个数是:C(n,2)=n/2*(n-1)

当n=1000时,C(1000,2)约500000(50万)。

这么多的密钥,管理起来是很麻烦的。

1.4 RSA加密算法

目前,RSA加密体制是理论上最为成熟的一种公钥密码体制。广泛应用于数字签名、密钥管理和认证等方面。

RSA加密体制的核心思想是公钥和私钥的产生要借助于两个较大的素数。劫获公钥后想通过因数分解得到私钥的破译算法,运算复杂度超出现实范围,是不可行的。运行RSA加密算法本身也需要很长的时间,因此,RSA算法不适合加密大量的数据段。通常现实中的加密算法都是基于RSA加密算法的。如用对称加密算法来加密数据,用RSA算法加密密钥。只要这个密钥是随机产生的,而且没有泄密出去,如果想得到这个密钥,只能通过私钥来解密。

假设现在要使用密钥“secret”加密一些数据。使用RSA公钥加密这个密钥,并把它放在明文中。为了区分数据和密钥,通常要加上特殊的符号。然后,加密正文使用的是对称加密算法,密钥就是“secret”。当接收者收到密文时,解密程序要先从密文中提取出密钥,然后用RSA私钥将它解密,接下来就可用密钥“secret”来解密数据了。数据这样通过可靠高效的加密之后就能进行安全地传输和解密。

可利用下面的站点参考一些简单的基于RSA算法的加密算法:

1.5 多步加密算法

大约10年前公布的一种新的加密算法———多步加密算法,安全级别很高。

这个算法的基本过程是,第一步用一个128位的密钥生成一个随机数字序列,使用这个随机数序列来生成密码转换表。由于开始时的数字序列具有重复和随机的特点,可以保证这个转换表的随机性,表中是256个介于0~255之间的数字。第二步在一个矩阵把256个随机数进行排序。这个表中其余的数是由随机数产生器来生成的,这样得到不同的多张表。然后利用“shotgun technique”技术来生成解码表。

显然,开始的那个数据需要一个“种子”才能正常进行加密,而这个“种子”将会使密文的长度增加。或者,可以那个128位的密码,或是它的CRC校验和。

加密时可以使用Fibonacci数列来产生伪随机序列,而种子是一个64位的数,与第三个双字做异或操作。

这种多步加密算法每一步加密都与上一步的数据有关,这样会增加密文的长度。另外,加密时所用的第一个“种子”对整个解密过程是相当重要的,要保管好。

1.6 其它加密算法

近年来,混沌理论的应用和生物学理论的发展,产生了混沌密码学及基于生物特征的人工神经网络加密方法。

混沌密码学是一个交叉学科的研究领域,它综合应用了混沌理论、密码学、通信工程等方面的理论。混沌密码学具体的研究有混沌信号的状态空间重构、混沌序列的频谱分析、混沌吸引子维数的提取、李雅普诺夫指数的算法等研究;同时也有直接服务于混沌密码学的应用研究,如混沌生成及其模型的建立、混沌信号的处理以及混沌信号在工程中的应用。这些研究内容相互联系,相互支持,混沌算法理论方面的研究为应用研究提供理论基础,而服务于应用的研究又对混沌算法理论方面不断地提出研究课题,从而对其起到巨大的推动作用。

基于生物特征的人工神经网络方法在数据加密中的应用已初见端倪。利用人体在身材、指纹、唇印、口音、脚步声、体味、视网膜、血型、遗传因子、笔迹等方面的唯一性来确保身份的唯一性。

这种新型的数据加密方法有如下几个特点:1)范围广泛:能快速实现任何的非线性变换来满足各种加密算法。2)较高的灵活度:可以灵活地选择密钥及密锁。3)安全级别高:要破解具有极高复杂性的密锁与密钥,所需的计算空间复杂度和时间复杂度相当可观,故具有较高的安全级别。

2 结论

在现实生活中,信息作为一种资源,在社会生产、生活中的作用日益显著,信息安全问题已成为信息化社会的焦点与难点,而数据加密技术则是信息安全的一个核心问题。随着计算机科学技术的发展,信息和信息技术对密码学提出了越来越高的要求,各种加密算法陆续的被提出、应用、否定和改进。

数据加密领域的研究将会不断更新和改进的。

摘要:随着信息技术的广泛开展及应用,各类信息的安全问题越来越引人关注。涉及各行各业的敏感信息在交流存储时需要进行加密或伪装,以保证私密信息不被恶意篡改或恶意利用。针对这一安全隐患,已有很多加密算法被提出、修改、改进、否定。然而这一领域的研究必会持续不断、与时俱进。理解那些比较成熟的算法并提出改进算法和开辟新算法同样重要。

关键词:数据加密,密码学,加密算法

参考文献

[1]胡予濮,张玉清,肖国镇.对称密码学[M].北京:机械工业出版社,2002.

[2]冯登国.密码分析学[M].北京:清华大学出版社,2000.

[3]刘春花.金晨辉.混沌序列密码算法OCMLE的分析[J].上海:计算机工程,2007,33(6).

[4]柳葆芳.信息伪装与数据隐藏算法研究[D].郑州:解放军信息工程大学,2002.

上一篇:培养学生提问能力下一篇:同义关系