自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 香农理论在密码学中的应用

概率论基础假定x和y是分别定义在有限集合X和Y上的随机变量。联合概率 P(xi,yi)P(x_i,y_i) 是 x=xi,y=yix=x_i, y=y_i 的概率。条件概率 P(xi|yi)P(x_i \vert y_i ) 是 y=yiy=y_i 时, x=xix=x_i 的概率。如果对于任意x∈X,y∈Yx \in X , y \in Y 都有 P(x,y)=P(x)P(y)P(x, y) =

2016-12-06 20:07:33 5083

原创 传统密码技术

密码(cryptography)是一种信息处理体系,涉及信息的机密性、完整性、认证性和不可否认性等许多方面。密码学发展历程自从人类社会有了战争,就有了保密通信,就需要信息处理体系。在1949年以前,密码的研究与应用仅仅是文字变换技术,简称为密码术。自1949年之后,Shannon做了相关的工作,发表了《保密系统的通信理论》一文,为密码学的发展奠定了坚实的理论基础。密码学发展大致分为古典密码时期、近代

2016-11-28 18:55:29 3585

原创 自组织神经网络模型与学习算法

自组织神经网络又称为自组织竞争神经网络,特别适合于解决模式分类和识别方面的应用问题。该网络模型属于前向神经网络模型,采用无监督学习算法,其工作的基本思想是让竞争层的各个神经元通过竞争与输入模式进行匹配,最后仅有一个神经元成为竞争的胜利者,这一获胜神经元的输出就代表对输入模式的分类。常用的自组织竞争神经网络有自适应共振理论(ART)网络,自组织特征映射(SOM)网络,对传(CP)网络和协同神经网络(S

2016-11-28 10:43:33 6802 1

原创 径向基函数神经网络模型与学习算法

1985年,Powell提出了多变量插值的径向基函数(RBF)方法。1988年Moody和Darken提出了一种神经网络结构,即RBF神经网络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数,特别适合于解决分类问题。RBF网络的结构与多层前向网络类似,它是一种三层前向网络。输入层由信号源结点组成,第二层为隐含层,隐单元数视所描述问题的需要而定,隐单元的变换函数是RBF,它是对中心点径向对称且

2016-11-27 21:26:40 9401

原创 BP神经网络模型与学习算法

在感知器神经网络模型与线性神经网络模型学习算法中,理想输出与实际输出之差被用来估计神经元连接权值误差。当解决线性不可分问题而引入多级网络后,如何估计网络隐含层神经元的误差就成了一大难题。因为在实际中,无法知道隐含层的任何神经元的理想输出值。1985年Rumelhart、McClelland提出了BP网络的误差反向后传(BP)学习算法,实现了Minsky设想的多层神经网络模型。BP算法在于利用输出后的

2016-11-27 19:59:17 15805 1

原创 线性神经网络模型与学习算法

线性神经网络类似于感知器,但是线性神经网络的激活函数是线性的,而不是硬转移函数,因此,线性神经网络的输出可以是任意值,而感知器的输出不是0就是1。线性神经网络和感知器一样只能求解线性可分的问题。因此,线性神经网络的限制和感知器相同。线性神经元网络模型线性神经元与感知器神经元具有相似的结构,唯一的不同是线性神经元使用了线性传递函数purelin,因此与感知器神经网络不同,线性神经网络的输出可以是任意的

2016-11-27 17:50:10 2749

原创 感知神经网络模型与学习算法

单层感知器该概念的是在1957年美国学者Rosenblatt提出的。感知器是监督学习的神经网络模型。单层感知器是包含一个突触权值可调的神经元的感知器模型。是神经网络用来进行模式识别的一种最简单的模型,属于前向神经网络类型,但是仅由一个神经元组成的单层感知器只能区分线性可分的模式。一个感知器模型,包括一个线性的累加器和一个二值阈值元件,同时还有一个外部偏差b,也称作阈值,其值可以为正,也可以为负。线性

2016-11-27 16:17:13 1184

原创 信息检索模型与评估

信息检索的前提是对信息内容的索引提取,所谓的索引就是指用于标识信息内容的项。建立信息的索引的方法,通常可分为两类:一种是手动定义索引,一种是自动获取索引。而我们所要面临的数据源,既可能是模块化或结构化的语言,譬如HTML语言,又可能是非结构化的语言,譬如自然语言;既可能是与上下文相关的词汇,又可能是与上下文无关的词汇;既可能是一个简单的单词又可能是一个词组(这里的数据源前提假设为英文,对于中文的信息

2016-11-25 14:06:20 1594

原创 Diffie-Hellman密钥交换

Diffie-Hellman密钥交换(DHKE)是由Whitfield Diffie和Martin Hellman在1976年提出的。密钥交换方案提供了实际中密钥分配问题的解决方案,即允许双方通过不安全的信道进行交流获得一个共同密钥。许多公开和商业密码协议中都实现了这种基本的密钥协议技术,比如安全外壳(SSH),传输层安全(TLS) DHKE的基本思想为Z∗pZ^*_p内的指数运算(p是素数)是单

2016-11-25 13:56:10 1144

原创 RSA密码体制

公钥算法的基本数论知识公钥密码学中大部分引用了数论的成果,所以必要在介绍RSA密码体制之前,详细介绍一下所使用的几个数论的知识点欧几里得算法欧几里得算法主要是解决最大公约数问题,记两个正整数r0r_0和r1r_1的gcdgcd表示: gcd(r0,r1)gcd(r_0,r_1) 在公钥体系中,安全性依赖于大整数的因式分解通常是不可能的。所以人们通常使用一种更有效的算法计算gcd,即欧几里得算法,

2016-11-16 15:35:01 4855

原创 分组密码加密操作模式

密码其目的为,通过加密数据为Alice发给Bob的消息提供了保密性。电子密码本模式(ECB)一种最直接的消息加密方式。若分组密码加密分组大小为b位,则如果长度超过b位时,消息将被分割为欸大小为b位的分组。如果消息长度不是b位的整数倍,则在加密前必须将其填充为b位的整数倍。由于传输问题导致接收方没有收到所有的加密分组时,接收方还是可能解密已收到的分组。但ECB模式最大的问题在于它的加密是高度确定的(只

2016-11-15 17:09:42 2742

原创 AES加密算法

AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128-bit、密钥长度为128/192/256-bit,对应于密钥的不同长度,加密轮的次数也不尽相同。选定Rijndael算法为新的AES算法。算法的原型是Square算法,其设计策略为宽轨迹策略(针对差分分析和线性分析提出的,最大优点是可以给出算法的最佳差分特征的概率以及最佳线性逼近的偏差的界;由此可以分析算法抵抗差分密

2016-11-15 17:00:43 1928

原创 分组密码体制及DES加密体系

分组密码是将明文消息编码表示后的数字序列划分成长为n的组,每个组(可称为长度为n的矢量)分别在密钥控制下变换成等长的输出数字序列。 其加密函数E:V_n × K → V_m。 其中V_n和V_m分别为n维和m维的矢量空间,K为密钥空间。它与流密码不同之处在于输出的每一位数字不是只与相应时刻输入的明文数字有关,而是与一组长为n的明文数字有关。这种密码实质上是字长为n的数字序列的代换密码。混淆和扩散

2016-11-15 15:50:41 3516

原创 流密码

利用密钥k产生一个密钥流。密钥流由密钥流发生器f产生 zi=f(k,δi)z_i = f(k, \delta_i)。 δi\delta_i是加密器中记忆元件在时刻i的状态。分组密码与流密码的区别在于有无记忆性。流密码的最初的滚动密钥由函数f、密钥k以及指定的初始状态δ0\delta_0决定,后续的密钥则可以通过输入加密器的明文,来影响加密器中的记忆元件来改变其状态。同步流密码根据加密器中的记忆元件的

2016-11-12 00:35:32 2697

原创 信息安全面临的威胁

人为威胁包括两大类被动攻击主动攻击被动攻击主要是指窃听,是对系统的保密性进行的攻击。 被动攻击又分为两类获取消息的内容进行业务流分析主动攻击包含对数据流的篡改、伪造等方面中断 对系统可用性进行攻击篡改 对系统完整性进行攻击伪造 对系统真实性进行攻击恶意程序包括两类,一类是需要主程序的,即不能独立于实际的应用程序或系统程序,另一类是不需要主程序的,即能够被操作系统调度或独立运行。需

2016-11-12 00:29:39 2377

原创 .net core Web应用启动类

在ASP.NET Core中,Startup类为Web应用的入口类,用于配置Web服务的管道/过滤器以及Web应用所能用到的服务。在启动Web应用后,ASP.NET将在主库中查询名为Startup的类,无论查找到的Startup类的访问限制是什么,ASP.NET Core将直接加载该类并执行后续的操作。ASP.NET的查询方式为首先查找主库中的根命名空间,根命名空间中不包含Startup类,则根据字

2016-11-12 00:22:18 1079

原创 .net core Web应用启动类

通过官方的介绍可知,若要本地开始部署搭建一个基于.net core 1.0的Web应用,需要下载dotnet SDK,或在Visual Studio IDE之上安装相关插件以布置开发环境。为了使开发环境最小化,选择安装dotnet SDK。下载地址为:http://asp.net0x00.新建一个Web应用项目这里不必赘述,到相应目录中运行命令提示符:dotnet new -t web。dotnet

2016-11-12 00:20:12 865

原创 Nginx *nix下安装方式

特别标注:在没有任何介绍背景下,直接发如何安装软件的都是耍流氓!本文参照nginx.org提供的安装介绍,链接:nginx.org “installing nginx” page在不同的操作系统下,安装Nginx的方式也不同,即使在同一款操作系统,不同版本下的安装方式也有所不同。这里需要额外注意一下。这里仅仅介绍Linux下的安装。nginx包可以被以下架构和版本使用:RHEL/Centos 版

2016-01-14 02:20:09 790

原创 [corefx注释说]-System.Collections.Generic.Queue<T>

为了节省时间,只写一些关注的方法好了,剩下的可以MSDN嘛XD首先是声明部分,表示为队列是一个可用于枚举的只读集合 [DebuggerTypeProxy(typeof(QueueDebugView<>))] [DebuggerDisplay("Count = {Count}")] public class Queue<T> : IEnumerable<T>, S

2015-07-09 01:31:00 1197

原创 [corefx注释说]-System.Collections.Generic.Stack<T>

对C#里边的基础类库有充分的好奇心,所以就心血来潮写一下,这个就不定期更新了,想什么时候写就什么时候写好了。这里弱弱的吐槽一下CSDN的博客。为了以防万一,会在我其他的博客做一下备份。废话不多说 切入正题: github上的源代码using System;using System.Diagnostics;using System.Diagnostics.CodeAnalysis;这里的引用没什

2015-07-08 02:48:02 1404

原创 计算机网络——网际层简介

网际协议IP是TCP/IP体系中两个最主要的协议之一。也是最重要的因特网标准协议之一。地址解析协议ARP网际控制报文协议ICMP网际组管理协议IGMP 虚拟互连网络没有一种单一的网络能够适应所有用户的需求。 从一般的概念上来讲,将网络互相连接起来要使用一些中间设备。根据中间设备所在的层次,可以有四种中间设备: (1)物理层使用的转发器 (2)数据链路层使用的网桥或桥接器 (3)网络层使

2015-03-09 00:19:32 3379

原创 计算机网络——CSMA/CD协议

局域网的数据链路层局域网的特点是网络为一个单位所拥有,且地理和站点数目均有限 局域网的优点: (1)具有广播功能,从一个站点可以很方便地访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源 (2)便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变 (3)提高了系统的可靠性、可用性和生存性。 共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。

2015-03-08 23:18:51 12256

原创 贪吃蛇 HTML5 Canvas代码

首先建立一个二维类function Class_Dim(cx, cy){ var x = cx; var y = cy; this.getx = function(){ return x; }; this.gety = function(){ return y; }; this.setx = function(t

2015-03-07 13:37:31 1448

原创 计算机网络——数据链路层(PPP)

数据链路层使用的信道主要有以下两种类型: (1)点对点信道 (2)广播信道使用点对点信道的数据链路层首先明确一下“链路”和“数据链路”并不是一回事。 所谓链路,指的是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。 数据链路除了必须有一条物理线路以外,还必须有一些必要的通信协议来控制这些数据的传输。若把视线这些协议的硬件和软件加到链路上,就构成了数据链路。 点对点信道的数

2015-03-07 11:08:47 6022

原创 【WCF】基础

什么是WCFWCF是基于Windows平台下开关和部署服务的SDK。WCF为服务提供了运行时环境,使得开发者能够将CLR类型公开为服务,又能够以CLR类型的方式使用服务。WCF是微软对一系列产品标准定义的实现,包括服务交互、类型转换、封送以及各种协议的管理。正因如此,WCF才能够提供服务之间的互操作性。服务服务(Service)是公开的一组功能的集合。从软件设计的角度考虑,软件设计思想经历了从函数发

2015-03-01 17:32:11 1094 1

原创 【题解】-航电OJ-1465 不容易系列之一

Problem Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了! 做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样。 话虽这样说,我还是要告诉大家,要想失败到一定程度也是不容易的。比如,我高中的时候,就有一个神奇的女生,在英语考试的时候,竟然把40个单项选择题全部做错了!大家都学过概率论,应该

2015-02-28 01:30:31 1224

原创 【题解】-航电OJ1013 Digital Roots

Problem Description The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resu

2015-02-28 01:04:39 1189

原创 【题解】 英雄会-第五届在线编程大赛月赛第二题:走格子

题目详情 我们有一个两行n列格子的棋盘,你可以从任何位置出发。每次你可以沿着上下左右以及对角线的方向走一格(不能出去),求有多少条可能的哈密尔顿路?(即所有的格子只经过一次的路。) 例如: a b c d e f 一条可能的路径是b,f,c,e,d,a 输入格式: 多组数据,每组数据1行,包含一个正整数n表示列数。 (n <= 1

2015-02-26 19:09:17 1103

原创 航电OJ-2035 人见人爱A^B

人见人爱A^B Problem Description 求A^B的最后三位数表示的整数。 说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。 Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每

2015-02-25 19:00:30 1079

原创 CSDN英雄会-第五届在线编程大赛月赛第三题:石子游戏(1)

题目详情 甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。 两人轮流按下列规则取走一些石子,游戏的规则如下: 1.每一步应取走至少一枚石子; 2.每一步只能从某一堆中取走部分或全部石子; 3.如果谁无法按规则取子,谁就是输家。 如果甲乙两人都采取最优的策略,甲先拿,请问,是甲必胜还是乙必胜. 输入格式: 多组数据,每组数据两行,第一行是一个整

2015-02-24 01:59:38 1721

原创 Unity3D鼠标控制角色移动

控制角色移动,对于PC端而言就是键盘或者鼠标。其中键盘控制角色移动的是经典的fps游戏中wasd四个方向按键。而鼠标控制角色移动一般常见于MMORPG。我比较倾向于MMORPG风格控制角色移动,所以选择这一类。Unity3D官方提供的是javascript写的一个基于键盘控制的小demo。对我而言,javascript虽然目前很火,但是还是觉得这门语言缺陷太严重,所以改用C#,期间碰到了一个很奇怪的问题:其中一个函

2015-02-18 01:32:07 3824

原创 生命游戏HTML5 Canvas代码

生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。它最初于1970年10月在《科学美国人》杂志中马丁·葛登能(Martin Gardner,1914年11月21日-2010年5月22日。又译:马丁·加德纳)的“数学游戏”专栏出现。生命游戏其实是一个零玩家游戏,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个 细胞在下一个时刻生死取决于相邻八个方格中活着的

2015-02-13 02:56:49 1861

原创 概念学习和一般到特殊序

概念学习和一般到特殊序许多机器学习问题设计到从特殊训练样例中得到一般概念。给定一样例集合以及每个样例是否属于某一概念的标注,怎样自动推断出该概念的一般定义。这一问题被称为概念学习(concept learning)归纳学习假设:任一假设如果在足够大的训练样例中很好地逼近目标函数,它也能在未见实例中很好地逼近目标函数。FIND-S:寻找极大特殊假设举例:#include <stdio.h>//训练

2015-02-13 02:50:05 1016

翻译 【three.js】创建一个场景

本节的目的是介绍three.js。我们将从创建一个场景以及场景内的一个旋转的立方体开始。在本文最后将会给出相应的例子。什么是Three.js如果你阅读本文,将会大概了解什么是Three.js,它将为你做什么。Three.js是一个简单的WebGL的类库(主要用于在浏览器展现3D图像)。若在一个基础的WebGL之上构造一个立方体,程序员将会写数百行的js代码和着色代码(CSS?),而在T

2015-01-28 02:31:03 1167

原创 【设计模式】-模板方法模式(Template)

模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。class ITemplate{ public: virtual ~ITemplate(){} virtual void templateMethod(){ operation1

2015-01-27 18:07:06 508

原创 【设计模式】-适配器模式(Adapter)

目的是将对象包装起来,让它们看起来不像自己而像是别的东西。适配器模式不仅可以将一种接口包装成另一种接口,还可以将一组接口包装成一种接口。其目的是将一个类的接口转换成客户期望的另一个接口。适配器让原本的接口不兼容的类可以合作无间。与装饰者模式不同的是,适配器的目的是为了兼容客户期望的接口,必须将一个不兼容的接口对象包装起来,变成兼容的对象。而装饰者模式则是在不改变接口的情况下,使得能够更多的

2015-01-27 18:04:36 457

原创 快速排序(quick sort)

void quick_sort(int* array, int l){ if(!l) return; int head = 1; int tail = l; int middle = 0; while(head < tail){ while(array[tail] >= array[middle] && head < tail) tail--; while(array[head

2015-01-26 16:39:06 609

原创 犯罪团伙

问题描述:警察抓到了n个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中一些罪犯之间互相认识,已知同一犯罪团伙的成员之间直接或者间接认识,有可能一个犯罪团伙只有一个人。请你根据已知罪犯之间的关系,确定犯罪团伙的数量。已知罪犯的编号从1到n。输入:第一行:n(n第二行:m(m输出:一个整数,犯罪团伙的数量。采

2015-01-24 22:11:33 1622

原创 堆排序(heapsort)

堆的性质堆排序的时间复杂度是O(n lgn) ,使用一种称之为“堆”的数据结构来进行信息管理。堆不仅在堆排序中,也可以构造一种有效的优先队列。堆是一个数组,它可以看成一棵完全二叉树。树上的每个结点对应数组中的一个元素。除了最底层外,保证树是完满的,而且是从左向右填充的。二叉堆分为两种形式:最大堆和最小堆在最大堆中,最大堆的性质是指除了根结点以外的所有结点i都要满足A[paren

2015-01-24 18:29:22 478

转载 Vim简明教程【CoolShell】

原文转载,原文地址:http://blog.csdn.net/niushuai666/article/details/7275406vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升

2015-01-24 02:48:25 445

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除