RSA算法的工作流程 1. 生成公钥私钥 生成两个素数p和q,计算n=p*q,计算φ(n)=n-p-q+1,然后生成e与d,使 e * d = 1 mod φ(n). 然后以(n, e)作为公钥,(n,d)作为私钥,其他的p,q,φ(n)可以舍弃. 2. 加密 明文为c 密文r = ce mod n 解密 密文为r 明文c = rd mod n 3. 证明 将加密的结果代入解密公式中,可以得到 rd mod n =  (ce mod n)d mod n = ced mod n = ck*φ(n)…
1. Diffie-Hellman协议: 假定g是集合G的生成元,G有n个元素. Alice随机选取1-n中的一个数a,并公布ga为公钥 Bob随机选取1-n中的一个数b,并公布gb为公钥 那么gab就是Alice与Bob之间的私钥 从公钥中提取私钥,是一个离散对数问题,难以解决. 裸的Diffie-Hellman协议有中间人攻击的风险 2. Elgamal系统 n阶有限循环群G,哈希函数H,对称加密算法Es与Ds Alice随机选取G的一个生成元g,从1到n-1间随机选取一个数a Alice将…
Linux学习笔记--基于鸟哥的Linux私房菜 ***** ARM与嵌入式linux的入门建议 (1) 学习基本的裸机编程:ARM7或ARM9,理解硬件架构和控制原理 (这一步是绝对的根基) (2) 使用Linux系统进行一些基本的实验 (3) 研究完整的Linux系统的运行过程 : 完整Linux = bootloader + linux kernel + rootfile根文件系统 (4) 开始做Linux系统移植 :修改开源的Linux源代码,直到可以运行在你的板子上,这就叫移植 (5)…
一.WCF的定义 WCF是.NET 3.0后开始引入的新技术,意为基于windows平台的通讯服务. 首先在学习WCF之前,我们也知道他其实是加强版的一个面向服务(SOA)的框架技术. 如果熟悉WebService就会知道WebService是基于XML+XSD,SOAP和WSDL三大技术,当然他也是采用HTTP协议的通信,严格来说WebService是一种面向服务开发的标准.而ASP.NET WebService则是微软平台下的服务. WCF其实一定程度上就是ASP.NET Web Servi…
feature study within neural network 在regression问题中,根据房子的size, #bedrooms原始特征可能演算出family size(可住家庭大小), zip code可能演算出walkable(可休闲去处),富人比例和zip code也可能决定了学区质量,这些个可住家庭大小,可休闲性,学区质量实际上对于房价预测有着至关重要的影响,但是他们都无法直接从原始数据输入获取,而是进过hidden layer学习抽象得出的特征. loss functio…
前言:最近在linux培训时复习了一下linux系统中一些常用的命令和用法,整理成了笔记,虽然些许零散,但希望对大家有所帮助. 目录 0.帮助指令 1.关机.重启.注销命令 2.文件和目录操作命令 3.文件过滤及内容编辑处理命令 4.文本处理 5.信息显示与搜索文件命令 6.文件备份与压缩命令 7.用户管理及用户信息查询命令 8.磁盘与文件系统 9.进程管理命令 10.其他 11.argc和argv 12.关于字符串变量的截取 0.帮助指令 Linux 指令众多,各种指令又具备复杂的参数,对于一…
在b站上大概的看完了Dan Boneh的密码学,对现代密码学总算有了一个粗浅的认识. 总算能在纸上手写RSA公式并且证明之了,蛤蛤. 总体的感触就是,现代密码学是一个非常博大精深的体系,我等程序员最重要的是学习正确的使用别人已经编写好的密码库,千万不要妄图自己实现一套密码体系.否则各种奇形怪状的攻击分分钟教你做人. 最后,有点后悔高中的时候没有搞数学竞赛.听课的时候,数论相关的东西,花了很大力气到处查资料才能搞懂.…
1. 使用可信第三方(Trusted third parties)进行密钥交换. a. Alice与TTP之间的密钥是K1,Bob与TTP之间的密钥是K2. b. Alice向TTP发起一个与Bob交换密钥的请求.TTP生成一个随机密钥Kab,然后将Kab用K1加密,得到E1,将Kab用K2加密,得到E2. c. TTP将E1与E2一起发送给Alice.Alice用K1解密E1,得到密钥Kab. d. Alice再将E2发送给Bob,Bob用K2解密E2,也得到密钥Kab. e. 现在Alice…
1. ECBC-MAC,需要一对密钥k与k1,然后将明文分组,用cbc模式对明文分块加密,将最后的密文块再用k1进行加密,即可得到结果 2. NMAC,需要一对密钥k与k1,然后将明文分组,用k加密第一组明文,得到k',然后用k'加密第二组明文,得到k'',依次类推,最后得到k(n) ,然后用k1对k(n) 进行加密,即可得到结果 如果没有最后一步利用密钥k1的加密,我们可以在明文后附加一组数据,然后用原先的MAC结果再对附加文加密,从而得到新结果.   扩展攻击 3. 在给MAC做填充时,不能…
一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable installer) 虚拟环境: virtualenvwrapper 开发框架: Django 2.2 要用的在几个网站: Vue 2.x: https://cn.vuejs.org/ Element 2.13: https://element.eleme.cn/2.13…