第三周预习作业(AI)

news/2025/9/28 18:34:01/文章来源:https://www.cnblogs.com/whl20231407/p/19117370

第三周预习作业(AI)

20231406王浩霖《密码系统设计》第三周预习报告

学习内容

《嗨翻C语言》第4章

  • 函数的使用与定义
  • 参数传递与返回值
  • 变量的作用域
  • 头文件与多文件编程

《Windows C/C++加密解密实战》第4章重点4.2, 4.3, 4.5

  • 4.2 对称加密算法原理
  • 4.3 分组密码工作模式
  • 4.5 密钥生成与管理

课程mindmap

AI对学习内容的总结(1分)

AI总结:
本章节主要围绕C语言函数编程和加密算法基础展开。在C语言部分,重点学习了函数的定义、调用、参数传递机制以及多文件编程的组织方式。在加密解密部分,深入理解了对称加密的基本原理,包括分组密码的ECB、CBC等工作模式,以及密钥生成和管理的重要性。这些知识为后续实现加密算法打下了坚实基础。

对AI总结的反思与补充(2分)

反思与补充:
AI的总结比较全面,但我觉得需要补充几点:

  1. 在C语言函数部分,递归函数和函数指针也是重要概念
  2. 对称加密算法中,不同工作模式的安全性差异很大,ECB模式存在明显安全缺陷
  3. 密钥管理涉及密钥生命周期管理,包括生成、存储、分发、更新和销毁等环节
  4. 实际编程中还需要注意内存管理和错误处理

学习思维导图(2分)

mindmaproot((密码系统设计第三周))《嗨翻C语言》第4章函数定义与声明参数与返回值变量作用域局部变量全局变量静态变量头文件与多文件编程.h头文件.c源文件编译链接过程《加密解密实战》第4章4.2 对称加密算法DES算法原理AES算法介绍加密解密过程4.3 分组密码工作模式ECB模式CBC模式CFB模式OFB模式4.5 密钥生成与管理密钥生成方法密钥存储安全密钥分发机制密钥更新策略实践应用OpenSSL对称加密命令GmSSL国密算法编程实现简单加密函数

基于AI的学习(2分)

概念1:分组密码工作模式

AI提问: "你能解释一下为什么ECB工作模式在加密相同明文块时会产生相同的密文块,以及这会带来什么安全问题?"

我的回答: ECB模式对每个明文块独立加密,相同的明文块使用相同密钥加密必然产生相同密文块。这会导致模式泄露,攻击者可以通过分析密文模式推断明文信息。

AI追问: "那么CBC模式是如何解决这个问题的?它的工作原理是什么?"

我的回答: CBC模式通过引入初始向量(IV)和链式加密,每个明文块在加密前都与前一个密文块进行异或操作,这样即使相同明文块也会因为上下文不同而产生不同密文块。

概念2:函数参数传递

AI提问: "在C语言中,值传递和地址传递有什么区别?在加密算法实现中,哪种方式更适合传递密钥数据?"

我的回答: 值传递是复制参数值,地址传递是传递变量地址。在加密算法中,密钥数据应该使用地址传递,因为密钥通常较大,值传递会带来性能开销,而且我们可能需要修改原始密钥数据。

AI评价: 你对这两个概念的理解基本正确,能够准确指出ECB模式的安全缺陷和CBC模式的改进原理,也清楚函数参数传递方式的选择依据。

学习实践过程遇到的问题与解决方式(2分)

问题1:编译多文件程序时出现链接错误

问题描述: 在将加密函数分离到头文件和源文件后,编译时提示"undefined reference to encrypt_function"

解决过程:

  1. 使用AI工具查询链接错误原因
  2. AI指出需要确保所有源文件都参与编译链接
  3. 修改编译命令:gcc main.c encrypt.c -o program
  4. 或者使用Makefile管理多文件编译

问题2:理解CBC模式的初始化向量(IV)作用

问题描述: 不理解为什么CBC模式需要IV,以及IV是否需要保密

解决过程:

  1. 咨询AI工具关于IV的作用和安全性要求
  2. AI解释IV用于确保相同明文产生不同密文,增加随机性
  3. IV不需要保密但应该不可预测,通常随密文一起传输
  4. 通过实际代码示例理解了IV的使用方法

作业提交要求(1分)

  • 提交Markdown文件:学号姓名《密码系统设计》第三周.md
  • 提交PDF文件:学号姓名《密码系统设计》第三周.pdf
  • 使用VSCode的markdownpdf插件完成格式转换

参考资料

AI工具:

  • Kimi: https://kimi.moonshot.cn
  • 元宝: https://yuanbao.baidu.com

图书:

  • 《嗨翻C语言》
  • 《Windows C/C++加密解密实战》

网站:

  • OpenSSL官网: https://www.openssl.org
  • GmSSL官网: https://gmssl.org
  • C语言参考: https://en.cppreference.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 爬虫 HTTPS 实战,requests httpx aiohttp 抓取技巧、证书问题与抓包调试全流程 - 教程

Python 爬虫 HTTPS 实战,requests httpx aiohttp 抓取技巧、证书问题与抓包调试全流程 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

