I Hsien's BLOG

NULL
私信 关注
I-Hsien
码龄3年
  • 65,341
    被访问量
  • 93
    原创文章
  • 70,105
    作者排名
  • 24
    粉丝数量
  • 于 2018-01-03 加入CSDN
获得成就
  • 获得35次点赞
  • 内容获得10次评论
  • 获得98次收藏
荣誉勋章
TA的专栏
  • 数据库
    6篇
  • 计算机网络
    7篇
  • 计算机系统
    4篇
  • Leetcode Daily
    23篇
  • 编译原理
    5篇
  • 信息安全数学基础
    10篇
  • 逻辑与计算机基础
    18篇
  • 杂项
    5篇
  • 密码学
    11篇
  • 软件安全
    1篇
  • 符号执行
    1篇
  • MISC
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

[Leetcode Daily] 232. 用栈实现队列

Description请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from
原创
4阅读
0评论
0点赞
发布博客于 3 天前

[Leetcode Daily] 354. 俄罗斯套娃信封问题

Description给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。示例 1:输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:3解释:最多信封的个数为 3,
原创
9阅读
0评论
0点赞
发布博客于 3 天前

[Leetcode Daily] 338. 比特位计数

Description给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]要求:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(n)。 你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置函数(如 C++
原创
7阅读
0评论
0点赞
发布博客于 5 天前

[Leetcode Daily] 304. 二维区域和检索 - 矩阵不可变

Description给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。示例:给定 matrix = [[3, 0, 1, 4, 2],[5, 6, 3, 2, 1],[1, 2, 0, 1, 5],[4, 1, 0, 1, 7],[1, 0, 3, 0, 5]]sumRegion(2, 1, 4, 3) -> 8sumRegion(1, 1, 2, 2) -> 11sumRegion(1
原创
4阅读
0评论
0点赞
发布博客于 5 天前

[Leetcode daily] 303. 区域和检索 - 数组不可变

Description给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))示例:输入:["NumArray",
原创
10阅读
0评论
0点赞
发布博客于 6 天前

[Leetcode Daily]896. 单调数列

Description如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。思路第一反应是玩点骚的,使用python的sort()方法。具体使用方法是sort之后该list就变成了有序的,可以在reverse参数中选择升序或降序,而不是返回一个有序
原创
8阅读
1评论
0点赞
发布博客于 8 天前

[Leetcode Daily] 395. 至少有 K 个重复字符的最长子串

Description给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = “aaabb”, k = 3输出:3解释:最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入:s = “ababbc”, k = 2输出:5解释:最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重复了 3 次。提示:1 <= s.length <= 104
原创
4阅读
0评论
0点赞
发布博客于 8 天前

[Leetcode Daily] 867. 转置矩阵

Description给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。Tips:矩阵不一定是n×nn\times nn×n的。思路本来是一个很简单的实现题,结果卡在实现上了。。。初始化一个转置后尺寸的矩阵,然后遍历一个个填进去。代码class Solution: def transpose(self, matrix: List[List[int]]) -> List[List[int
原创
2阅读
0评论
0点赞
发布博客于 10 天前

[Leetcode Daily] 832. 翻转图像

Description给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解释:首先翻转每一行: [[0,
原创
8阅读
0评论
0点赞
发布博客于 12 天前

[Leetcode Daily] 1052. 爱生气的书店老板

Description今天,书店老板有一家店打算试营业 customers.length分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X分钟不生气,但却只能使用一次。 请你返回这一天营业下来
原创
11阅读
0评论
0点赞
发布博客于 13 天前

[INSTANT NOTE] 多媒体加密范例分析

概述为防止多媒体数据在传输过程中被破解而衍生的加密技术(e.g. 电影的枪版)主要特点:需要防止选择明文攻击(因为攻击者会根据常识进行内容猜测(比如电影的片头))主要是内容加密(即视觉上保密)需要满足一定的需求(例如加密状态下的运动检测),所以不能直接用常规的数据加密手段质量上的扩展对码流的随机访问编码过程中的不同阶段?压缩前加密:数据丢失压缩中:性能问题压缩...
原创
19阅读
0评论
0点赞
发布博客于 2 月前

[INSTANT NOTE] GBN的累计重传

BakGBN,后退N个重传协议,在发送数据报时出现超时,则重传该数据报剩余全部分组。0x01GBN的接收方采用累计ACK机制,即接收方对序号n之前包括n在内的所有分组进行确认。当发送ACK n时即为确认之前所有数据报送达。0x02 exp注意接收方,在收到pkt1,pkt3而没有pkt2时,发送的ACK为ACK1,即仅确认0,1两个数据报,并丢弃失序的pkt3(因为不是期望的pkt2)。同时发送方忽略重复的ACK1。0x02应该重发4567帧,这个题目很诡异,这种情况很难见到吧。。。.
原创
30阅读
0评论
0点赞
发布博客于 3 月前

CHAPTER Ⅳ网络层

文章目录功能虚电路和数据报IPV4 ProtocolIP地址和子网划分DHCP/NAT/ICMPIPV6 Protocol路由算法功能向下:分片,向链路层交付数据报(datagram)向上:重组,向传输层交付数据段(segment)转发:路由器将一个输入端口的数据报转发至某输出端口 依据:转发表(Address:Port)路由:跨局域网的通信方式,确定分组从源到目的地的路径 路由算法传输前建立主机间的虚拟连接,传输层面的连接是进程间的。无连接服务:不确定的传输路径,每个分组独立传输有连
原创
27阅读
0评论
0点赞
发布博客于 4 月前

[INSTANT NOTE] NAT和PAT

目的节约公网IP隐藏内部网络拓扑结构综述由路由器执行.路由器的映射表控制转换.当报文发出时,路由器根据映射表修改报文头.收到报文时,路由器根据映射表修改并传输至对应主机.NAT静态NAT:内部网络中的每个主机都被永久的映射成外部网络中的某个合法地址;动态NAT:在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络;多对多,从每个内网IP对应一个外网...
原创
75阅读
0评论
0点赞
发布博客于 10 月前

[INSTANT NOTE]视频流编码基础及后置隐写基础

视频编码基础视频是一系列图像基于时间的集合.相邻帧差异一般情况下较小.为了最大限度压缩,一般采用偏差的编码思想.P1P2=P1+offset2P3=P1+offset3P_1\\P_2=P_1+offset_2\\P_3=P_1+offset_3P1​P2​=P1​+offset2​P3​=P1​+offset3​此处P1称作基准帧或参照帧.帧间压缩每一个帧组的帧具有较强的联系...
原创
107阅读
0评论
0点赞
发布博客于 1 年前

[INSTANT NOTE] Jsteg系列算法速查手册

重要参考: https://fennudehaogua.top/2019/03/21/Steganography-basic/前言从Jsteg到F5,这一系列算法是因应前面算法的缺点逐步改进的.所以在这里也使用增量的办法进行说明.基础:DCT系数的特征基本关于0对称分布0系数最多,向两边逐渐减小.示例:Jsteg算法Jsteg是基于DCT的最低位进行隐写的.优点是正常情况...
原创
145阅读
0评论
0点赞
发布博客于 1 年前

[NOTE]底层协议安全

文章目录基本协议及简述协议的安全隐患IP协议IP地址欺骗IP路由欺骗IP分片攻击定向广播攻击网络监听被动监听技术ARP协议TCP协议SYN Flood序号攻击TCP序号劫持UDP协议UDP FloodUDP欺骗ICMP协议DosICMP重定向DNS协议基本协议及简述IP:无状态无连接(不支持上下文)不可靠(尽力送达)无序(送达顺序不固定)支持分片(分片字段)路由不固定地址由报...
原创
80阅读
0评论
0点赞
发布博客于 1 年前

[BUUCTF-misc] 二维码

拿到一个二维码.使用WEBQR没扫出什么.暗示从文件包含入手(本来就是1分题能有啥Trick)binwalk拿到一个压缩包有密码,暗示4位数字.那直接上fcrackzip暴力破.fcrackzip -b -l 4-4 -c 1 -p 0000 /root/桌面/Chanel/_QR_code.png.extracted/1D7.zip也不是很多.但是懒得手输直接上脚本.源...
原创
2719阅读
0评论
0点赞
发布博客于 1 年前

主存管理[未完成]

文章目录存储管理主存共享方式逻辑组织一维结构二维结构地址映射主存扩充虚拟存储器存储保护动态分区存储分配分配数据结构分区的分配分区回收优化:首次适应算法最佳适应算法最坏适应算法队列链表结构页式存储页表虚地址结构虚实地址转换取址译码的自动化硬件机构页面调取的机制请求式系统的页表改装缺页处理淘汰策略页表改装抖动最佳替换算法最久未使用近似淘汰算法存储管理主存共享方式大小不等的划分分区存储段式...
原创
96阅读
0评论
0点赞
发布博客于 1 年前

CHARPTER Ⅲ传输层

CHARPTER Ⅲ运输层概述和运输层服务多路复用与多路分解无连接传输 : UDP可靠数据传输的原理面向连接的传输 : TCP拥塞控制原理TCP拥塞控制重要参考: https://zhuanlan.zhihu.com/p/34925520功能和内容为主机上运行的进程之间提供逻辑通信.划分报文段下发网络层重组为数据交给应用层针对的是HTTP报文中的DATA部分,这一...
原创
91阅读
0评论
0点赞
发布博客于 2 年前

CCF-CSP Python Cheat Sheet

这里写自定义目录标题Python Cheat Sheetstring字符串的运算格式化输出三引号其他ListDictionarySetGraph邻接表形式DFSBFS杂项无向图的联通判断序列中出现最多的元素生成定长0列表二叉树生成和遍历AlgorithmDPBackpack01背包多重背包最长公共子序列DJSTL/floydPRIM/KRUSKAL:最小生成树拓扑排序Python Cheat S...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

CHARPTER Ⅱ应用层

CHARPTER Ⅱ 应用层协议体系架构C/S结构P2P结构混合结构应用层协议主要控制不同主机上的进程通信.数据是端到端的,操作系统如何确认该数据应该下发给哪个进程?应用层协议定义了:交换的报文类型报文的语法字段的语义可靠传输?带宽控制?实时反馈?安全性?TCP面向连接 : 在客户端和服务器进程之间需要建立连接可靠传输 : 在发送和接受进程之间流量...
原创
69阅读
0评论
0点赞
发布博客于 2 年前

CHARPTER Ⅰ计算机网络和因特网

CHARPTER Ⅰ计算机网络和因特网出于个人恶趣味和复制粘贴需要,可能文章中会间歇性出现繁体段落/繁体中文表述方式.综述主机-服务器通信链路传输速率:带宽向应用程序提供服务的设施向应用程序提供编程接口网路边缘:主机,伺服器,用户机网路核心:路由接入网,物理介质:通信链路网络边缘端系统(用户机)伺服器C/S模型中有分别,而P2P模型不存在分别.接入网:...
原创
53阅读
0评论
0点赞
发布博客于 2 年前

数据库的查询优化 Ⅱ

Written with StackEdit.About B+ Tree Index: https://blog.csdn.net/xlgen157387/article/details/79450295代价及优化:See https://qiuzhenyuan.github.io/2018/02/15/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%9F%...
原创
61阅读
0评论
0点赞
发布博客于 2 年前

自顶向下的语法分析(1)

自顶向下的语法分析(1)输入一个终结符串,求解该串是否合法,并指出转换路径.自顶向下语法分析方法(即推导法)是从文法开始符S出发,逐步进行推导,以证实S→αS\rightarrow\alphaS→α的推导过程是否存在的方法。推导哪一个非终结符选取哪条路径(1)通常使用最左推导原则.问题⑵通常需要穷举每一个规则的可能推导,即不确定的自顶向下语法分析。具体思想是:一旦寻找到一个符号串...
原创
275阅读
0评论
0点赞
发布博客于 2 年前

二叉堆/并查集

Written with StackEdit.二叉堆完全二叉树优先从左边开始填充empty或最小元素在根上子树也是堆储存方式一维数组从[1]开始层序排列[k]的左儿子是2k右是[2k+1]操作Delete Minimum删除根最后一个元素代替根元素向下调整:选取当前节点和较小/大儿子(参考是小顶堆还是大)(通过下标定位),如果顺序不对则交换,直到顺序正确停...
原创
39阅读
0评论
0点赞
发布博客于 2 年前

背包问题的0-1化

Written with StackEdit.Reference:https://leomalik.github.io/01%E8%83%8C%E5%8C%85%E3%80%81%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E3%80%81%E5%A4%9A%E9%87%8D%E8%83%8C%E5%8C%85.htmlSee Also: https://www...
原创
101阅读
0评论
0点赞
发布博客于 2 年前

DP完全背包

Written with StackEdit.特征每件物品不限数量思路转化为0/1背包(?)每个物体尽可能多放(Why?)递推式为:F(i,j)=Max{F(i−1,w−kw[i])+kv[i]},∀kw[i]<wF(i,j)=Max\{F(i-1,w-kw[i])+kv[i]\} ,\forall kw[i]<wF(i,j)=Max{F(i−1,w−kw[i])...
原创
30阅读
0评论
0点赞
发布博客于 2 年前

DP0-1背包

Written with StackEdit.背包问题的大致特征给定CCC,(wi,vi)(w_i,v_i)(wi​,vi​)求max∑xivi≤C,xi∈ Intervalmax\sum x_iv_i\leq C,x_i\in\ Intervalmax∑xi​vi​≤C,xi​∈ Interval0-1背包问题0-1是最简单的背包问题,这里interval∈{0,...
原创
58阅读
0评论
0点赞
发布博客于 2 年前

二维动态规划/最长公共子序列

Written with StackEdit.二维动态规划引入Ⅰ一道很简单的奥数题:一个m×nm\times nm×n的方格, 从左上角到右下角的路线有多少种?很容易想到上边和左边的所有节点的种数只有1,而对于其他的点有:F(x,y)=F(x−1,y)+F(x,y−1)F(x,y)=F(x-1,y)+F(x,y-1)F(x,y)=F(x−1,y)+F(x,y−1)所以从[0]...
原创
98阅读
0评论
0点赞
发布博客于 2 年前

最长不降子序列&导弹拦截问题

Written with StackEdit.问题描述设有一个正整数的序列:????????,????????,…,????????,对于下标????????<????????<…<????????,若有????????????≤????????????≤…≤???????????? ,则称存在一个长度为m的不下降序列。给出序列,求最长不降序列的长度.思路创建数组f[],用f[i]表示长度为i的最长不下降子序列的尾值,那么f[]数组一定是一个有序序列。用变量t表示数组f[]的长度
原创
72阅读
0评论
0点赞
发布博客于 2 年前

查询语句的执行/查询优化(1)

Written with StackEdit.查询语句的执行细节SELECT SEUDENT.SCO,SNAME,CNAME,GRADEFROM STUDENT,SCWHERE STUDENT.SNO=SC.SNOAND GRADE<60查询分析对查询语句进行扫描,词法/语法/语义分析.语义分析:检查属性是否存在于关系中检查属性是否有二义性(同名的属性在两个表...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

进程管理(2)

Written with StackEdit.接上一篇文章目录进程(2)生产者和消费者计算进程和打印进程通信进程生产者和消费者的同步信号灯设置信号灯描述生产者的场合:消费者的场合进程通信线程定义状态变化并发机制实例进程的创建Sample文件执行,新程序运行execvpexeclpDifference between `fork` and `exec`Wait&Kill proc...
原创
176阅读
0评论
0点赞
发布博客于 2 年前

数据库编程和嵌入式SQL

数据库编程和嵌入式SQLAbstract主语言预编译execC下时在SQL语句前加exec sql标识.Java使用#sql{};SQL和主语言的通信Abstract传递SQL语句的执行状态信息,使用SQL通信区向SQL Server提供参数 通过主变量实现.将查询结果回传 使用主变量和游标主变量SQL中使用的主语言的变量进行查询更新等操作使用的变量.输入...
原创
380阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]词法分析(1)

词法分析文章目录词法分析目标词法-语法的接口正规文法正规式正规式和正规文法的转换正规式转正规文法正规文法转正规式有穷自动机确定有穷自动机Usage不确定有穷自动机Usage自动机的等价状态集映射和闭包运算NFA到DFA(*)DFA的最小化目标扫描源程序,转换为基于单词理解的源程序(种类,单词)词法-语法的接口词法分析程序和语法分析程序各自独立一趟方式。即词法分析程序把字符流的源程序转换...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

[[NOTE]进程和进程管理

进程文章目录进程顺序程序和并发顺序程序并发程序性质:无封闭性和可再现性进程进程的基本状态进程的转换进程描述(*)进程控制块PCB进程管理进程状态的变化进程控制原语进程创建原语进程撤销原语进程等待原语进程唤醒原语进程互斥临界资源互斥同步进程同步管理进程锁上锁操作和开锁操作信号灯(*)P:-1V:+1合作进程的执行实现(*)共享缓冲区的同步信号灯设置进程描述顺序程序和并发顺序程序开始-计算-...
原创
70阅读
0评论
0点赞
发布博客于 2 年前

[Note] 关系数据理论

[Note] 关系数据理论文章目录[Note] 关系数据理论目标和问题的提出数据依赖关系模式的简化描述关系的规范化函数依赖(*)定义平凡依赖完全依赖/部分依赖传递依赖:horse:范式规范化1NF2NF3NFBCNF(3.5NF)多值依赖4NFConclusionConclusion目标和问题的提出关系模式是指关系(表)之间的联系.对于一个现实的场景,应该如何设计关系和关系之间的关系....
原创
113阅读
0评论
0点赞
发布博客于 2 年前

[NOTE] 文法和语言

文章目录语言的结构文法文法记号文法推导Charset/String字符串运算文法的形式定义规则文法的相关概念直接/多步推导/规约句型和句子语言文法等价文法类型0型文法1型文法2型文法3型文法上下无关文法/语法树最左/右推导语法树二义性句型分析自上而下分析自下而上的分析短语/句柄利用句柄进行规约有害规则语言的结构词法: 定义符号的排列方式语句语义:静态/动态文法是语法的抽象,语句是文法...
原创
90阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]进程

进程注:繁体字纯粹是本人的恶趣味顺序程序程式1->程式2->…顺序性封闭性可再现性:和时间无关并發程式儅程式存在大量作業時可以要求并發執行.在I/O時執行下一個程式的計算.作業≈程式段并行程式記號:begin S1;S2;...end同步和互斥無封閉性和可再現性:某些變量依賴其他程式的公共變量,由於其他程式的運行進度會有變化.程式和計算不...
原创
40阅读
0评论
0点赞
发布博客于 2 年前

[L3H_SEC2019秋季招新题 MISC] Blue

下载得到压缩包,解压后有一个加密的压缩包和hint.hint提示用S盒加密了压缩包.Sbox='b865e3207da419cf'编写脚本解密,代码如下:import binasciiif __name__=="__main__": with open("./blue.zip","rb") as f: cipher=f.read() sbox="b865...
原创
116阅读
0评论
0点赞
发布博客于 2 年前

[POJ1163 IN PYTHON] P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles

题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大,=30输入格式第一...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

forensics.zip

本文用到的资源文件;供结束之后练习使用
zip
发布资源于 2 年前

[L3H_SEC2019秋季招新题 MISC] forensics

下载到的是一个.vmem文件.使用volatility获取信息进行取证.volatility -f '/root/DATABASE/191009/mem.vmem' imageinfo之后通过尝试确定profiles=Win2003SP1x86volatility notepad -f '/root/DATABASE/191009/mem.vmem'读取记事本信息,提示hello h...
原创
121阅读
0评论
0点赞
发布博客于 2 年前

[NOTE] SQL语言自用备查手册

文章目录创建创建数据库创建表(关系)从已有表中选取列组建新表录入数据常规方法批量插入查询常规操作多表联合查询(非UNION)创建创建数据库CREATE DATABASE <NAME>;创建表(关系)CREATE TABLE <NAME>(column_name1 data_type(size),column_name2 data_type(size),...
原创
78阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]彩虹表开发笔记

文章目录需求思路需求7位数字+小写字母输入MD5算法,32位小写链长128,链数67108864思路随机生成一个 7位明文ChainsRepeat校验:后生成的H(x)H(x)H(x)不等于之前的链的终点.如果不满足,重新生成起点生成的起点不和之前任何一个重复....
原创
70阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]彩虹表相关原理和开发指导

WHAT IS…彩虹表是一个用于加密散列函数逆运算的预先计算好的表,常用于破解加密过的密码散列。 查找表常常用于包含有限字符固定长度纯文本密码的加密。这是以空间换时间的典型实践,在每一次尝试都计算的暴力破解中使用更少的计算能力和更多的储存空间,但却比简单的每个输入一条散列的翻查表使用更少的储存空间和更多的计算性能。使用加盐的KDF函数可以使这种攻击难以实现。彩虹表主要用于破解哈希函数(MD...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]Python args模块使用手册

args模块解析规范文章目录args模块解析规范@[toc]S1:初始化对象S2:添加参数添加必须参数添加可选参数S3:解析参数S1:初始化对象parser = argparse.ArgumentParser()S2:添加参数添加必须参数parser.add_argument('integer', type=int, help='display an integer')integ...
原创
131阅读
0评论
0点赞
发布博客于 2 年前

Splint Personal Guidance

文章目录SplintInstallDeployParameter schemeCommand ExampleStack overflowFormat overflowSplintInstallAttention: Need -xvf splint-3.1.2.src.tgz or cause Error.Need command Make aviliable first.tar -x...
原创
55阅读
0评论
0点赞
发布博客于 2 年前

[TKINTER/RE]软件安全课设开发笔记

软件安全课设开发笔记Tkinter 相关窗口居中:def center_window(self,w, h):#input width and height # 获取屏幕 宽、高 ws = self.root.winfo_screenwidth() hs = self.root.winfo_screenheight() # 计算 x, y 位置 x = (ws/2) - (...
原创
64阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]argparse模块使用手册

args模块解析规范文章目录args模块解析规范@[toc]S1:初始化对象S2:添加参数添加必须参数添加可选参数S3:解析参数S1:初始化对象parser = argparse.ArgumentParser()S2:添加参数添加必须参数parser.add_argument('integer', type=int, help='display an integer')integ...
原创
46阅读
0评论
0点赞
发布博客于 2 年前

第一章:绪论 内容整理

文章目录层次数据库系统的层次表相对于文件结构数据库的优势DBMS的运维数据模型实体-关系模型实体关系数据操作关系的特性:数据系统的结构;系统模式内/外模式外模式内模式模式层次数据库系统的层次数据(D):描述事物的符号记录,值和语义.数据库(DB): 长期储存,有组织,大量,可共享数据库管理系统:(DBMS):维护管理,提供接口数据库系统(DBS):数据库+管理系统+管理员+应用程序...
原创
116阅读
0评论
0点赞
发布博客于 2 年前

静态分析缓冲区溢出漏洞和格式化字符串漏洞逻辑备查备忘

参考文献:一种基于代码静态分析的缓冲区溢出检测算法王雅文1 姚欣洪1 宫云战1 杨朝红21(北京邮电大学网络与交换技术国家重点实验室 北京 100876) 2(装甲兵工程学院信息工程系 北京 100072) (wangyawen@bupt.edu.cn)文章目录缓冲区溢出部分需要注意的函数初步设想流程区间运算相关:缓冲区溢出部分需要注意的函数初步设想流程Created with ...
转载
153阅读
0评论
0点赞
发布博客于 2 年前

CFLOW静态分析CFG备查

Ref:https://blog.csdn.net/breaksoftware/article/details/75576878在基础上做一定的修正.官方文档:https://www.gnu.org/software/cflow/#TOCdocumentation文章目录环境准备测试转换环境准备apt-get install cflow #主程序下载wget -c https://g...
转载
130阅读
1评论
0点赞
发布博客于 2 年前

FLEX相关与一个基于此的基本C语言解析脚本

这里写自定义目录标题FLEX/LEX基本信息Lex的脚本结构全局声明匹配规则功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...
原创
143阅读
0评论
0点赞
发布博客于 2 年前

差分密码分析

差分密码分析是针对SPN结构中的S盒(通过测试可以探测出结构)进行分析的方法,最后目标是破解出异或密钥k.准备工作对于一个4位一组的S盒的输入xxx输出yyy输入x∗x^*x∗输出y∗y^*y∗,计差分为x′=x⊕x∗x&#x27;=x\oplus x^*x′=x⊕x∗,y′=y⊕y∗y&#x27;=y\oplus y^*y′=y⊕y∗.则4位下x′x&#x27;x...
原创
3258阅读
1评论
0点赞
发布博客于 2 年前

MISC方向隐写部分入门

MISC方向隐写部分入门隐写术的定义隱寫術是一門關於信息隱藏的技巧與科學,所謂信息隱藏指的是不讓除預期的接收者之外的任何人知曉信息的傳遞事件或者信息的內容。隱寫術的英文叫做Steganography,來源於特裡特米烏斯的一本講述密碼學與隱寫術的著作Steganographia,該書書名源於希臘語,意為「隱秘書寫」。通俗的讲,就是将信息隐藏在信息传递载体中以达到避免泄露的目的.在方法/目...
原创
271阅读
0评论
0点赞
发布博客于 2 年前

[T86671] 出现次数最多的数

题目描述给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。...
原创
436阅读
0评论
0点赞
发布博客于 2 年前

[QUICK NOTE]线性攻击SPN:如何选取线性逼近

以下仅针对定向的密钥恢复.从最后一轮S 盒的输出选取起始.将其作为输出,在偏移表内检索偏差大的(最好BIN形式的1较少避免扩散)将结果作为输入,经过逆P盒路径传至上一级作为输出LOOP直到最上一层.之后执行线性攻击步骤.密钥的回复情况视实际的扩散而定....
原创
696阅读
0评论
0点赞
发布博客于 2 年前

符号执行相关

符号执行相关符号执行 (Symbolic Execution)是一种程序分析技术。其可以通过分析程序来得到让特定代码区域执行的输入。使用符号执行分析一个程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到可以触发目标代码的具体值。符号模拟技术(symbolic simulation)则把类似的思想用于硬件...
原创
986阅读
0评论
0点赞
发布博客于 2 年前

[REV] 密码学考点文章汇总

古典密码代换/置换密码仿射密码https://baike.baidu.com/item/仿射密码维吉尼亚密码:多表代换https://www.wikiwand.com/zh-hans/维吉尼亚密码为了生成密码,需要使用表格法。这一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。例如,假设明文为:AT...
原创
235阅读
1评论
1点赞
发布博客于 2 年前

[REV] CPU

部件PCAR:CPU访问主存地址IR:指令缓冲寄存器ID:译码不见OC:操作控制信号生成器TG:时序信号生成器[此处应该有图]RTL语言冯诺依曼体系最大特点(缺点?)是数据和命令在一个存储器中.通过提取时间判断是指令还是数据周期指令周期:取指令+执行完成所需的时间CPU/机器周期:从CPU中取一个存储字的最短时间时钟周期:基本的CLK信号周期单周期...
原创
61阅读
0评论
0点赞
发布博客于 2 年前

[REV] Command System

标准构型:操作码 操作字段操作数指令格式分析字长,操作数个数OP长度->指令空间操作数指向寄存器/主存->R/S指令或者程序控制型指令:JMP寻址方式立即寻址操作数是立即数,直接读入.隐含寻址操作数在规定的寄存器中.直接寻址相当于一级指针,操作数是主存中的数据的地址.数据在主存中.间接寻址相当于二级指针.操作数是指针的地址.需要经过两重寻址....
原创
49阅读
0评论
0点赞
发布博客于 2 年前

[REV]存储体系

CPU→Cache→主存→辅存(外存)CPU\rightarrow Cache\rightarrow 主存\rightarrow 辅存(外存)CPU→Cache→主存→辅存(外存)程序局部性时间局部性:反复访问同一个存储区域(循环)空间局部性:访问区块相邻(顺序结构)随机存储器...
原创
121阅读
0评论
0点赞
发布博客于 2 年前

[REV]时序电路

Defination不仅和现在的输入有关也和过去的状态有关的电路.有反馈回路.触发器R-SS=1→1R=1→0S=0 R=0→KeepS=1 R=1→BannedS=1\rightarrow 1\\R=1\rightarrow 0\\S=0\ R=0\rightarrow Keep\\S=1\ R=1\rightarrow BannedS=1→1R=1→0S=0&n...
原创
210阅读
0评论
0点赞
发布博客于 2 年前

[REV] 运算和运算器

定点加减法[X+Y]补=[X]补+[Y]补[X+Y]_补=[X]_补+[Y]_补[X+Y]补​=[X]补​+[Y]补​[X−Y]补=[X]补−[−Y]补[X-Y]_补=[X]_补-[-Y]_补[X−Y]补​=[X]补​−[−Y]补​-Y补码的生成:从右至左扫描,0跳过,遇见1,从下一位开始取反.定点加减法的溢出检测原理:如果两正数相加结果是负数或两负数相加结果是正数,则发生溢出.无...
原创
163阅读
0评论
0点赞
发布博客于 2 年前

[REV]编码和可靠性编码

BCD格雷码定/浮点数CRC海明BCD码84212421余38421略.1010~1111无效.2421无重复但有多值.对9自补规则取消多值.0101-1010无效.余3平衡8421的无效区间使其对9自补.VALUE=8421+3.格雷码最高位不变,其余位Gi=Bi+1⊕BiG_i=B_{i+1}\oplus B_iGi​=Bi+1​⊕Bi​就是卡诺图...
原创
420阅读
0评论
1点赞
发布博客于 2 年前

[REV] 组合逻辑电路分析和设计

组合逻辑电路的特点:无存储,无反馈分析:函数表达式-化简-真值表-功能分析设计:逻辑描述-简化表达式-表达式整理-电路图无关项在设计中的作用时延与险象:(非)临界竞争?判定:当且仅当存在真值指派方案使得F=Aˉ⋅AF=\bar{A}\cdot AF=Aˉ⋅A or F=Aˉ+AF=\bar{A}+ AF=Aˉ+A0/1型险象:按错误的输出分类消除:⋅(1) or ...
原创
65阅读
0评论
0点赞
发布博客于 2 年前

[REV] 逻辑代数

CHARPTER ⅠBIN&OCT原码,反码,补码反码加减法:[X1−X2]反=[X1]反−[X2]反 [X_1-X_2]_反=[X_1]_反-[X_2]_反 [X1​−X2​]反​=[X1​]反​−[X2​]反​符号位溢出塞进最后一位补码加减法同符号位溢出直接去掉(对2取模)CHARPTR Ⅱ逻辑代数的基本定义(略)几个核心公理和定义(见逻辑代...
原创
190阅读
0评论
0点赞
发布博客于 2 年前

[NOTE]计算机字长与寻址

对于地址表述,数字部分(包括位数)代表寻址单元数量比如256KB代表每个字节(8位BIN,2位HEX)为一个寻址单元,空间内一一共有256K(1024*256)个单元.对应的,1024有10位地址,256有8位.(注意,范围是0-255,没理由浪费一位)也就是一共18位地址线,或者地址寄存器使用18位.阶段节点参考:容量位数1K101M201G3...
原创
337阅读
0评论
0点赞
发布博客于 2 年前

[TOOL]剩余系下求低阶矩阵的逆

在希尔密码中要解密就要求密钥矩阵在剩余系下的逆矩阵.这篇文章主要是简述求逆的方法,备查备忘.[123456789]\left[ \begin{matrix} 1 &amp; 2 &amp; 3 \\ 4 &amp; 5 &amp; 6 \\ 7 &amp; 8 &amp; 9 \end{matrix} \right]...
原创
80阅读
0评论
0点赞
发布博客于 2 年前

SPN:代换置换网络简述

基本技术:代换和置换迭代密码方案安全需求:混乱性:密钥和明文密文间有复杂的依赖扩散:单个密钥或明文的变化影响到更多的密文迭代密码使用密钥扩展算法将输入的一个密钥扩展为多个子密钥(Subkey)每轮使用一个子密钥进行加密上一轮的输入作为下一轮的输出,也就是自身迭代代换置换网络代换-置换网络是一系列被应用于分组密码中相关的数学运算,高级加密标准(英语:AES)、3...
原创
2324阅读
1评论
1点赞
发布博客于 2 年前

熵公式汇总

自信息量部分I(xi)=log21p(xi)=−log2p(xi)I(xi,yi)=−lon2p(xiyi),X,Y独立时 =I(xi)+I(yi)=−log2p(xi)−log2p(yi)I(xi∣yi)=−log2p(xi∣yi)I(xiyi)=−log2p(xiyi)=−log2(p(yi∣xi)×p(xi)p(xi))=−log2p(yi∣xi)p(xi)=I(yi∣xi)+I...
原创
6171阅读
0评论
0点赞
发布博客于 2 年前

香农密码理论汇总:熵理论

ref by https://www.wikiwand.com/zh-hans/熵_(信息论)信息和熵在信息论中,熵(英语:entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。(熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。)来自信源的另一个特征是样本的概率分布。这里...
原创
1522阅读
0评论
0点赞
发布博客于 2 年前

香农密码理论汇总:完善保密性

数学基础备查备忘条件概率:P[x∣y]=P(xy)P(y)P[x|y]=\frac{P(xy)}{P(y)}P[x∣y]=P(y)P(xy)​联合概率和条件概率P[xy]=P[x∣y]P[y]=P[y∣x]P[x]P[xy]=P[x|y]P[y]=P[y|x]P[x]P[xy]=P[x∣y]P[y]=P[y∣x]P[x]贝叶斯定理P[x∣y]=P(x)P[y∣x]P(y)P[...
原创
1792阅读
1评论
1点赞
发布博客于 2 年前

[Addition]非确定状态下的状态化简

上一篇文章花了不少篇幅讲到状态的归并化简.但对于非完全确定状态表(即有无关项的)表格效果不佳.这次从另外一个地方(http://ranxb.cn/2018/01/06/数字电路第六章:同步时序逻辑电路——上(状态编码之前)/#同步时序逻辑电路的设计)找到了一篇文章补上.这篇文章的其他部分也可以作为上一篇未尽部分的参考.不确定的次态输出这种电路的状态表包含着不确定的次态或输出,所以,是一种不完...
转载
438阅读
0评论
3点赞
发布博客于 2 年前

同步时序逻辑电路的设计

Cited via《数字电子技术》 > 第6章 时序逻辑电路
转载
4548阅读
2评论
6点赞
发布博客于 2 年前

同步时序电路分析

同步时序电路的特征,和两种分析方法
原创
3029阅读
0评论
3点赞
发布博客于 2 年前

电位触发,空翻,主从触发器

电位触发在约定钟控信号电平(CP=1或CP=0)期间内,输入激励信号的变化 都会引起触发器状态的改变;在约定钟控信号电平(CP=0或CP=1)期间外,无论输入激励信号如 何变化,触发器状态保持不变。也就是说当且仅当约定期间内才引起变化.但根据电平持续时间的不同,一个电平区间内可能会有多次.这就引出了空翻的问题.空翻:钟控RS的空翻现象左图是钟控RS的电路图.当RS=1时开始工作(接...
原创
1034阅读
0评论
1点赞
发布博客于 2 年前

几种时序触发器

触发器是时序电路的基本单位,在这里写一下备查备忘.
原创
696阅读
0评论
0点赞
发布博客于 2 年前

加密解密及安全网络通信模型:对称模型和非对称模型

https://blog.51cto.com/me2xp/1535027一、前言加密技术是一门古老而深奥的学科,长期以来,都应用在很小的范围,如军事、外交、情报等部门。公元前405年,斯巴达的将领就使用了原始的错乱密码;公元1世纪,罗马皇帝凯撒就使用了有序的单表代替密码。中国古代出现的“符”,也是一种数据加密的方法。20世纪初,电子通讯技术的发展,尤其是两次世界大战中,密码通讯和第三方...
转载
777阅读
0评论
1点赞
发布博客于 2 年前

编码和可靠性编码

编码和可靠性编码
原创
2859阅读
0评论
2点赞
发布博客于 2 年前

[PHP In Leetcode 7] Reverse Integer

题目Given a 32-bit signed integer, reverse digits of an integer.给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符...
原创
117阅读
0评论
0点赞
发布博客于 2 年前

有限域:基本性质和特征

域的定义,同构,映射,域的特征的定义和性质.
原创
9258阅读
0评论
4点赞
发布博客于 2 年前

[PHP In Leetcode 832] Flipping an Image

题目Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resulting image.To flip an image horizontally means that each row of the image is reversed. For ex...
原创
41阅读
0评论
0点赞
发布博客于 2 年前

[PHP In Leetcode 977] 有序数组的平方

问题Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

[PHP in Leetcode 709] To Lower Case

问题Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase.实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。思路用string函数中的str...
原创
64阅读
0评论
0点赞
发布博客于 2 年前

[PHP in Leetcode 711] Jewels and Stones

开这个坑呢,主要是为了督促自己学习PHP,并且能尽早进入CTF的实战.虽然说PHP不算难(对于已经掌握一门语言的来说),但如果算法和函数都不熟悉的话啥也干不了.题目You’re given strings J representing the types of stones that are jewels, and S representing the stones you have....
原创
92阅读
0评论
0点赞
发布博客于 2 年前

组合逻辑电路的设计:竞争和险象

逻辑电路的设计原则,竞争和险象的定义,产生原因和绕过方法.
原创
1310阅读
0评论
2点赞
发布博客于 2 年前

中国剩余定理及其他

中国剩余定理理论和应用
原创
81阅读
0评论
0点赞
发布博客于 2 年前

一次同余式的求解和相关理论

同余式的定义&;一次同余式求解的通用方法.
原创
3880阅读
0评论
4点赞
发布博客于 2 年前

欧拉定理和费马定理的应用

欧拉和费马定理的应用,大数环境下的分解和求欧拉函数.
原创
712阅读
0评论
1点赞
发布博客于 2 年前

卡诺图在化简逻辑布尔代数上的运用

反演,对偶,卡诺图化简的理论依据和实际操作
原创
1198阅读
0评论
1点赞
发布博客于 2 年前

逻辑代数几个重要定理

写作业要用的一些逻辑代数定理,写在这备查备忘.
原创
2542阅读
0评论
0点赞
发布博客于 2 年前

欧拉定理和费马小定理

同余的性质,欧拉定理,费马小定理
原创
319阅读
2评论
0点赞
发布博客于 2 年前

筛法与质数表

筛法给出一个自然数表(1,2,…,n),要求尽可能快的找出其中的质数,应该怎么做?有两种思路:一种是遍历,一个个找质数,一种是去掉所有的合数.那么选择哪一种呢?不管怎样,先来看看如何判定质数或者合数.质数和合数的判定质数和合数的定义在这不多讲.为判断是质数还是合数,最经典的方案就是遍历小于该数的所有整数(除了1),如果出现整除,那就不是.就像这样:while(i=2;i&amp;amp;amp;lt;N;...
原创
298阅读
0评论
0点赞
发布博客于 2 年前

二元一次不定方程的整数解

先来看看一个典型的二元一次不定方程:ax+by−c=0a,b,c∈zx,y∈zax+by-c=0\\ a,b,c\in\mathbb{z}\\x,y\in\mathbb{z}ax+by−c=0a,b,c∈zx,y∈z为了方便不妨限定c⩾0c\geqslant0c⩾0.下面给出一个是否有解的定理:theorem:gcd(a,b)∣c&amp;amp;amp;ThickSpace;⟺&amp;amp;amp;Thick...
原创
1613阅读
0评论
1点赞
发布博客于 2 年前

TOOL 一个裴蜀定理解析器

刚才随便写了一个裴蜀定理解析器,主要功能有:计算两个整数的最大公因数抛出非法输入(两个都是0)计算裴蜀方程的解(ta+sb=gcd(a,b)ta+sb=gcd(a,b)ta+sb=gcd(a,b))输出过程信息以供调试用C写的,很基本,也没有什么乱七八糟的功能.就是做作业懒得手算.源码见https://github.com/POTASSIUM7429/Bezout-s-lemma...
原创
103阅读
0评论
0点赞
发布博客于 2 年前

欧几里得辗转相除法和裴蜀等式

TOOL:欧几里得辗转相除法最大公因数的定义略,先 来看上一篇文章中提到的&amp;amp;amp;amp;quot;abbr&amp;amp;amp;amp;quot;定理的推论.设a,b为不全为0的整数,则(a,b)=(a+bq,b)=(a,b+aq).设 a,b为不全为0的整数,则\\ (a,b)=(a+bq,b)=(a,b+aq).设a,b为不全为0的整数,则(a,b)=(a+bq,b)=(a,b+aq).在公式形式上,有qb+a=&amp;amp;amp;am
原创
192阅读
0评论
0点赞
发布博客于 2 年前

整除和余数

Charpter1.1 整除和余数余数的定义对于整数a,b,存在整数q,r,使得a=qb+r a=qb+ra=qb+r一般的, r∈[0,b)r \in[0,b)r∈[0,b) .虽然理论上一个r对应一个q,但是在后面的绝大多数情况下都是取这样一个标准区间.整除当r=0时,记作b∣ab|ab∣a,即b(可)整除a.注意是(较小的)除数在前.整除的性质ifa∣b,±ka∣...
原创
676阅读
0评论
1点赞
发布博客于 2 年前