第一周预习报告
学习内容
第一章概念复习
我在微信读书上简单阅读了《Windows C/C++加密解密实战》第1、2章,并且借助了微信读书的AI大纲功能了解了每一章节的核心内容
第一章
第一章里主要介绍了密码学简史和一些最基本的密码常识,像五元组和算法分类我都在上学期的信息安全概论、密码学课程中有过一定的了解。
第二章
第二章的内容对我而言比较陌生,靠自己阅读想要理解比较困难,所以我在后面借助了AI阅读,并依靠AI的讲解对密码开发环境的配置有了一定的了解。在下面的软件安装环节也进一步加深了我对openssl和gmssl的理解
参考了预习作业要求中的脚本安装了软件
openssl
可以看到我已经安装成功
安装openssl的过程比较顺利,没有遇到个性化的问题
gmssl
我在安装gmssl的过程中遇到了一些问题
以下是失败图示
可以看到我的代码输入后并没有运行结果,我尝试重新进入ubuntu输入代码
重新进入后我发现是第一次给出的代码不完整,我输入了完整的代码后再次进行尝试,这次可以根据指令输出结果,但是结果显示没有安装成功
最后我询问AI,并且和舍友请教学习后使用了新的代码,成功安装gmssl
最后成功安装两个软件
学习心得
我利用AI分析比对了两个代码的异同,认为可能是以下几个点导致我使用预习要求中的代码安装不成功
1.老师给的代码下载的是一个脚本文件,而AI给我的代码下载的是一个压缩包。可能下载的文件没有执行权限导致我下载脚本文件不成功
2.老师给的代码是依赖脚本内容实现的,而AI给我的代码是通过解压和复制实现的,这不依赖脚本的内容,因而成功率会更高
在安装软件的过程中,我和同学们都遇到了不同的个性化问题,我认为询问AI是解决问题的有效办法,提高了我做作业的效率
AI对学习内容的总结
我给kimi发去了书本资源,并请求kimi给我一个学习总结,最后得到了一个比较简介的概括性学习内容
总结
第1章:密码学概述
密码学基础:介绍了密码学的基本概念,包括密码学的发展历程、分类和应用场景。
加密与解密:解释了加密和解密的基本原理,以及它们在保护信息安全中的作用。
密码学算法:概述了对称加密、非对称加密、散列函数等不同类型的密码学算法。
安全通信:讨论了如何在通信过程中使用密码学技术来保证数据的安全性。
第2章:搭建C和C++密码开发环境
开发环境搭建:详细介绍了如何在Windows操作系统上搭建C/C++开发环境,包括必要的工具和库。
编译器和工具链:讨论了常用的C/C++编译器,如GCC和MSVC,以及如何配置它们用于密码学开发。
加密库:介绍了一些流行的C/C++加密库,如OpenSSL和Crypto++,以及如何将它们集成到项目中。
示例项目:可能包含了一个简单的示例项目,展示如何在C/C++中实现基本的加密和解密操作。
学习总结
理解基础:掌握密码学的基本概念和原理是学习加密解密技术的基础。
实践操作:通过搭建开发环境和实际操作,可以加深对加密解密技术的理解。
工具和库:熟悉并掌握使用加密库和工具是提高开发效率的关键。
安全意识:在学习加密解密技术的同时,也要培养良好的安全意识,了解如何保护数据不被未授权访问。
我对AI总结的反思与补充
可以看到kimi给我的学习总结只是一个简单的框架,并没有总结一些实质性的书籍内容。
我分析了原因,认为可能是自己给AI下达的指令不够具体。
这也说明AI是需要我们训练的,只有给出足够准确具体的指令AI才能得到想要的结果。
AI总结的问题
kimi对书籍的具体内容没有做出一个详细的总结,同时我认为kimi对整体内容的把握也过于简单。
接下来我将就第二章openssl部分自己做出总结补充,以此显示我和kimi对待学习总结思考方式的不同
我的总结与补充
第2章:C/C++密码库OpenSSL和Crypto++
2.2.1 OpenSSL源代码模块结构
OpenSSL的组成:密码算法库、SSL协议库和应用程序。
目录结构:围绕三个功能部分进行规划,其中Crypto目录包含密码算法库的所有源代码,是实现所有密码算法、密钥管理和证书管理的关键部分。
2.2.2 OpenSSL加密库调用方式
调用方式:直接调用、通过加密库接口调用以及通过Engine平台和OpenSSL对象调用。
应用开发:这种架构降低了应用开发的难度,因为它将底层硬件的复杂性与上层应用逻辑分隔开。
反思与补充
就我给出的例子来看,我更倾向于对书籍中的重点知识进行详细的总结,而kimi更倾向于把握整体的框架。
想要用好AI并不是一件简单容易的事,我们需要给AI足够准确的指令和足够长的训练时间。
所以AI不能代替人们思考,我们不能完全依靠AI作业,需要加入自己的思考和理解。
学习思维导图
我参考老师给出的mermaid思维导图,根据自己实际学习情况和kimi对书本内容的总结做了些许修改
mindmap root((密码系统设计第一周)) 教材 第一章 密码学概述 密码学基础 加密与解密 密码学算法 安全通信 第二章 开发环境搭建 编译器和工具链 加密库 示例项目 软件安装 OpenSSL最新版在Linux上的安装应用 GmSSL最新版在Linux上的安装应用 AI学习 总结教材内容 补充AI回答 基于AI进一步学习思考 markdown 格式语法的进一步熟悉 思维导图的指令 pdf的转化基于AI的学习
以下是我利用AI对一些概念进行的学习
openssl加密库调用
markdown的使用
学习实践过程遇到的问题与解决方式
问题一 无法正确下载gmssl
我将源代码和错误情况发送给了AI,Ai给我了一个新的代码。
我将新的代码粘贴到Ubuntu,成功解决了问题。
这一点我在下载gmssl那一部分已经做过了具体分析
问题二 思维导图无法正常显示
在做思维导图部分的作业时,我的思维导图无法正常显示,所以我询问了AI
最后我检查了是否安装了插件,检查了代码的正确程度
最后在思维导图部分成功展示,顺利完成了作业
参考资料
AI工具
kimi
图书
《Windows C/C++加密解密实战》
网站
gmssl官网
openssl