- 博客(24)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 【密码学-2】什么是椭圆曲线密码
文章目录前言一、椭圆曲线是什么?二、使用步骤1.引入库2.读入数据总结本文共XXXX字,阅读全文约需X分钟。前言上回书我们说到,在常见的三种公钥密码学算法中,椭圆曲线密码学在相同的安全等级下有着更短的密钥长度,而一些比较常见的非对称密码(如SM2、SM3等)均属于椭圆曲线密码,在我们开始学习SM2算法之前,让我们先花一点时间来看看,究竟什么是椭圆曲线密码,它又是如何实现单向函数的?一、椭圆曲线是什么?简单地来讲,椭圆曲线密码体制中使用的椭圆曲线为y2=x3+ax+b方程表示的曲线,此椭圆曲线关于
2022-04-14 12:39:48 5399 2
原创 【密码学-1】一文入门非对称密码学
本文目录写在前面非对称密码学对称密码学的特点和存在的问题非对称密码学的公共原理——单向函数非对称密码学的实用性分析从机制上分析从安全等级上分析本文共1932字,完成阅读约需6分钟。写在前面犹记得2021年年初的一波区块链热潮让无数人第一次了解到了“公钥”和“私钥”的概念,那么,究竟什么是公钥私钥呢?和常见的密钥又有什么区别和联系呢?本文目的在用尽可能短的时间和简洁的语言,带你快速了解非对称密码学的基本知识。非对称密码学又称为非对称密码学,1976年起完成创立。经典体系中的对称密码学的目标通常是令
2022-04-11 21:19:42 3442 2
原创 [OP-TEE开发学习-1] 从Hello_World开始
[OP-TEE开发学习-1] 从Hello_World开始在完成了OPTEE环境的配置之后,接下来要做的事情就和我们之前无数次学习新编程语言时做的事情一样——开始编写HelloWorld程序!幸运的是,OPTEE已经内置了HelloWorld的示例程序,更棒的是,我们可以从这个HelloWorld示例程序入手,开始学习OPTEE里CA和TA的对应开发过程。本文在《手机安全和可信应用开发指南》(帅峰云,黄腾,宋洋)对照学习下完成。①Helloworld示例程序实际上手首先,让我们运行OPTEE,选择
2022-03-24 11:47:51 3567 4
原创 [OP-TEE开发学习-0]Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)
Ubuntu 20.04搭建OPTEE开发环境(基于QEMU)这几天在完成毕业设计的过程中接触到了基于Linux环境下的OPTEE开发环境,由于我此前从未系统学习过Ubuntu系统,这次的OPTEE开发环境配置也是基于全新安装的VMware的Ubuntu20.04版本的虚拟机实现的,全部依赖项均为从0开始配置。在开始搭配环境之前,我先搜集了一些网络上OPTEE环境搭建的教程,但也遇到了各种各样奇怪的问题,这些教程时间一般都比较早,使用的大多为Ubuntu18.04,因此教程参考价值一般,最终在实验室师兄
2022-03-17 15:08:44 4344 7
原创 区块链笔记5-共识算法
区块链笔记5-共识算法本学习笔记为本人从正规合法信息来源获取的信息,且为个人学习笔记,未用于商业用途。并且是关于IT领域区块链知识的介绍,并非违法违规内容。5 共识算法在信用缺失/不完全条件下的算法使用;在去中心化的基础情况下,保证分布式账本数据一致性的核心支撑技术,不同的区块链系统根据应用领域和环境假设不同,共识算法的设计思想也不同,进而造成相应区块链系统的交易处理能力、可扩展性和安全性也有所不同。共识:在部分节点发生故障、网络延时或存在恶意节点的故意破坏情况下,所有正常节点对客户的请求达成一致
2021-11-23 10:22:52 15226 2
原创 微信小程序开发快速上手
微信小程序开发快速上手由于学生工作需要,我最近在一些工具书的参考帮助下尝试进行了微信小程序的开发,本文主要内容为我本人在近期微信小程序开发的过程中,关于指定类型的微信小程序开发的一点心得体会。1.0基础知识微信小程序采用JavaScript语言进行开发,可以理解为基于ECMAScript的一种实现,即一种标准化的脚本程序设计语言,因此在微信小程序的开发上,可以直接按照ES6标准语法进行学习和设计。(可以在设置中勾选ES6转ES5以便微信小程序在一些版本较低的老型号手机上能够正常使用)首先开始一个标准
2021-10-26 14:09:11 571 2
原创 区块链笔记3-区块链典型技术
区块链笔记3-区块链典型技术本学习笔记为本人从正规合法信息来源获取的信息,且为个人学习笔记,未用于商业用途。并且是关于IT领域区块链知识的介绍,并非违法违规内容。主要信息来源于清华大学出版社 《区块链技术及应用》一书继续之前专栏中的内容,完成区块链技术中关键技术种类的介绍,主要对象为数字签名、共识算法、智能合约、P2P网络。①数字签名使用数字签名来实现区块链网络中的权限控制,并识别交易发起者的合法身份,防止恶意节点冒充身份对整个网络的影响。数字签名并不是电子版的签名图片,而使使用密码学领域的相关算
2021-05-17 21:01:20 516
原创 区块链笔记2-区块链技术原理
区块链笔记2-区块链技术原理本学习笔记为本人从正规合法信息来源获取的信息,且为个人学习笔记,未用于商业用途。并且是关于IT领域区块链知识的介绍,并非违法违规内容。主要信息来源于清华大学出版社 《区块链技术及应用》一书①区块链的概念根据工信部指导发布的《区块链技术和应用发展白皮书2016》的解释是:狭义来讲,区块链是一种按照时间顺序和数据区块以顺序相连的方式组合成的一种链式数据结构,并使用密码学方式保证了不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式其数据结构来验证和存储数据,并利
2021-04-29 20:48:10 375
原创 机器学习笔记-SVM算法与代码实现
机器学习笔记-SVM算法1. SVM算法原理SVM算法的引入使用现行分类器将两类数据进行数据分类时,应如何选取采用的分类器?考虑到使分类器的效果具有更强的鲁棒性,最佳的线性分类器在选择是能保证满足条件——距离分割线最近的点到分割线的距离最远此时,样本的分割线将被极少数的几个点确定,并且距离分割线越远的分类具有越高的准确性;同时,在距离分割线较近的空间内存在的模糊点将获得更高的容错判断空间,有着更高的容错率。SVM算法的形式化若将分类的两种样本属性分别标注为1和-1,则可以使用f(x)=w^t·
2021-04-24 20:30:46 596
原创 机器学习笔记02-模型评估与选择1
机器学习笔记02-模型评估与选择1最常见情况下,一种训练集只匹配一种算法2.1 经验误差与过拟合明确一些基本概念:m样本数量Y样本正确的结果Y’使用模型进行预测,对一定数量的样本作出预测的结果a预测中错误的样本总数↓错误率E=a/m 精度1-E 误差|Y-Y’|过拟合为了得到一致假设而使假设变得过度严格(常常使用增大数据量和样本集的方式进行评价是否存在过拟合)2.2 评估方法(训练集、验证集与测试集)泛化能力模型对全新数据的预测能力,即使用测试集获得模型的泛化能力测试集
2021-03-03 10:13:30 325
原创 机器学习笔记-01
机器学习笔记01(本CSDN博客学习笔记对应为机器学习西瓜书教材,一切内容以西瓜书教材为准)新学期的学习依旧,这次发表在csdn博客上的是西瓜书版机器学习教材的学习心得和笔记的主要内容,可能不是很详尽,但保证是本人理解与提炼的结果。Part I 绪论1.1引言机器学习:通过计算的手段,利用经验改善系统的性能一般流程:数据-学习算法-模型-预测结果1.2基本术语①数据 数据集:待研究的全部对象(如全部100个待研究的西瓜)数据样本:1个待研究的对象(如100个西瓜中的1个西瓜)特征向量:可
2021-03-02 00:16:00 207
原创 Python爬虫学习3-动态网页抓取基础
从零开始的Python爬虫学习3-动态网页抓取基础由于静态网页和动态网页在原理上存在差异,因此在学习使用Python爬取动态网页内容时需要先学习动态网页的基本概念并理解其与静态网页的差异。动态网页技术的基本原理AJAX技术即异步JavaScript和XML,通过后台与Server端的少量数据交换使网页实现异步更新,AJAX技术可以在不重新加载整个网页的情况下对网页进行部分更新。AJAX技术节省了网页重复内容的下载并节省了流量,因此得到了广泛应用。↓AJAX技术的应用使用AJAX技术动态标识的内
2021-01-29 16:37:19 403
原创 【Python五子棋】基于Socket的多人五子棋-通信部分
【Python五子棋】基于Socket的多人五子棋-通信部分这篇博客中介绍了基于Python语言编写的多人五子棋(两人或三人)游戏主体框架中的多人联机通信部分,考虑到多人五子棋通常情况下是在本地网络下进行,因此我选择了使用连接更加稳定的TCP/IP协议的socket作为五子棋对局过程中多机通讯的主要手段。由于我们小组项目中选择的五子棋对局结构是CS结构,下面的博客主要介绍了Server端从开始到建立连接并开始游戏再到最终的判断胜负并返回过程中的代码逻辑,此处展示的代码只是一个包含有基本逻辑的中间工程代码
2021-01-28 23:49:33 2339 2
原创 Python爬虫学习2-静态网页基础实战
从零开始的Python爬虫学习2-静态网页基础实战使用Python爬虫爬取豆瓣电影Top50信息今天的Python爬虫学习主要是对之前两节内容的复习和综合练习,使用Python的Requests库爬取豆瓣电影Top250的基本信息。分析豆瓣电影区的Url可以得到豆瓣电影Top区网页的基本排布规律:每页展示25个电影信息,URL的’?'后跟着当前网页的第一个电影在Top250中的排序(排序的顺序从i=0开始)基础的静态网页Python爬虫程序的代码如图所示:(注释已经标注在代码的对应位置处)#爬取静态
2021-01-28 18:54:21 237
原创 Python爬虫学习1-静态网页部分
从零开始的Python爬虫学习1-静态网页部分今天继续进行Python网络爬虫的学习,主要的学习内容是静态网页的Python爬虫抓取。·静态网页:纯粹HTML格式的网页,所有的数据都呈现在网页的HTML代码中——相对而言,使用AIAX动态加载的网页不一定会出现在HTML代码中,因此将抓取静态网页作为初始的Python爬虫学习过程更为合适。·静态网页抓取的过程中,常常使用功能强大的requests库发送http请求到服务器Requests的使用①基础使用cmd命令 -pip3 install re
2021-01-26 23:39:39 295
原创 从零开始的Python爬虫学习0-概论部分
从零开始的Python爬虫学习0-概论部分终于结束了这个魔幻的学期,但终于闲下来的我发现自己并不能安然自得地开始沉浸在游戏中的假期生活——因此我计划通过假期时间学习一些和专业有一定关联度的编程知识,而Python爬虫应该是一个难易度适中而又有应用潜力的课目。学习内容爬虫概论·概念 Python爬虫是使用某种规则,自动抓取互联网信息的脚本程序。重点是根据用户需求定向获得指定类型的信息;·本质 程序模拟浏览器打开网页,并获取相关信息;爬虫抓取网页索引去的内容,进入临时库并进行判断,分类归档排序;
2021-01-26 00:38:35 139
原创 【计算机组成原理】RISCV指令集指令简单介绍
RISCV指令集指令简单介绍计算机组成原理课程复习中,课程要求掌握理解精简指令集的构成,掌握计算、存取、跳转等基本指令,能够读懂ppt中的微程序实例。因此我仔细查找技术手册并整理了一些RISCV指令集的常用指令含义及用法,整理如下:首先明确:RISCV32位仅有32个寄存器,其中可用31个(x1-x31),x0默认取0add 加法 add rd,rs,rt//rd=rs+rtsub 减法 sub rd,rs,rt//rd=rs-rtaddi 带立即数的加法 addi rt,rs,c//rt
2021-01-09 15:31:52 8053 1
原创 【计算机组成原理】Verilog语言编写32位并行加法器的理解
Verilog语言编写32位并行加法器的理解近日,为了完成本学期的计算机组成原理课程大作业的要求,我开始学习利用verilog语言编写的一套32位并行加法器以完成在整个项目中提高运算速度的基本要求。考虑到verilog语言和硬件设计的关联性,我们需要从结构上完成对并行加法器的理解。32位加法器注重逻辑结构的顺序,本文主要简单介绍了加法器的逻辑顺序并附上代码说明,较为简单。加法器结构首先,并行加法器的特点基本决定了其组成结构,每一位均由对应的一位全加器确定输出结果,且每一位的对应进位输入将由超前进位加
2020-12-19 14:21:18 4510 1
原创 Python语言网络编程-基于socket的简易通信
Python语言网络编程-基于socket的简易通信由于意※义※不※明的人工智能课程大作业要求,我花了一下午的时间重新学习了Python语言的网络编程以探求project的网络编程部分的代码实现过程,并最终选择通过socket套接字的方式实现Python语言的简易网络编程。(今年上半年我也有写过C语言编写的基于Winsock的Windows网络编程,感兴趣的朋友可以看这里:服务器端和客户机端)编程思路由于此部分网络编程是包含在大程序中的一个小的通信模块,因此只需实现基本的信息传递功能即可,即编辑so
2020-12-14 17:01:01 498 1
原创 MATLAB Simulink仿真报错解决办法
MATLAB Simulink仿真报错解决办法近日在完成自动控制原理课程作业时,在MATLAB模拟反馈系统时我遇到了问题,积分器无法输出模拟结果,且报错显示:The “FixedStepDiscrete” solver cannot be used to simulate block diagram ‘hw1_4’ because it contains continuous states/作为一名面向搜索引擎的程序员(笑),我没能在百度中找到问题的解决答案,最终在英语词典和其他MATLAB教程的帮助
2020-09-27 16:55:51 23709 7
原创 基于Arduino的智能门禁系统模拟(智能舵机应用)
基于Arduino的智能门禁系统项目简介功能说明原理说明硬件结构图功能模块各元件介绍软件流程设计部分代码展示系统完整结构图拓展功能与设计项目简介在暑期课程设计的第二阶段,课程要求我们利用Arduino Nano开发板和大然科技的智能舵机外加任意外设以实现特定的使用功能。在仔细考虑之后,我最终选择了在此基础上外加三种外设实现工作在两种可选模式下的智能门禁仿真系统。功能说明本设计为以Arduino Nano开发板为核心驱动的智能门禁控制系统,主要功能有:根据上位机串口输入数据选择门禁系统工作模式;外部
2020-09-22 19:30:49 11486 3
转载 C#和C混合编程——C语言函数封装成dll(转载)
C#和C混合编程——C语言函数封装成dll这次大作业小组利用C语言写嵌入式系统的c语言模拟实现大作业,最后的部分为组员使用winform设计GUI,在C#中调用C,该篇记录转载同学如何把C封装为dll。(原文链接)大作业模拟温度传感器,C语言代码为两部分,一部分为sensor服务端serve,可以生成随机温度来模拟温度传感器,另一部分为workstation客户端client,可以使用其发送指令start来唤醒sensor,或者read来获取当前温度,二者采用tcp/ip协议通信。最后要把客户端做成GU
2020-06-21 15:48:24 1073
原创 使用WINSOCK的网络通信模拟程序 (客户机端)
使用WINSOCK的网络通信模拟程序(客户机端)最近在做嵌入式的project过程中,学习了winsock网络编程,project主要的内容是在移植到stm32之前通过c语言对整个过程进行模拟;过程包括:一台client端的设备和一台作为服务器端的sensor设备通过TCP协议进行连接,通过client端输入不同指令对sensor端进行控制:例如start命令唤醒sensor;唤醒后输入任意指令获得sensor端返回的温度数值(此处为随机数生成);唤醒后输入quit退出连接,结束模拟过程。下面是
2020-06-17 10:46:58 1880
原创 使用WINSOCK的网络通信模拟程序(服务器端)
使用WINSOCK的网络通信模拟程序(服务器端)最近在做嵌入式的project过程中,学习了winsock网络编程,project主要的内容是在移植到stm32之前通过c语言对整个过程进行模拟;过程包括:一台client端的设备和一台作为服务器端的sensor设备通过TCP协议进行连接,通过client端输入不同指令对sensor端进行控制:例如start命令唤醒sensor;唤醒后输入任意指令获得sensor端返回的温度数值(此处为随机数生成);唤醒后输入quit退出连接,结束模拟过程。下面是
2020-06-17 10:38:22 736
Python单机版五子棋.zip
2021-01-26
optee开发如何调用openssl库函数
2022-04-20
OPTEE编译过程中出现问题
2022-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人