密码学之数字信封 Digital_Envelope

东华大学信息安全专业,大三(下),系统安全课程设计实验

实验五  安全数据传输实验

一、实验目的

   掌握对称密码和公钥密码体制的原理,通过综合使用两种加解密方式,了解两种加解密方式的异同点及认证方式。

二、实验场景

    飞机和航空站之间需要交换数据。在飞机起飞前,从航空站接收加密后的数据(例如,作战指令、作战地图等)。在飞机结束飞行后,需要将更新后的数据通过加密方式反馈给(例如,飞机航行路线、搜索区域等)航空站。

三、实验原理

   1采用对称密码用于加解密双方交换的数据。

   2.采用公钥密码用于传递对称密码的密钥。  

四、实验要求

请设计一个方案用于飞机和航空站可以传递安全数据(两人为一组)。

任务1:请根据上述原理给出飞机和航空站交互数据的加解密示意图。

任务2:在任务1中,飞机和航空站的加解密方式仅能保证数据的机密性。请设计一个方案用于实现飞机和航空站之间的身份互相认证及数据完整性,说明原理并给出示意图。

任务3:编程实现任务1和2,请给出每个中间过程的关键数据及源代码。

对称密码算法采用 GIFT-128, 公钥密码算法采用RSA。

消息为0123 4567 89AB CDEF 0123 4567 89AB CDEF(16进制)

Midori密钥为 1111 1111 1111 1111 1111 1111 1111 1111 (16进制)

RSA 算法的公私钥自定

实验报告以及源码参考:

点击进行资源下载
资料为本人亲手码字,不存在作业抄袭风险(除非你直接 Ctrl C + Ctrl V …)

运行结果:

代码框架一览(非完整Project)


 

_Digital_Envelope.h

#pragma once
//
//	_Digital_Envelope 类体设计,数字信封
// 2019.06.06 
// Coded By YI MENG
//
// 把十六进制、十、二进制弄到这里来

#include <string>
#include <windows.h>

class DigitalEnvelope {

public:
	//friend class GIFT_128; // GIFT_128类 需要调用进制转换函数,友元处理,,,封装性破坏太大,还是使用静态公有成员好一些

public:
	void menu();  // 根据实际情况设定选项
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值