APP下载

基于UDP传输的大数据加解密技术

2017-03-09◆任

网络安全技术与应用 2017年6期
关键词:加解密加密算法解密

◆任 雁



基于UDP传输的大数据加解密技术

◆任 雁

(长治学院计算机系 山西 046011)

在网络传输日益频繁的今天,数据文件的加密技术,显得尤为重要,是数据安全传输的有效保障,本文首先对网络数据的加密方式进行了分类概述,对大文件(格式不限)的实时加解密进行了深入探讨及具体实现,使UDP协议不仅在大数据的可靠传输上,同时也在安全性上得到了充足保障。

UDP传输;加密;解密

0 前言

数据加密,是通过特定的加密算法和密钥,将可识别的文件转化为不可读的密文,数据解密与之相反,将不可读的密文转化为可读的明文。数据加解密在现实中有广泛的应用,它是对数据信息在网络传输中进行保护的最有效手段。早期,密码只针对文字等简单信息进行加、解密,但随着技术的发展与进步,现在,对语音、图像等复杂的数据类型都可进行加、解密转换。本文提出的方法可以对任意类型、任意大小的数据文件进行加、解密处理,为UDP大数据的传输提供了安全保障。

1 数据加密算法分类

1.1对称加密算法

是指在加、解密的过程中,都使用相同的密钥进行加解密的算法,该算法的优点是加解密过程的高效率,及使用长密钥时破译困难。

1.2 非对称加密算法

是指在加、解密的过程中,使用不同的密钥进行加解密的算法,密钥分公钥和私钥,公钥是公开的,用于加密过程,私钥是不公开的,用于解密过程,解密一方只需要保管好自己的私钥即可,非对称加密的优点是密钥的隐蔽性更强,但缺点是其加解密的效率要远远低于对称加密。

1.3 Hash算法

Hash算法比较特别的地方在于,它是一种单向算法,即通过Hash算法对目标数据生成一段特定长度且唯一的Hash值,但却不能通过这个Hash值逆向获得源信息。

2 技术实现

本文使用C++代码来具体实现,因为是对任意大小、任意格式的文件进行加、解密,考虑到过程的时效性,本文主要采用效率更高的对称加密算法,密码可以由用户自行设定和输入,系统根据用户输入的密码生成密钥,在创建密钥的过程中,还使用了Hash算法,之后使用密钥对源文件进行加解密处理,最终将结果创建为新的文件。

2.1 声明数据类型

首先,在头文件中声明相关数据类型,包括文件指针、密钥对象、Hash对象、缓存大小等,同时声明相关函数,例如初始化函数BOOL InitCrypt();加密前处理函数BOOL CryptProcess(CFile*lpSourceFile,CFile*lpDestFile,LPSTRlpPassword);加密函数BOOL JiaMiFile(CFile* lpSourceFile,CFile * lpDestFile,LPSTRlpPassword)等。

2.2 获取源文件扩展名

因为是对任意类型文件进行加、解密处理,所以需首先获取源文件扩展名,kuozhanming=PathFindExtension((LPCWSTR) FilePathName);同时创建相同类型空文件,用来存放加密后内容数据。

2.3处理数据长度及分配内存空间

相关初始化工作(包括创建上下文、创建Hash对象等)结束后,还需定义一次处理数据长度m_dwBufferLen=m_dwBlock Len+ENCRYPT_BLOCK_SIZE;及分配相应内存空间m_pbBuffer=(BYTE*)malloc(m_dwBufferLen)。

2.4密钥生成

在正式加密源文件前,还需将用户输入的密码转化为Hash数据CryptHashData(m_hHash, (BYTE*)lpPassword, strlen(lp- Password),0);并生成密钥CryptDeriveKey(m_hCryptProv, ENCRYPT_ALGORITHM,m_hHash,KEYLENGTH,&m_hKey)。

2.5文件加密

正式加密开始后,需将源文件逐段加密:

CryptEncrypt(m_hKey,0,eof==m_hSource->GetPosition(),0,m_pbBuffer,&m_dwCount,m_dwBufferLen);

并将加密后的数据放入目标文件:

m_hDestination->Write (m_pbBuffer,m_dwCount);

直到源文件全部读取完毕,自此,源文件已全部加密为不可读的密文,存放于一个新的文件中。

2.6解密处理

解密的过程与此相反,需逐段读取密文:

m_dwCount=m_hSource->Read(m_pbBuffer,m_dwBufferLen);同时进行解密处理:

CryptDecrypt(m_hKey,0,eof1==m_hSource->GetPosition(),0,m_pbBuffer,&m_dwCount);并将解密后的数据段存入指定文件m_hDestination->Write(m_pbBuffer,m_dwCount);直至整段密文被读取完毕。

3 结语

UDP协议是面向非连接的传输协议,其优点是传输的实时高效性,占用系统资源相对较少,但其缺点是传输协议对数据本身的完整性缺乏有效保证。所以,除通过收发确认、延时重发等有效机制确保传输数据的完整性外,本文通过特定加、解密算法,大大增强了传输数据的安全性,使UDP协议在大数据传输实际应用中,不仅能发挥其传输过程的高效性,还能有效保障其传输数据内容的安全性。

数据文件的加、解密技术,在现实中有广泛的应用,它可以有效保障数据内容在传输过程中的隐秘性、安全性,同时结合UDP协议不仅可以实现点对点的穿透,还可以确保大文件实时传输的完整性及内容的安全性,在网络应用日益普遍的今天,提供了诸多便捷。

[1]卢开澄编.著计算机密码学[M].清华大学出版社, 2003.

[2]黄河明.数据加密技术及其在网络安全传输中的应用[D].厦门大学:硕士学位论文,2008.

[3]王全民,周清,刘宇明等.文件透明加密技术研究[J].计算机技术与发展,2010.

猜你喜欢

加解密加密算法解密
炫词解密
解密“一包三改”
炫词解密
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
混沌参数调制下RSA数据加密算法研究
PDF中隐私数据的保护方法
电子取证中常见数据加解密理论与方法研究
基于小波变换和混沌映射的图像加密算法
网络数据传输的加解密系统研究