【密码学原理与实践】(五)希尔密码

希尔密码(Hill Cipher)定义设m>=2为正整数,P=C=(Z26)m,且K={定义在Z26上的m×m可逆矩阵},对任意的密钥K,定义:ek(x)=xK和dk(y)=yK-1 ,以上运算都是在Z26上进行的。从一个例子开始希尔密码的学习。引例设m=2,每个明文单元使用x=(x1,x2)来表示,同样密文单元使用y=(y1,y2)来表示。具体加密中,y1,y2被表示x1,x2的线性组合。例如:y1=(11x1+3x2)mod26y2=(8x1+7x2)mod26使用矩阵,可将上
分类: 其他 发布时间: 01-22 23:44 阅读次数: 0

【密码学原理与实践】(六)置换密码 符java代码实现

置换密码置换密码与前面的代换密码是不一样的,置换密码是保持明文的所有字母不变,只是利用置换打乱了明文字母的位置和次序。首先需要明白,置换既是单射又是满射定义令m为一正整数,P=C=(Z26)m(Z_{26})^m(Z26​)m,K是左右定义在集合{1,2…m}上的置换组成,对任意的秘钥π,定义:ex(x1,x2...xm)=(xπ(1),xπ(2),...xπ(m))e_x(x_1,x_2...x_m)=(x_{π(1)},x_{π(2)},...x_{π(m)})ex​(x1​,x2​...xm
分类: 其他 发布时间: 01-22 23:43 阅读次数: 0

【密码学原理与实践】(七)流密码 符java代码实现

流密码前面几种密码都是连续的明文元素是使用相应的密钥K来加密的,即明文串使用如下方法得到y=y1y2...=ek(x1)ek(x2)...y=y_1y_2...=e_k(x_1)e_k(x_2)...y=y1​y2​...=ek​(x1​)ek​(x2​)...这种类型的密码体质通常称为分组密码。还有一种广泛使用的密码体质称为流密码,其基本思想是产生一个密钥流z=z1z2...z=z_1z_2...z=z1​z2​...然后使用它根据如下的规则来加密明文串x=x1x2...x=x_1x_2...x=x1​
分类: 其他 发布时间: 01-22 23:43 阅读次数: 0

【ERROR】ValueError: Of the four parameters: start, end, periods, and freq, exactly three must be spec

ValueError: Of the four parameters: start, end, periods, and freq, exactly three must be specified错误写法:print(pd.date_range(start='20201001',end='20201203',periods=5,freq='2D'))start,end,periods,freq这4个参数只能设置3个,否则会报错pandas中源码如下: if com.count_not_none(
分类: 其他 发布时间: 01-22 23:43 阅读次数: 0

工程伦理ppt

工程伦理学第一章 工程与伦理1.1 如何理解工程一、技术与工程的区别二、技术与工程的联系三、工程的定义五、工程具有不确定性和探索性六、理解工程活动的7个维度1.2 如何理解伦理一、道德与伦理二、不同的伦理立场三、伦理困境与伦理选择1.3 工程实践中的伦理问题一、工程活动中的行动者网络(具有动态性和网络性)二、主要的工程伦理问题三、工程伦理问题的特点1.4 如何处理工程实践中的伦理问题一、工程实践中伦理问题的辨识二、处理工程伦理问题的基本原则三、应对工程伦理问题的基本思路
分类: 其他 发布时间: 01-22 23:43 阅读次数: 0

【杂记】互联网行业常用指标

PV(Page Views):页面浏览数,通常指的是每天的点击数,用户访问一次网站的页面就算一次PV。如果说一个网站每天有100万PV,那就是说这个网站所有的网页每天一共被点击100万次。UV(Unique Visitors):独立用户数(浏览数),通常指的是每天的用户浏览数,与PV的不同之处是,一个相同的用户如果点击页面10次,算10个PV,但是只算1个UV。有的网站在没有用户体系的情况下有可能会用独立IP来代替这个指标。DAU(Daily Activated Users):日活跃用户数,即每天
分类: 其他 发布时间: 01-22 23:42 阅读次数: 0

【人工智能】人工智能学习常用数据集

https://storage.googleapis.com/openimages/web/download.htmlhttp://cocodataset.org/#downloadhttp://www.data.gov/about
分类: 其他 发布时间: 01-22 23:42 阅读次数: 0

【人工智能】人工智能学习常用社区

github社区eg:https://github.com/tensorflow/models/tree/master/research/object_detection这里包含了TensorFlow官方的目标检测实例,包含文档 代码 结果Kaggle平台全球最大的数据科学与机器学习竞赛平台Gluon中文论坛...
分类: 其他 发布时间: 01-22 23:42 阅读次数: 0

【Python学习笔记】1.Python简介

本系列为自己学习Python的笔记,如有误,欢迎大家指正。Python介绍简介Python是一种解释型、面向对象的语言。由吉多-范罗苏姆(Guido van Rossum)于1989年发明,1991年正式公布,官网地址:https://www.python.orgPython单词的大蟒蛇的意思,但是龟叔不是喜欢蟒蛇才起的这个名字,而是正在追剧:应该电视喜剧片(Monty Python and the Flying Circus)使用www.python.org提供的interactive sh.
分类: 其他 发布时间: 01-22 23:41 阅读次数: 0

【Python学习笔记】2.Python学习入门

本系列为自己学习Python的笔记,如有误,欢迎大家指正。Python开发入门Python下载安装和配置进入官网www.python.org/downloads/根据安装平台(Windows 、Linux、MAC OS)选择合适的版本下载安装(和一般的软件安装没啥区别)环境变量问题勾选:“Add Python to environment variable”.这样就会将Python添加到环境变量Path中,我们可以在windows的命令行模式下运行Python解释器问题:.
分类: 其他 发布时间: 01-22 23:41 阅读次数: 0

【Python学习笔记】03一个图形化程序的小例子

本系列为自己学习Python的笔记,如有误,欢迎大家指正。图形化程序设计为了更容易的了解python我们从海龟画图开始学习。# -*- coding: utf-8 -*-"""Created on Fri Dec 25 22:19:05 2020@author: Administrator"""import turtle # 导入turtle模块turtle.showturtle() #显示箭头turtle.write('slp') #写字符串turtle.forward(30.
分类: 其他 发布时间: 01-22 23:41 阅读次数: 0

【Python学习笔记】04 程序的构成

本系列为自己学习Python的笔记,如有误,欢迎大家指正。Python程序的构成Python程序由模块组成。一个模块对应python源文件,一般后缀名是.py模块由语句组成,运行python时,按照模块中语句的顺序依次执行语句是Python程序的构造单元,用于创建对象,变量赋值、调用函数、控制语句Python文件的创建和执行在交互式环境中,每次只能执行一条语句,为了编写多条语句实现复杂的逻辑,我们通过创建python文件,并执行文件。具体根据你使用的python开发工具而有所差别,但基本.
分类: 其他 发布时间: 01-22 23:41 阅读次数: 0

【工具】Movielens数据集详细介绍

MovieLens数据集MovieLens数据集包含多个用户对多部电影的评级数据,也包括电影元数据信息和用户属性信息。下载地址http://files.grouplens.org/datasets/movielens/介绍下面以ml-100k数据集为例进行介绍:最主要用的是u.data(评分) | u.item(电影信息) | u.user(用户信息)下载之后各文件具体含义如下:各文件含义如下:allbut.pl --生成训练和测试集的脚本,其中除了n个用户评分之外,所有训
分类: 其他 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十八)对象和类的理论定义

1. 为对象定义类  1.类为对象定义属性和行为。  2.面向对象程序设计(OOP)就是使用对象进行程序设计。对象(object)代表现实世界中可以明确标识的一个实体。比如:一个学生,一张桌子,一个圆甚至一笔贷款都可以看作是一个对象。每个对象都有自己独特的标识、状态和行为。      一个对象的状态(state,也称为特征(property)和属性(attribute))是由具有当前值的数据域来表
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十七)多维数组的声明创建以及方法传递

