1、 课程名称:课程名称: 网络与信息安全 设计题目设计题目: RC4 加密算法的实现 专专 业:业: 班级:班级: 学生姓名学生姓名: : 一.系统设计的目标 随着信息化的发展,人们在信息传递,数据共享等方面的要求越来越高。但与此同 时,数据的保密、个人的隐私保护也越来越困难,迫使人们不得不采取相应的措施来提 高信息的安全性。在此条件下,加密技术应运而生。加密作为一把系统安全的钥匙,是 实现信息安全的重要手段之一,正确的使用加密技术可以确保信息的安全。 人们所熟悉的加密技术很多,比如数字签名、版权注册、软盘加密、软件锁等等。 本人的设计思想是利用文件夹的加密来实现对软件或文件的安全加密。在此设计
2、基础上 编写了一个程序,该软件操作简单方便,适用于个人 PC 上对文件的加密。用户可自选 密钥对重要文件或可执行程序进行加密,防止未授权用户窃密。 本文描述了利用文件夹的加密来实现对文件或程序的保护方案。采用了“对称式” 加密技术即采用文件逐字节与密码异或方式对文件或可执行程序加密。选用 C+编程语 言,设计了一个加密程序,该程序不拘泥于花俏的界面,仅使用了一个简单的对话框, 具有简单实用的特点。在该方案的实现中,由于使用了可靠的密码学算法,使软件加密 的强度大大提高。 二.系统原理: 1. RC4 加密算法原理: RC4 加密算法是大名鼎鼎的 RSA 三人组中的头号人物 Ron Rivest
3、 在 1987 年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的 S -box 长度可为任意,但一般为 256 字节。该算法的速度可以达到 DES 加密的 10 倍左右。 RC4 算法的原理很简单, 包括初始化算法和伪随机子密码生成算法两大部分。 假设 S-box 长度和密钥长度均为为 n。先来看看算法的初始化部分(用类 C 伪代 码表示): for (i=0; iGetPathName(); m_srcFile.SetWindowText(LPCTSTR(filePath); 保存文件: CString lpszFilter=“text file (*.txt)|*.t
4、xt|Microsoft doc (*.doc)|*.doc|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*|“; CString lpszDefExt=“.txt“; CString lpszFileName=“*.txt“; CFileDialog *fileSave=new CFileDialog( false, lpszDefExt, lpszFileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, lpszFilter, NULL ); CFile cFile; if(!fileSave-DoModal() MessageBox(“failed!“,NULL,MB_OK); return; CArchive ar( CString filePath=fileSave-GetPathName(); m_detFile.SetWindowText(file