网站建设中图片多少钱jsp网站开发 心得

Flask介绍 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进…

Codeforces 补题笔记

发现之前几乎所有的 Codeforces 场都是只打不补,意识到了只打不补本质上无任何提升的事实/ll Codeforces Round 1048 (Div. 2) 补题笔记

使用 Python 基于Ollama构建个人私有知识库(AI生成)

使用 Python 基于 Ollama 构建个人私有知识库是一个非常实用的项目,可以实现本地化、隐私安全的文档问答系统。以下是完整的路径和步骤,帮助你从零开始搭建一个基于 Ollama 的本地知识库系统。🌟 目标 构建一个本地…

合肥网络公司seo建站淮北seo

[背景简介]MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。mysql虽然功能未必很强大,但因为它的开源、广泛传播&#xf…

Codeforces Round 1048 (Div. 2) 补题笔记

2A 略 2B 经典的一类题,选择一个顺序(一般是删除)最大/小化答案,这种一般都是正/逆序直接贪心就对了。 2C 简单但很好的题,提示我们瞪不出来,可以数学化一下题意,可能更容易意识到操作的本质。 2D(upsolved) …

泰州市建设监理协会网站仙桃哪里做网站

管理的技巧就是通过其他人实现你的工作目标。 写作的技巧就是创造一个能够激发其他人进行思考的环境。 需要有一个激发人们创造力的体系。 团队成员优势无补带来的威力。 让成员认为他所做的是他想做的事情。 雕塑就是把隐藏在石头里的形象挖掘出来。转载于:https://www.cnblog…

【RabbitMQ】消息可靠性保障

本章目标掌握生产者确认(Publisher Confirms)机制,确保消息到达Broker。深入理解消费者确认(Consumer Acknowledgments)的最佳实践。学习死信队列(Dead Letter Exchange, DLX)处理失败消息。实现完整的消息可靠…

CPU 测试脚本

CPU 测试脚本Posted on 2025-09-28 18:23 大势趋007 阅读(0) 评论(1) 收藏 举报cpu 测试记录#!/bin/bash# 冒泡排序算法测试 - CPU负载测试 # 兼容旧版本Bashbubble_sort() {local array_name=$1eval "local…

Day23static详解

static修饰德成员变量,属于类的本身,被该类德所有实例共享,在类中可以通过类名直接访问,再导入包时打破必须通过类名访问静态成员的规则,将指定的静态成员直接引入当前类的作用域 package oop1.Demo7; //被fianl定…

11.prometheus监控之黑盒(blackbox)监控

一、黑盒监控"白盒监控"--需要把对应的Exporter程序安装到被监控的目标主机上,从而实现对主机各种资源及其状态的数据采集工作。但是由于某些情况下操作技术或其他原因,不是所有的Exporter都能部署到被监控…

网站访问量有什么用网站开发代码用什么软件

重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表,找到两个IE11的更新(见下图“卸载文件“)并卸载掉,这样windows功能中的ie11才会变成ie8. 打开控制面板 进入面板,点击程序,进…

自己做的网站怎么接入数据库嘉兴企业网站推广方法

配置IPsec on GRE Tunnel with IOS Firewall and NAT<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />详细配置见附件

openssh升级

openssh升级## 功能```支持centos7.5升级openssh9.8``` ## 备份```/etc/pam.d/sshd/etc/ssh/sshd_config```## 物料```openssh.repoopenssh.tar.gz ```----```[openssh]name=openssh9.8baseurl=file:///openssh/gpgche…

实用指南:月匣 - 百度推出的AI情感陪伴与剧情互动应用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

电子商务网站的建设与维护企业网站内容如何更新

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.字符指针 2.指针数组 3.数组指针 4.数组传…

做纸巾定制的网站广告设计宣传画册

一、 选题的依据及意义 随着信息化技术的发展&#xff0c;敬老院的信息化管理也迎来了机遇和挑战&#xff0c;我们积极应对这场战斗&#xff0c;丝毫不懈怠。因为&#xff0c;在未来的互联网是一个开放的环境&#xff0c;而传统的管理是一个独立的对象维护和医疗管理模式&…

宜昌的网站建设wordpress菜单出不来

在制作项目的时候遇到一个需求&#xff0c;点击一个按钮弹出一个input输入框&#xff0c;并让输入框获得焦点&#xff0c;项目中引用了element-ui 在网上查找了很多方法&#xff0c;但是在实际使用中发现了一个问题无论是使用$ref获取input元素然后使用focus方法还是使用饿了么…

Python虚拟环境及创建和使用虚拟环境(Python3)

一、什么是Python虚拟环境 简单说,虚拟环境是一个独立的 Python 运行环境,它与系统全局的 Python 环境完全隔离。每个虚拟环境可以有自己独立的 Python 解释器版本(如果需要)。 每个虚拟环境中安装的第三方库(如 …

团队协作必备:16款在线协同编辑文档方案对比

为解决企业在线协同编辑文档的选型难题,本文深度评测了含坚果云在内的16款主流工具。文章从协作办公、数据安全与功能特色等多维度进行全面对比分析,旨在为不同需求的企业提供实用选型指南,帮助团队找到最合适的协同…