信息安全实验 基于AES和ECC的文件传输加密 详细设计报告

时间:2025-04-20

基于AES和ECC的文件加密传输

系统设计目标(1)保障数据的机密性:系统必须确保只有预期的文件接收方才能读 取文件信息; (2)保障数据的完整性:文件接收方能够验证他所接收到的文件是否 完整,是否被非法篡改过。 (3)对数据源的身份验证:文件接收方可以验证文件是否确实是由指 定的发送方发送过来的; (4)网络信息成功收发:系统必须确保发送方能够成功地将文件以及 必要的即时信息传输给接收方。

系统设计目标

确保数据的机密性 网络信息成功收发 以上两点是我们要解决的主要问题,也是难 点所在。

基本模块我们将系统分成两大模块:文件加密模块和文件传输模块。

文件加密模块 文件传输模块

包括文件加密和文件签名,主要负责对文

件进行数字签名、加密、解密和验证签名等安全处理。

主要负责建立和管理通信双方之间的通信

联系,以在两者之间传输文件和消息。

系统架构

文件加密模块

由加密算法产生数字签名在实现上采用外部保密方法 即先签名后加密,可防止签名替换攻击

文件加密模块的实现文件的加密模块采用的是AES和椭圆曲线密码 体制ECC,安全性高,运行速度快,其编码都 是在C++开发环境下进行的。

文件加密—AES算法

算法的输入 包括最初的明文输入和中间过程的轮输入 算法的输出 包括中间过程的轮输出和最后的密文输出 Rijndael的轮函数由4个不同的计算部件组成,分别是: 字节代换(ByteSub)、行移位(ShiftRow) 列混合(MixColumn)、密钥加(AddRoundKey)

文件加密—AES算法

算法结构

文件加密—AES算法

组成Rijndael轮函数的计算部件简捷快速,功能互补。轮函数的伪C代码 如下:

Round (State, RoundKey) { ByteSub (State); ShiftRow (State); MixColumn (State); AddRoundKey (State, RoundKey) }

结尾轮的轮函数与前面各轮不同,将MixColumn这一步去掉

文件签名—ECC椭圆曲线密码体制

文件传输模块文件传输模块主要是网络数据的传输,系统通过Windows Socket套接口编程技术建立双方之间的联系,并自定义一个简单的 通信协议。这一协议的核心是双方发送的数据包格式,通信双方将 严格按照这一协议进行通信、传输文件、即时消息和连接控制消息。

文件传输的具体实现

1)服务器程序编写: a)调用ServerSocket(intport)创建一个服务器端套接字, 并绑定到指定端口上; b)调用acceptO,监听连接请求,如果客户端请求连接,则 接受连接,返回通信套接字。 c)调用Socket类的getOutputStream()和 getlnputStream获取输出流和输入流,开始网络数据的 发送和接收。

d)最后关闭通信套接字。

文件传输的具体实现

2)客户端程序编写: a)调用SocketO创建一个流套接字,并连接到服 务器端; b)调用Socket类的getOutputStream()和 getInputStream()获取输出流和输入流,开始网 数据的发送和接收。 C)最后关闭通信套接字。

当前进度

已完成基本模块,软件框架基本结构的设计。初步完成两个基本模块的编写;

完善代码,进行基本功能分割测试。

剩余工作

各个功能模块合并; 进行合并测试; 最终测试,发布软件。

信息安全实验 基于AES和ECC的文件传输加密 详细设计报告.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219