考研积极自救day3
面试突击部分
面前,怎么着人家也要花些时间来和我交流,还是要突击一下的。
面后,唉,又被嘲讽了,我有毒,干啥恶心我自己嘛,又脆弱的被说哭了,我鄙视我自己,考研复试呀,如果特么他再让我面试,我也不准备了。
最终,果然通知我最后一面,我给拒绝了,如果我考不上就要,就彻底的前端了。
今日算法数据结构
今天内心比较复杂,做得都比较简单,把牛客剩下的给做了,没刷心爱的leetcode,怎么活着这么类,还好有小说和火锅的支撑,爸爸妈妈他们也没法替我做决定,现在心里难受就只能自己偷偷的哭,我知道这很浪费时间了
专业课部分
操作系统部分:
今天问了一个计算机基础的题,函数调用栈的变化过程,我没有答好,现在认真整理一下函数调用栈的变化过程
- 从汇编角度看:初始化堆栈,参数入栈,函数地址入栈,函数体,进行操作,恢复栈
密码学部分RC4:
- RC4不是对明文进行分组处理,而是字节流的方式依次加密明文中的每个字节。解密的时候也是依次对密文中的每个字节进行解密。
- 对称密码体制中的小公举,简洁快速,比DES等要可爱很多
需要的原材料:
一个256长的S数组,从s[0]到s[255]
一个秘钥
小项目部分
RSA密码学从秘钥生成算法开始的全部实现了,明天DES
#include<bits/stdc++.h>
using namespace std;
int quickMultiply(int a, int b, int c){//其中a, b为要做乘法的数,c为数模long long ans = 0, res = a;while(b){if(b & 1)ans = (ans + res) % c;res = (res + res) % c;//这里特别奇怪不能用<<1b >>= 1;}return (int)ans;
}
int quickPow(int a, int b, int c){int ans = 1, res = a;while(b){if(b & 1)ans = quickMultiply(ans, res, c);//由于肯能会有大数相乘所以用快速积res = quickMultiply(res, res, c);b >>= 1;}return ans;
}bool MillerRabin(int n){if(2 == n)return true;if(n < 2 || !(n & 1))return false;//将x - 1分解成2^k * m的样子int m = n - 1, k = 0;while(!(m & 1)){k++;m >>= 1;}srand(time(NULL));int a = (rand() % (n - 1 - 1 + 1)) + 1; //选取为[1, n - 1]//cout<<a<<endl;int b = quickPow(a, m, n);if(b == 1)return true;for(int i = 0; i < k; i++){if(b == n - 1)return true;//二次探测判断else b = quickMultiply(b, b, n);}return false;
}
int RSAEn(int txt, int n, int e){return quickPow(txt, e, n);
}
int RSADE(int txt, int n, int d){return quickPow(txt, d, n);
}
int gcd(int a, int b){if(!b)return a;else return gcd(b, a % b);
}
bool checkMuPri(int a, int b){return gcd(a, b) == 1;
}
vector<pair<int, int> > genSecretKey(){int cnt = 0;int p, q;vector<pair<int, int> > ans;//ans[0]是公钥,ans[1]是私钥for(int i = 100;i >= 0; i--){if(MillerRabin(i) && cnt == 0){cnt++;p = i;cout<<"p:"<<p<<endl;}else if(MillerRabin(i) && cnt == 1){cnt++;q = i;cout<<"q:"<<q<<endl;}if(cnt == 2)break;}int n = p * q;int fain = (p - 1) * (q - 1);// fain = 3120;cout<<fain<<"fain"<<endl;srand(time(NULL));int e = (rand() % (fain - 1 - 1 + 1)) + 1; //选取为[1, fain]while(!checkMuPri(e, fain)){srand(time(NULL));e = (rand() % (fain - 1 - 1 + 1)) + 1; //选取为[1, fain]}// e = 17;cout<<n<<' '<<e<<endl;//公钥肯定是没有问题的ans.push_back(make_pair(n, e));int d;for(d = 1; (e * d - 1) % fain; d++);ans.push_back(make_pair(n, d));cout<<n<<' '<<d<<endl;return ans;
}
int main(){//int unitest = 18;vector<pair<int, int> > ans;ans = genSecretKey();//对65加密解密后还是65得知正确性int tmp = RSAEn(65, ans[0].first, ans[0].second);cout<<"tmp:"<<tmp<<endl;cout<<RSADE(tmp, ans[1].first, ans[1].second)<<endl;system("pause");
}
对于老师的论文学习,我觉得还是把密码学的AES和RC4实现完了再继续学,要不论文里的秘钥啥的轮数我都不太明白
考研积极自救day3相关推荐
- 积极考研自救day1之leectode24点问题+今日份学习总结
今天开始不能丧气的听天由命,把那个诅咒我考不上的学长删了 ,努力把自己那不高的考研分数发挥到极致,主动联系导师要论文,LeetCode主要是搜索和字符串链表之类的,每天日更博客五道编程题从中选一个最精 ...
- 考研英语长难句训练day3
例1: Thus, the anthropological concept of "culture"//, like the concept of "set"i ...
- 考研数据结构算法题总结
考研数据结构100天 Day1:在带头结点的单链表L中,删除所有值为X的节点,并释放其空间,假设值为的X节点不唯一,试编写算法以实现上述操作 void Del-X(LinkList &L,in ...
- 陈正康考研英语长难句1~25
长难句100句 语法摘要 [DAY1]In the American economy, this mechanism is provided by a price system, a process ...
- 保研边缘人如何自救(经管学姐)?
保研边缘人如何自救? 前期-增强实力 绩点 6级成绩 论文成果 竞赛成果 荣誉证书 学生干部经历 实习经历 专业匹配度 中期-材料准备 简历 推荐信 学习规划 职业规划 后期-软实力的提升 信息的收集 ...
- 开学季征文|卷生卷死之新学期大学生自救指南!!!
你好,这里是前情提要 正所谓 " 宁可卷死自己,也要卷死同学 " ,在这个万物皆卷的时代,"卷"似乎早已与我们变得不可分割血脉相融,有道是卷卷更健康.我也知道卷 ...
- 《上海交大生存手册》之读后感------本科指北自救
2022年,刷知乎的我刷到了2008年就问世且不断更新的<上海交大生存手册>.2008年,还在念小学,像我这类学渣内心想着的还是怎么刷一下成绩考个重点初中高中然后考个普通211.而别人的生 ...
- 操作系统学习笔记 第六章:设备管理(王道考研)
本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...
- 操作系统学习笔记 第五章:文件管理(王道考研)
本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...
最新文章
- 忽悠马云10亿的骗子,还了阿里4500亿:做对事赢一场,跟对人赢一生!
- sequoiadb sdbexprt 导入工具进阶使用
- 3种骚操作,教你查看 Java 字节码!
- MFC(ActiveX编程,孙鑫C++第十八讲笔记整理)
- flask前端显示MySQL数据_flask怎样查询mysql并显示在页面上
- 【剑指offer】面试题18:删除链表的节点(Java)
- JEECG常见问题大全征集
- 从0移植uboot (二) _启动流程分析
- 苹果的廉价机,你也认为“真香”吗?
- LIRe 源代码分析 6:检索(ImageSearcher)[以颜色布局为例]
- C# XElement
- [NOIP2007]矩阵取数游戏(详细题解、含多种思路)
- 联想微型计算机改win76,联想ideacentre一体机改win7详细教程
- java的LocalDateTime类来获取当天时间、前一天时间,本周的开始和结束时间、本月的开始和结束时间
- 7.8 最优二叉树与哈夫曼编码
- 怎么用python表白_如何正确使用Python进行表白
- 字节跳动瞄准千亿互联网医疗蓝海,张一鸣想靠AI算法当“药神”?
- 暨南大学计算机专业考研录取目录,21考研必备 暨南大学2020计算机类研究生招生情况汇总...
- Python写网络爬虫(三)
- Linux之编写shell脚本
热门文章
- c语言 精品课程 申报书,精品课程建设申报书.PDF
- 基于遗传算法改进BP神经网络的电池容量SOC预测
- 大学计算机英语句子,英语经典句子(精选100句)
- 【在Win10环境下Qt5.6.1 For Android 开发环境配置】
- 根据条形码获取商品信息
- 服务器安装系统鼠标键盘不能用,在Dell计算机上安装Win7系统后,将无法使用USB鼠标和键盘. 完整的解决方案...
- Spark SQL是什么?
- VMware镜像文件下载
- case when和COALESCE
- 什么是IOS 和 GHO 文件?