




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 东南大学网络黄杰课程复习资料及程序设计源码 及小作业 1 填空题 30 个 可信根 物联网感知层 2 简答题 10 个 时间戳 3 证明题 生日攻击抽象题目 三方交换秘钥过程 4 分析题 通信交换随机值 数字签名过程 5 论述题 Dss 的 k 值需要不同 数据安全和内容安全 公司数据如何防止外协 import sys from PyQt5 QtWidgets import from PyQt5 QtGui import from PyQt5 QtCore import pyqtSlot Qt import PyQt5 sip from Crypto import Random from Crypto Random import random from Crypto Hash import SHA256 MD5 from Crypto Cipher import PKCS1 v1 5 as Cipher pkcs1 v1 5 from Crypto Cipher import DES AES from Crypto PublicKey import RSA import base64 import time class APP QWidget def init self super init self sendContext 发送内容 self encry DES 加密算法 默认DES self key 密钥 self isRandom False 默认不随机 self hash SHA HASH 算法 默认SHA self title Encrypted transmission process self width 320 self height 200 self initUI def initUI self self setWindowTitle self title self resize self width self height self layout1 QHBoxLayout self layout1 addWidget QLabel Content self sendtextEdit QLineEdit self 发送内容文本框 self layout1 addWidget self sendtextEdit self layout2 QHBoxLayout self layout2 addWidget QLabel Symmetric Cryptography 对称加密算法选择按钮 self DES RadioButton QRadioButton DES self self DES RadioButton setChecked True 默认选中DES self AES RadioButton QRadioButton AES self self DES RadioButton toggled connect self DES toggled self AES RadioButton toggled connect self AES toggled self buttonGroup1 QButtonGroup self self buttonGroup1 addButton self DES RadioButton self buttonGroup1 addButton self AES RadioButton self layout2 addWidget self DES RadioButton self layout2 addWidget self AES RadioButton self layout3 QHBoxLayout self layout3 addWidget QLabel Symmetric Key self keytextEdit QLineEdit self 密钥文本框 self layout3 addWidget self keytextEdit self randomCheckBox QCheckBox Random self self randomCheckBox stateChanged connect self Random self layout3 addWidget self randomCheckBox self layout4 QHBoxLayout self layout4 addWidget QLabel HASH Algorithm HASH算法选择按钮 self SHA RadioButton QRadioButton SHA self self SHA RadioButton setChecked True 默认选中SHA self MD5 RadioButton QRadioButton MD5 self self SHA RadioButton toggled connect self SHA toggled self MD5 RadioButton toggled connect self MD5 toggled self buttonGroup2 QButtonGroup self self buttonGroup2 addButton self SHA RadioButton self buttonGroup2 addButton self MD5 RadioButton self layout4 addWidget self SHA RadioButton self layout4 addWidget self MD5 RadioButton self layout5 QHBoxLayout self layout5 addWidget QLabel Content Decryption self resulttextEdit QLineEdit self 执行结果文本框 self layout5 addWidget self resulttextEdit self layout6 QHBoxLayout self executeButton QPushButton RUN self self executeButton clicked connect self on click self layout6 addWidget self executeButton self layout QVBoxLayout self layout addLayout self layout1 self layout addLayout self layout2 self layout addLayout self layout3 self layout addLayout self layout4 self layout addLayout self layout5 self layout addLayout self layout6 self setLayout self layout self show pyqtSlot def DES toggled self self encry DES pyqtSlot def AES toggled self self encry AES def Random self state if state Qt Checked self isRandom True else self isRandom False pyqtSlot def SHA toggled self self hash SHA pyqtSlot def MD5 toggled self self hash MD5 pyqtSlot def on click self 获取文本框的内容 self sendContext self sendtextEdit text msglen len self sendContext if msglen 0 self sendContext self sendtextEdit text 自动生成秘钥 if self isRandom if self encry DES self key get key 8 if self encry AES self key get key 16 手动生成秘钥 else mytemp bytes self keytextEdit text encoding utf 8 decode utf 8 mytemparray bytearray mytemp encoding utf 8 self key bytes mytemparray 0 8 decode utf 8 解密过程 if self encry DES if self hash SHA enmsg myDES en self key add to 16 splice self sendContext RkA mySHA self sendContext enkey UKB self key dekey RKB enkey demsg myDES de dekey enmsg dehash mySHA split mymsg demsg msglen digest dehash1 UKA demsg msglen if dehash dehash1 resultText split mymsg demsg msglen else resultText decryption failure elif self hash MD5 enmsg myDES en self key add to 16 splice self sendContext RkA myMD5 self sendContext enkey UKB self key dekey RKB enkey demsg myDES de dekey enmsg dehash myMD5 split mymsg demsg msglen digest dehash1 UKA demsg msglen if dehash dehash1 resultText split mymsg demsg msglen else resultText decryption failure elif self encry AES if self hash SHA enmsg myAES en self key add to 16 splice self sendContext RkA mySHA self sendContext enkey UKB self key dekey RKB enkey demsg myAES de dekey enmsg dehash mySHA split mymsg demsg msglen digest dehash1 UKA demsg msglen if dehash dehash1 resultText split mymsg demsg msglen else resultText decryption failure elif self hash MD5 enmsg myAES en self key add to 16 splice self sendContext RkA myMD5 self sendContext enkey UKB self key dekey RKB enkey demsg myAES de dekey enmsg dehash myMD5 split mymsg demsg msglen digest dehash1 UKA demsg msglen if dehash dehash1 resultText split mymsg demsg msglen else resultText decryption failure 打印输出结果 self resulttextEdit setText resultText def RSAKEY 生成A私钥和公钥 f private open A private pem wb f public open A public pem wb 伪随机数生成器 random generator Random new read rsa算法生成实例 rsa RSA generate 1024 random generator A的秘钥对的生成 A private pem rsa exportKey A public pem rsa publickey exportKey f private write A private pem f public write A public pem f private close f public close time sleep 1 生成B私钥和公钥 f private open B private pem wb f public open B public pem wb 伪随机数生成器 random generator Random new read rsa算法生成实例 rsa RSA generate 1024 random generator A的秘钥对的生成 B private pem rsa exportKey B public pem rsa publickey exportKey f private write B private pem f public write B public pem f private close f public close 如果text不足16位的倍数就用空格补足为16位 def add to 16 text if len text encode utf 8 16 add 16 len text encode utf 8 16 else add 0 text text 0 add return text encode utf 8 def mySHA mymsg mysha SHA256 new mymsg encode utf8 return mysha def myMD5 mymsg mymd5 MD5 new mymsg encode utf8 return mymd5 def RkA myhash with open A private pem as f key f read rsakey RSA importKey str key cipher Cipher pkcs1 v1 5 new rsakey cipher text base64 b64encode cipher encrypt myhash digest return cipher text def myAES en ESkey str addto16 AESkey bytes ESkey ljust 16 encoding utf8 iv AESkey aes AES new AESkey AES MODE CBC iv text enc aes encrypt str addto16 text enc b64 base64 b64encode text enc return text enc b64 def myDES en ESkey str addto16 DESkey bytes ESkey ljust 8 encoding utf8 iv DESkey des DES new DESkey DES MODE CBC iv text enc des encrypt str addto16 text enc b64 base64 b64encode text enc return text enc b64 def UKB ESkey AESkey bytes ESkey ljust 16 encoding utf8 with open B public pem rb as f data f read key RSA importKey data rsa Cipher pkcs1 v1 5 new key aes cipher rsa encrypt AESkey ESkey cipher base64 b64encode aes cipher return ESkey cipher def RKB ESkey cipher with open B private pem rb as f data f read key RSA importKey data rsa Cipher pkcs1 v1 5 new key deESkey rsa decrypt base64 b64decode ESkey cipher ERROR return str deESkey strip encoding utf 8 def myAES de deESkey text enc b64 AESkey bytes deESkey ljust 16 encoding utf8 iv AESkey aes AES new AESkey AES MODE CBC iv msg enc base64 b64decode text enc b64 temp msg aes decrypt msg enc return temp msg def myDES de deESkey text enc b64 DESkey bytes deESkey ljust 8 encoding utf8 iv DESkey des DES new DESkey DES MODE CBC iv msg enc base64 b64decode text enc b64 temp msg des decrypt msg enc return temp msg def split mymsg temp msg msglen msg bytes decode temp msg rstrip 0 demymsg msg msglen return demymsg def UKA temp msg msglen msg bytes decode temp msg rstrip 0 demyhash msg msglen with open A private pem rb as f bytehashmsg bytes demyhash encoding utf8 data f read key RSA importKey data rsa Cipher pkcs1 v1 5 new key dehashmsg rsa decrypt base64 b64decode bytehashmsg ERROR ERROR 必需 return dehashmsg def splice mymsg cipher text s byte mymsg encode utf 8 cipher text s str str s byte encoding utf 8 return s str def get key n c length int n source ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678 length len source 1 result for i in range c length result source random randint 0 length return result if name main RSAKEY app QApplication sys argv ex APP sys exit app exec 信息安全 为了防止未经授权就对知识 实事 数据或能力进行使用 滥用 修改 破坏 拒绝使用或使信息被非 法系统辨识 控制而采取的措施 信息安全是指信息在产生 传输 处理 存储和 使用过程中的安全 信息安全的核心思想 可信和可控 信息安全的演化过程 现在 系统完整性 多机系统安全 系统互联安全 远程访问安全 数据完整 可用 如何理解信息安全 没有绝对的标准 没有绝对的保证 没有完美系统 信息安全服务 认证 访问控制 保密性 完整性 不可否认性 认证 鉴别或认证 保证通信的合法性 用来验证系统实体和系统资源 如用户 进程 应用 的身份 同等实体 认证和数据来源的认证 访问控制 控制授权范围内的信息流向及行为方式 使用授权机制 控制信息传播范围 内容 实现对网络资源及 信息的可控性 保密性 指信息不被泄露给非授权的用户 实体或过程 或供其利用的特性 连接保密性 非连接保密性 选择域 保密性和流量保密性 完整性 指网络信息未经授权不能进行改变的特性 既信息在存储或传输过程中保持不被偶然或蓄意地删除 修改 伪造 乱序 重放 插入等破坏和丢失的特性 不可否认性 指在信息交互过程中 确信参与者的真实同一性 既所有参与者都不可能否认或抵赖曾经完成的操作 和承诺 源不可否认 宿不可否认 经典 Feistel 网络 分组长度 密钥长度 迭代轮数 子密钥产生算法 轮函数 基本思想 用简单算法的乘积来近似表达大尺寸的替换变换 交替使用替换变换和排列 对付统计分析的方法 1 扩散 明文的统计特性消散在对应的密文中 这样可以让多个明文数字尽可能影响多个密文数字获得 等价于每个密文 数字被许多明文数字影响 最简单方法 代换 作用 尽可能明文和密文间统计关系复杂 2 混淆 尽可能使密文和密钥之间的统计关系复杂 阻止攻击者发现密钥 最简单方法 置换 雪崩效应 明文或密钥的微小改变对密文产生很大的影响 分组密码的操作模式 电子密码本 ECB 密码分组链接 CBC 密码反馈 CFB 输出反馈 OFB 计数器模式 CTR 三密钥的三重 DES 分析 密钥的有效长度为 168 与 DES 的兼容性可以通过令 K 3 K 2 或 或 K 1 K 2 得到 加密算法的安全性依赖于什么 密钥的长度 破译密文所需要的量 选择加密算法的原则 破译密码的代价超过密文信息的代价 破译密文的时间超出密文信息的有效生命期 差分分析 differential cryptanalysis 方法是一种选择明文攻击 该方法的基本思想是 通过分析一对特选的明 文对的差相应密文对的差的影响来提取密钥信息 这种攻击方法主要适用于攻击迭代密码 字节代替是一个非线性的字节代替 独立地在每个状态字节上进行运算 代替表 S 盒 是可逆的 是一个 16 16 的矩阵 链路加密与端对端加密 分组交换网络中的消息 信息头 包括源地址 目的地址 采用协议等 用户数据 链路加密 在通信链路两端加上加密设备 每次分组交换都需要将消息解密 在交换节点将信息解密 用户对分组交换节点的安全性不能保证 不能阻止攻击者观察网络上的数据流量 端对端加密 由源主机或终端加密用户数据 信息头以明文方式传送 密文经由网络传到目的主机或终端 目的主机与源主机 共享一个密钥以便解密 缺点 信息头在传输过程中为明文 易受流量分析攻击 链路加密方法 消息头被加密 减少传输分析的机会 但无法抵御流量分析攻击 无法验证消息的来源 接收方拿到的消息是最后一段链路解密后的明文 传输填充 端对端加密方法 无法抵抗流量分析攻击 按照统一长度的数据填充传输层和应用层传输的消息 可随机插入空消息到消息流中 完整性指网络信息未经授权不能进行改变的特性 消息认证的分类 消息内容的认证 消息认证码 消息的序号和操作时间的认证 消息的信源和信宿 收发双方身份认证 利用密钥生成一个固定长度的短数据块 称为消息认证码 MAC 并将 MAC 附加在消息之后 接收方通过计算 MAC 来认证该消息 消息认证码 密钥位数比 MAC 长 因此许多密钥都会产生正确的 MAC 而攻击者却不知哪一个是正确的密钥 对 MAC 函数的要求 如果一个攻击者得到 M 和 C K M 则攻击者构造一个消息 M 使得 C K M C K M 应在 计算上不可行 MAC 函数具有均匀分布的特征 公钥密码学和其之前的对称密码的区别 对称密码是基于置换和扩散 非对称密码是基于数学难题 对称密码只使用一个密钥 公钥算法使用两个独立的密钥 特点 仅根据密码算法和加密密钥不能确定解密密钥 两个密钥中一个用于加密 另一个解密 六个组成部分 明文 加密算法 公钥 私钥 密文 用公钥密码实现保密 Y E K Ub X 用公钥密码实现认证 Y D K Ra X 既能提供认证功能 又能保持机密性的方法 对 对 RSA 的攻击方法主要有以下三种 1 强力攻击 穷举法 尝试所有可能的私有密钥 2 数学分析攻击 有多种数学攻击方法 其本质等价于试图分解两个素数的乘积 3 计时攻击 记录计算机解密消息所用的时间 4 选择密文攻击 利用 RSA 算法的性质 典型的对称密钥分配模式 密钥分配中心 KDC 负责分发密钥给需要的用户 A 与 B 要建立逻辑连接 需要用一 个一次性的会话密钥来保护数据的传输 会话密钥 数据加密密钥 PIN 加密密钥 文件加密密钥 随机数的应用 密钥分配时的临时交互号 nonce 防止重放攻击 会话密钥产生 RSA 公钥加密中密钥的产生 密文分组链接 密文反馈链接和输出反馈连接使用的 IV 随机数的产生 随机数的产生 评价标准 分布一致性 序列中的随机数的分布应是一致的 即出现频率大约相等 独立性 序列中任何数不能由其他数推导出 真随机数与伪随机数 真随机数 各个数之间的统计独立性而使序列 不可预测 例如物理噪声发生器 伪随机数 序列可以经受住随机性检测 但并非统计随机的 非对称密钥管理 公钥授权 具有保密性和真实性的密钥分配方法 具有保密性和真实性的密钥分配方法 数字签名的要求 签名必须是与消息相关的二进制位串 签名必须使用发送方特有的信息 防伪造或否认 签名的产生和识别比较容易 伪造数字签名在计算上是不可行的 保存数字签名的拷贝是可行的 签名密钥 K 是秘密的 只有发方掌握 验证算法公开 便于他人进行验证 签名体制的安全性在于 从 M 和其签名 S 难以推出签名密钥 K 或伪造一个 M 使 M 和 和 S 可被证实为真 数字签名的分类 直接数字签名 仲裁数字签名 直接数字签名 用发送方的私钥对整条消息进行加密来产生签名 用发送方的私钥对消息的 hash 码进行加密 直接数字签名的缺点 直接数字签名的缺点 依赖于发送方的保密密钥 发送方要抵赖发送某一消息时 可能会声称其私有密钥丢失或被窃 从而他人伪造了他的签名 通常需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况 但威胁在某种程度上 依然存在 改进的方式例如可以要求被签名的信息包含一个时间戳 日期与时间 并要求将已暴露的密钥报告给一个授权 中心 X 的私钥确实在时间 T 被窃取 敌方可以伪造 X 的 的签名及早
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025喀什地区维吾尔医医院招聘编制外工作人员(16人)备考练习题库及答案解析
- 2025年马鞍山安徽和州控股集团有限公司公开招聘工作人员10名备考考试题库附答案解析
- 2025上海浦东新区残联文员招聘1人备考考试题库附答案解析
- 招19人!2025年互助县中医院、互助县人民医院面向社会公开招聘编外卫生专业技术人员(第一批)备考考试题库附答案解析
- 机关收文管理制度
- 2025云南大理州弥渡小河淌水文化旅游开发有限公司招聘工作人员2人考试参考试题及答案解析
- 2025年武汉市东湖生态旅游风景区公开招聘13名编外聘用制医疗卫生专业人员备考考试题库附答案解析
- 农村金融风险防范与调控-洞察及研究
- 多物理场协同理论-洞察及研究
- 广东省东莞市长安实验中学2024-2025学年八年级上学期1月期末历史试题 (含答案)
- 中外建筑史课件
- 2024年度商业保理合同:保理公司与出口商之间的商业保理协议3篇
- 宣传网络安全文明上网
- 应急管理部14号令《生产安全事故罚款处罚规定》 修改前后对照表及解读
- ASTM-D3359-(附著力测试标准)-中文版
- 中华人民共和国标准设计施工总承包招标文件(2012年版)
- 2022年内分泌医疗质量控制评价体系与考核标准
- 全国中小学生学籍信息管理系统学生基本信息采集表(2022修订版)
- 国家公务员行测数量关系(数字推理)模拟试卷1(共253题)
- 北师大版四年级数学上册第五单元《方向与位置》(大单元教学设计)
- (高清版)JTG 5211-2024 农村公路技术状况评定标准
评论
0/150
提交评论