之前我们介绍过一维数组来存储线性的元素集合,我们可以用二维数组存储矩阵或表格。      1.声明二维数组变量并创建二维数组      下面是声明二维数组的语法:数据类型[][]数组名;例如int[][] matrix;可以使用这个语法创建5*5的int型二维数组,并将它赋值给matrix;      int[][] matrix = new int[5][5];      二维数组中使用两个下标
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十六)数组的查找与排序

 1.可变长参数列表      我们可以把参数相同但个数可变的参数传递给方法,方法中的参数声明如下: type...parameterName(类型名。。。参数名),在方法声明中,指定类型后紧跟着省略号,只能给方法中指定一个可变长参数。任何常规参数必须在它之前,Java将可变长参数当成数组对待。可以将一个数组或可变的参数个数传递给可变长参数。      2.数组的查找      查找是在数组中寻找
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十五)通过Java语言读取文本文件.txt

Java语言读取文本txt  文本文件读取的大致过程如下:(1)构建文件对象,(2)使用文件对象构造Reader对象可以是FileReader、InputStreamReader等使用Reader对像构建BufferedReader对象(主要使用其readLine()方法,用于按行读取文件)(3)按行读取文件,将每行获取到的字符串进行处理。我通常使用InputStreamReader。类名我设为D
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十四)递归算法应用实例,以及数组的复制,传递,返回

 1.数组的复制      在程序中,经常需要复制一个数组或数组的一部分,这种情况下,我们首先想到的可能是会尝试使用赋值语句:list1=list2;不过这种语句并不能将list1引用的数组内容复制给list2,而只是将list1的引用值复制给了list2,在这条语句过后,list1和list2都指向了同一个数组,list2原先引用的数组会被自动收回。      Java中,可以使用赋值语句复制基
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十三)数组及乐透问题的解决

 在执行程序的过程中,经常需要存储大量数据,例如需要读取100个数,计算他们的平均值,然后找出有多少个数大于平均值,首先,程序需要读入这些书并计算他们的平均值,然后每个数与平均值及逆行比较判断它是否大于平均值,为了实现这样的功能,我们必须选择将这些数全部存储到变量中,必须声明100个变量,这时候我们需要一个方法,Java语言提供了一种称为数组(array)的数据结构,用它来存储一个元素个数固定且元
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0

Java语言程序设计(十二)Math数学类,方法重载及变量作用域

 1.重载方法     上一篇文章用到的max方法只能用于int型数据类型,但是如果需要决定两个浮点数中哪个较大,解决方法是创建另一个方法名相同但参数不同的方法,代码如下:      public static double max(double num1, double num2){          if(num1>num2)              return num1;     
分类: 编程语言 发布时间: 01-22 23:40 阅读次数: 0