- 博客(87)
- 资源 (7)
- 收藏
- 关注
原创 C++(十)——模板(上)
函数模板基本语法#include<iostream>using namespace std;//两个整型交换函数//函数模板template<typename T> //声明模板void mySwap(T& a, T& b){ T temp = a; a = b; b = temp;}void test01() { int a = 10; int b = 20; //自动类型推导 //mySwap(a, b); //显示指
2022-04-08 11:07:56
266
原创 C++(九)——职工信息管理系统
简单的项目构成头文件职工抽象类#pragma once#include<iostream>#include<string>using namespace std;class Worker {public: //显示个人信息 virtual void showInfo() = 0; //显示岗位名称 virtual string getDName() = 0; int m_id; string m_name; int m_dId;};.
2022-04-08 10:59:45
1502
原创 C++(八)——文件操作
文本文件——写文件#include<iostream>#include<fstream>using namespace std;//文本文件中的写文件void test01() { //包含头文件,fstream //创建流对象 ofstream ofs; //指定打开方式 ofs.open("text.txt", ios::out); //写内容 ofs << "姓名:张山" << endl; ofs << "年龄:
2022-04-08 10:41:01
285
原创 C++(七)——多态
多态的基本语法#include<iostream>using namespace std;//动态多态满足条件//1.有继承关系//2.子类要重写父类的虚函数,注意重载是函数名相同但参数不同//重写 函数返回值类型 函数名 参数列表 完全相同//动态多态的使用//父类的指针或引用执行子类对象class Animal {public: //虚函数 virtual void speak() { cout << "动物在说话" << endl;
2022-03-11 12:27:41
942
原创 C++(六)——继承
继承中的对象模型#include<iostream>using namespace std;//继承中的对象模型class Base {public: int m_a;protected: int m_b;private: int m_c;};class Son :public Base {public: int m_d;};void test01() { //结果16 //父类中所有非静态成员属性都会被子类继承下去 //私有属性虽然无法访问,但
2022-03-11 12:08:32
110
原创 C++(五)——运算符重载
加号运算符重载#include<iostream>using namespace std;//对于内置数据类型,编译器知道如何运算//加号运算符重载class Person {public: int m_a; int m_b; //成员函数实现加号运算符重载 //Person operator+ (Person& p) { // Person temp; // temp.m_a = this->m_a + p.m_a; // temp.m_b = t
2022-03-11 11:34:46
1392
原创 机器学习(七)——tf.keras搭建神经网络固定模式
一.总纲 import——导入相关模块 train,test——指定训练集与测试集 model = tf.keras.models.Sequential model.compile model.fit model.summary
2022-03-08 17:36:38
2611
原创 机器学习(六)——优化器
优化器是引导神经网络更新参数的工具鸢尾花分类的各种优化器实现(只有优化器,更新参数的部分不同)1、SGD优化器from sklearn import datasetsimport tensorflow as tfimport numpy as npfrom matplotlib import pyplot as pltimport time ##记录时间#步骤###准备数据# 数据读入# 这个就是sgd优化器的案例x_data = datasets.load_iris().d
2022-03-08 17:35:55
1143
原创 机器学习(五)——缓解过拟合
看图理解过拟合与欠拟合欠拟合解决方法 增加输入特征项 增加网络参数 减少正则化参数 过拟合解决方法 数据清洗 增大训练集 采用正则化 增大正则化参数 案例import tensorflow as tffrom matplotlib import pyplot as pltimport numpy as npimport pandas as pd###正则化缓解过拟合# 正则化在损失函数中引入模型复杂度指标,利用给W
2022-03-08 17:25:52
1972
5
原创 机器学习(四)——损失函数
损失函数(loss):预测值(y)与已知答案(y_)的差距,优化目标loss最小以下1与2两个案例的loss函数都是针对酸奶日销量案例1、均方误差mse损失函数import tensorflow as tfimport numpy as np###拟合的是y = x1 + x2的函数SEED = 2333rdm = np.random.RandomState(seed=SEED) # 生成0至1不包含1之间的随机数x = rdm.rand(32, 2)#生成32行 2列的特征##
2022-03-08 17:12:01
1710
原创 机器学习(三)——预备知识(学习率与激活函数)
预备知识import tensorflow as tfimport numpy as np# a = tf.constant([1,3,2,2,5])# b = tf.constant([0,4,1,1,6])# c = tf.where(tf.greater(a,b), a, b)#tf.where 若a > b则返回a, 否则返回b# print("c:", c)# rdm = np.random.RandomState(seed=1)#seed等于常数是使得每次产生的随机数相
2022-03-08 17:01:56
1241
原创 机器学习(二)——鸢尾花案例
鸢尾花数据加载from sklearn import datasetsfrom pandas import DataFrameimport pandas as pdfrom sklearn.datasets import load_irisx_data = datasets.load_iris().data##返回所有输入特征y_data = datasets.load_iris().target##返回数据集标签print(x_data)print(y_data)##添加列名x_
2022-03-02 21:25:37
1100
原创 机器学习(一)——熟悉tensorflow2.0
张量的生成import tensorflow as tfimport numpy as np###创建一个张量, 指定类型,判断是几维张量,直接数[的个数# a = tf.constant([1, 5], dtype= tf.int64)# print(a)# print(a.dtype)# print(a.shape)###将numpy数据转换为tensor# a = np.arange(0, 5)# b = tf.convert_to_tensor(a, dtype=tf.in
2022-03-02 21:22:12
728
原创 C++(四)——类和对象(下)
this指针的用途#include<iostream>using namespace std;//解决名称冲突//返回对象本身 *thisclass Person {public: int age; Person(int age) { //this指针指向的是被调用的成员函数所属的对象 this->age = age; } Person & personAddage(Person &p) { this->age += p.age;
2022-02-28 21:49:57
387
原创 C++(三)——类和对象(上)
构造函数#include<iostream>using namespace std;class Person {public: int age; Person() { cout << "无参构造" << endl; } Person(int a) { age = a; cout << "有参构造" << endl; } //拷贝构造参数 Person(const Person &p) { age
2022-02-28 21:41:17
334
原创 numpy学习记录
import numpy as np###numpy的创建以及基础运算#a = np.array([10,20,30,40])# a = np.array([[1,2],[3,4]])# b = np.arange(4).reshape(2,2)# print(a.dot(b))# print(a, b)#c = a * b#逐个相乘#c = np.dot(a, b)#矩阵相乘#c = b ** 2#c = np.sin(a)#print(c)# a = np.random..
2022-02-27 15:41:20
368
原创 CPA相关功耗分析(二)
CPA实例1攻击异或运算,攻击的比特数为3,即攻击的中间数据data=K⊕M, K和M的二进制比特数为3。(此处的加密方式为C=K⊕M)下发的明文和采集到的能量数据如下表所示,密钥K=? 明文M 能量曲线 能量值大小 000 T1 2.4 001 T2 2.2 010...
2021-12-19 14:06:05
1200
原创 CPA相关功耗分析(一)
1.相关性分析方法简介相关性分析方法:针对部分或者全部密钥位参与密码运算的过程中,根据能量信号与密码运算计算过程中产生的中间数据的汉明重量或者汉明距离的相关性,计算猜测密钥得到的中间结果汉明重量或者汉明距离与实测能量信号之间的线性相关性,来恢复密钥。1.1补充知识汉明距离 : 是一个概念,表示两个等长的字符串对应位不同的个数,对两个字符串进行异或运算,并统计其结果为1的个数就是汉明距离。(因为侧信道底层都是0和1的变换,所以此处只用二进制举例)汉明重量 : 它是一种特殊...
2021-12-11 15:39:03
2929
2
原创 差分能量分析介绍(五)
DPA的执行(下)步骤数据收集和准备 使用选择函数生成假设 求平均值 评估1.DPA:求平均值分析阶段是执行堆芯DPA计算的阶段。除了计算各记录子集的平均值外,还通常计算所有记录道上各点的平均落差和方差。平均性能由处理能力和存储吞吐量决定。在处理大型数据集时,许多性能优化都很有用。基本任务是快速计算多个记录道子集的平均值。一个大型分析可能涉及10^8条记录道,每条记录道至少有几百个点,共有10^5个子集求平均值。就能量迹数(N)、能量迹长度(L)和选择...
2021-12-11 15:09:29
1244
原创 差分能量分析介绍(四)
DPA的执行(上)步骤数据收集和准备 使用选择函数生成假设 求平均值 评估1.数据收集和准备DPA利用的泄漏可能比一组能量迹中的噪声水平小得多,但更好的信噪比需要更少的能量迹。在评估实验室或对抗环境中,时间通常至关重要,初始数据收集的改进可以通过改善信号质量来缩短恢复密钥的时间。1.1设备仪表影响功率测量信号质量的因素很多。例如,在靠近加密IC的地方进行测量通常可以改善跟踪。在具有多个电源和接地连接的大型ASIC/SOC上,为执行密码计算的电路供电...
2021-12-05 16:35:52
4451
原创 差分能量分析介绍(三)
简单功率分析——SPA(Simple Power Analysis)简单功率分析是一组用于检查功率跟踪的方法,以深入了解设备的操作,包括识别与数据相关的功率变化。SPA侧重于检查在单个能量迹中直接可见或通过比较明显可见的能量迹对。1.SPA方法1.1单信道分析 在单个能量迹中,与计时、设备属性、算法结构或计算的其他属性相对应的特征通常是可见的。SPA的第一阶段包括查看能量迹并推断操作。例如,图10是从使用3DES和EEPR...
2021-12-05 15:40:28
1423
原创 差分能量分析介绍(二)
差分功率分析1、基本分析方法差分功率分析DPA是一种统计方法,用于分析测量集,以确定数据相关的相关性。基本方法包括将一组记录道划分为子集,然后计算这些子集的平均值之差。如果将哪个记录道分配给每个子集的选择与记录道中包含的测量值不相关,则随着记录道数量的增加,子集平均值的差异将接近零。否则,如果划分为子集与跟踪测量相关,则平均值将接近非零值。如果有足够的记录道,无论测量中存在多少噪声,都可以分离出极小的相关性。图6典型DPA结果(从上到下)显示第1轮...
2021-11-27 16:20:55
2720
1
原创 差分能量分析介绍(一)
一、背景由于涉及多个系统层的攻击难以预测和建模,因此安全漏洞通常是由组件和层之间的意外交互造成的。如果算法设计者、软件开发人员和硬件工程师不合作,不了解彼此的工作,在系统的一个层中进行的安全性假设可能与其他层的实际属性不匹配。许多技术已被设计用于单独测试密码算法。例如,差分密码分析和线性密码分析可以利用密码输入和输出中极小的统计特征。现代密码被设计来抵抗这种攻击。然而,这种分析只适用于系统架构的一部分,即算法的数学结构。对密码分析的抵制不足以在实践中创建安全的密码系统...
2021-11-27 15:48:58
1371
原创 C++(二)——命名空间(上)
在C++中,名称可以是变量、函数、结构、枚举、类以及类和结构的成员。当随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的类库时,可能导致名称冲突。例如,两个库可能都定义了名为List、Tree和Node的类 ,但定义的方式不兼容。用户可能希望使用一一个库的List类,而使用另一一个库的Tree类。这种冲突被称为名称空间问题。C++标准提供了名称空间工具,以便更好地控制名称的作用域。经过了一段时间后,编译器才支持名称空间,但现在这种支持很普遍。内联函数不受这项规则...
2021-11-20 14:32:27
694
原创 C++(一)——存储持续性、作用域、链接性
存储持续性、作用域、链接性自动存储持续性:在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,在执行完函数或代码块时,它们使用的内存被释放。C++有两种存储持续性为自动的变量。 静态存储持续性:在函数定义外定义的变量和使用关键字static定义的变量的存储持续性都为静态。它们在程序整个运行过程中都存在。C+ +有3种存储持续性为静态的变量。线程存储持续(C++11) :当前,多核处理器很常见,这些CPU可同时处理多个执行任务。这让程序能够将计算放
2021-11-20 13:29:49
731
原创 分组密码的加密模式(CFB,OFB)
1.j-比特密码反馈CFB模式(Cipher feedback )1.1CFB模式特点若待加密消息必须按字符(如电传电报)或按比特处理时,可采用CFB模式。 CFB实际上是将加密算法DES作为一个密钥流产生器。 CFB与CBC的区别是反馈的密文长度为j,且不是直接与明文相加,而是反馈至密钥产生器。 解密:采用相同方案,但是使用加密函数而非解密函数。1.2错误传播明文某一组中有错,会使以后的密文组都受影响,但经解密后的恢复结果,除原有误的一组外,其后各组明文都正确地恢...
2021-11-07 15:11:03
7629
2
原创 分组密码的加密模式(ECB,CBC,CTR)
即使有了安全的分组密码算法,也需要采用适当的工作模式来隐蔽明文的统计特性、数据的格式等,以提高整体的安全性,降低删除、重放、插入和伪造成功的机会。美国在FIPS中定义了五种运行模式。 电子码本(electronic code-book mode,ECB) 密码分组链接(cipher block chaining,CBC) 计数器模式(Counter ,CTR) 输出反馈(output feedback,OFB) 密码反馈(cipher f...
2021-11-03 17:23:55
7131
原创 RSA算法加密流程
RSA加密原理大整数因数分解困难问题RSA算法就是利用大整数分解困难问题而设计 限门单向函数实现公钥密码算法预备知识质数互质是公约数只有1的两个整数,叫做互质整数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数欧拉函数就是对于一个正整数n,小于n且和n互质的正整数的个数,记作φ(n)。 如果n=1,则 φ(1) = 1 。因为1与任何数(包括自身)都构成互质关系。 如果n是质数,则 φ(n)=n-1 。因为质数与小于它的每一个数,都构成互质关
2021-11-02 15:54:31
1734
原创 DES算法C语言实现
有关DES的加密流程详解des算法加密流程_lkw23333的博客-CSDN博客_des密钥加密过程此处只做简略介绍,或者看代码注释简要流程(1)输入8位字符明文以及设定8位字符的加密密钥;(2)将字符串的明文转换为64位的二进制表示;密钥也转换为64位二进制表示;(3)对64位的密钥进行密钥扩展生16个48位的子密钥;(4)对64位明文进行ip置换,分成L与R两组各32位;(5)R经过轮函数F后与L进行异或操作生成新的R,新的L由之前的R代替;(6)重复上述步骤16次后再进
2021-10-31 16:25:27
1482
原创 SM4算法加密流程
分组长度数据分组(明文,密文)长度=128位、密钥长度=128位数据处理单位:字(32位)(32bit)密码算法特点对合运算:解密算法与加密算法相同 解密算法与加密算法相同子密钥生成算法与加密算法结构类似 (加密算法与密钥扩展算法均采用32轮非线性迭代结构)密码结构滑动窗口结构SM4 密码算法结构加密流程还是分为两部分:明文加密部分与密钥扩展部分(每次密钥的生成)明文加密部分1.S盒字节非线性替换输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为.
2021-10-23 23:14:29
7808
1
原创 AES算法加密流程
整体特点①分组密码明文和密文长度 明文和密文长度128位,密钥长度可变(128/192/256 128/192/256等, 现在选用 128 位)。②面向二进制的密码算法能够加解密任何形式的计算机数据。③不是对合运算加解密使用不同的算法。④综合运用多种密码技术置换、代替、代数⑤整体结构sp结构,基本轮函数迭代,迭代轮数可变(≥10)迭代轮数Rijndael密码算法明文分组长度可变,密钥长度也可变。明文分组长度和密钥长度彼此独立地确定为128、192、256bits,因而Rijn...
2021-10-20 11:22:34
7653
4
原创 DES算法加密流程
des基本特点用56位密钥加密64位数据 采用分组加密,feistel密码结构(feistel:简单地说Feistel结构就是顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于每个密码系统的结果) 对称算法:加密和解密除密钥编排不同外,使用同一算法des算法总流程...
2021-10-16 16:12:51
8032
原创 sql注入——day01
基本的查库:select schema_name from information_schema.schemata查表:select table_name from information_schema.tables wheretable_schema = '数据库名'查列:select column_name from information_schema.columns wheretable_name='表名'查字段:select 字段名 form 数据库.表名记得加注释符-- +.
2021-10-13 16:31:34
133
原创 sql注入——day02
sqli_labs 71.直接用?id='判断是否有注入点,如果返回数据库错误则可以注入。2.同样用之前的方法不断测试发现id被((''))包裹3. http://127.0.0.1/sqli/Less-7/?id=1')) order by 3--+ 查看有多少列4. http://127.0.0.1/sqli/Less-7/?id=-1')) union select 1,2,'<?php @eval($_POST[“crow”]);?>' into outfile "C:\\php
2021-10-11 17:43:27
163
原创 xss-day02
7)扰乱过滤规则利用前面所述的各种技巧,包括HTML标签属性值、事件、CSS、编码技术等,用户能顺利绕过XSS Filter的重重过滤。程序员在汲取各种经验后,在开发过程中可能已经仔细考虑到各种触发XSS的情况,然后部署好严谨的防御措施,如此一来, 系统也变得更加牢固、安全。但不要太自信,请继续看下面的示例:一个正常的XSS输入:<img src="javascript:alert(0);">转换大小写后的XSS:<IMG SRC="javascript:alert(
2021-10-11 16:01:38
99
原创 xss-day01
分类反射型xss(不持久型xss)交互数据一般不会被存在数据库里,只是简单的把用户输入数据反射给浏览器,一次性,所见即所得储存型xss(持久型xss)交互的数据被存在在数据库里,永久性存储,具有很强的稳定性dom xss不与后台服务器产生交互,通过前端dom节点形成xss漏洞如何绕过xss-filter1)利用<>标记注射html/javascript例如<script>alert('xss');</script>2)利
2021-10-10 18:00:47
1459
原创 能量分析攻击day02
1.4能量分析攻击防御对策两大类:隐藏技术,掩码技术隐藏技术的基本思想是消除能量消耗的数据依赖性。第二章 密码设备2.1组成部件专用密码硬件:该类部件包括所有专用于密码操作的硬件(如实现aes的专用密码电路)通用硬件:该类部件包括所有用于完成密码操作的通用硬件(如通过编程控制完成aes加密的为微控制器)密码软件:实现密码操作的任意软件(如实现aes的软件)储存器:存储密码操作的数据(如aes加密密钥)接口:该类部件处理密码设备发送和接收的数据。密码应用对接口有特殊的要求(
2021-09-12 19:59:19
531
原创 能量分析攻击day01
引言1.1密码学与密码设备密码设备是能够实现密码算法并存储秘钥的电子设备密码设备的安全性不应依赖于实现的保密性1.2密码设备攻击被动攻击:被动攻击中,密码设备大多数情况下都会按照其规范运行,甚至可能会完全按照其规范运行。这种情况下,通过观测密码设备的物理特性(执行时间、能量消耗),攻击者就可以获得密钥。主动攻击:主动攻击中,为了使得密码设备的运行行为出现异常,攻击者常会对密码设备、其输入环境进行巧妙的控制,在这种情况下,通过分析设备的异常行为,攻击者就...
2021-09-12 18:50:24
772
原创 简单点名小程序(伪)----android开发
效果演示显示学生姓名与图片选择缺勤类型提交缺勤名单代码activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/ap...
2019-09-21 13:12:07
1509
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人