机器数:各种数值在计算机中表示的形式,其特点是使用二进制计数制,数的符号用0和1表示,小数点则隐含,不占位置。
机器数有无符号数和带符号数之分。无符号数表示正数,没有符号位。带符号数最高位为符号位,正数符号位为0,负数符号位为1。
定点表示法分为纯小数和纯整数两种,其中小数点不占存储位,而是按照以下约定:
反码:正数的反码及原码;负数的反码是在原码的基础上,除了符号位以外,其他各位按位取反。
补码:正数的补码及原码;负数的补码是在原码的基础上,除了符号位以外,其他各位按位取反然后末位 +1;若有进位就产生进位。因此,数值 0 的补码只有一种形式 +0 = -0 = 0 0000000.
移码:用作浮点数运算的阶码。无论是正数还是负数,都是将原码的补码的首位(符号位)取反,得到移码。
在浮点数的表示中,阶码为带符号的纯整数,尾数为带符号的纯小数,要注意符号占最高位 (正数0负数1) ,其表示格式如下:
一个浮点数的表示方法不是唯一的,浮点数所很明显,与科学计数法类似,能表示的数值范围由阶码确定,所表示的数值精度由尾数确定。
数与数之间的算术运算包括加、减、乘、除等基本算术运算,对于二进制数,还应该掌握基本逻辑运算,包括: 逻辑与&:0和1相与,只要有一个为0结果就为0,两个都为1才为1。
异或: 同0非1,即参加运算的二进制数同为0或者同为1结果为0,一个为0另一个为1结果为1。 逻辑非!:0的非是1,1的非是0。 逻辑左移: 二进制数整体左移n位,高位若溢出则舍去,低位补0. 逻辑右移:二进制数整体右移n位,低位溢出则舍去,高位补0。
码距:就单个编码A: 00而言,其码距为1,因为其只需要改变一位就变成另一个编码。
在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错
奇偶校验码:在编码中增加 1 位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2。
奇校验:编码中,含有奇数个1,发送给接收方,接收方收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,是偶数个,则有误。
偶校验同理,只是编码中有偶数个1,由上述,奇偶校验只能检1位错,并且无法纠错。
CRC只能检错,不能纠错,其原理是找出一个能整除多项式的编码,因此首先要将原始报文除以多项式,将所得的余数作为校验位加在原始报文之后,作为发送数据发给接收方,其编码格式为:
由此可知,CRC由两部分组成,左边为信息码(原始数据) ,右边为校验码。校验码是由信息码产生的,校验码位数越长,校验能力越强。求CRC编码时,采用的是模2运算(按位运算,不发生借位和进位) 。
例: 原始报文为“”其生成多项式 “x^4+x^3+x+1”。对其进行CRC编码后的结果为?
首先根据多项式得出除数 11011,在原始多项式后面加上多项式最高指数个数个0,即4个0,和除数进行模2除法,一直上1,最终得出四位的余数为0011,最终编码为 0011,然后发送出去。
验证:接收方将收到的数据与多项式的11011进行模2运算,若余数为0,说明校验正确,数据传输正确。
海明码:本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入k个校验位,通过扩大码距实现检错和纠错。
设数据位是n位,校验位是k位,则n和k必须满足以下关系:2^k-1=n+k。
在计算机中,“操作要求” 和 “操作数地址”都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。
程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。
RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现 (通用冒存器、硬布线逻辑控制) 具体区别如下:
指令流水线原理:将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段,如下图所示:
超标量流水线技术:常规流水线的,即每个流水线阶段只执行一个部分,当度大于1时,就是超标量技术,当度为3时,相当于3条流水线并行执行。
高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU开云体育 kaiyun.com 官网入口和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的。
Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由硬件自动完成映射,分为下列三种方法:
从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类:
系统总线:是板级总线,用于计算机内各部分之间的连接,具体分为数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小) 、控制总线(传送控制命令)。代表的有SA总线、EISA总线、PCI总线。
外部总线:设备一级的总线,微机和外部设备的总线 (串行总线)、SCSI (并行总线)、USB(通用串行总线,即插即用,支持热插拔)
无论什么系统,都是由多个设备组成的,协同工作,而这多个设备的组合方式可以是串联、并联,也可以是混合模式。
假设每个设备的可靠性为R1,R2.....Rn,则不同的系统的可靠性R的计算公式如下:
串联系统:一个设备不可靠,整个系统崩溃: R = R1 × R2 ×......× Rn。
保密性:确保信息不暴露给未授权的实体,包括最小授权原则(只赋给使用者恰好够用的权限防止其看到其他保密的数据) 、防暴露(将物理数据库文件名和扩展名都修改为一串乱码,防止他人轻易找到复制)、信息加密、物理保密。
完整性:保证数据传输过程中是正确无误的,接收和发送的数据相同,包括安全协议、校验码、密码校验、数字签名、公证等手段。
可用性:保证合法的用户能以合法的手段来访问数据,包括综合保障 (IP过滤、业务流控制、路由选择控制、审计跟踪) 。
不可抵赖性:信息数据参与者不能否认自己发送的数据,参与者身份真实有效。
用各种可能的合法或非法的手段窃取系统中的信息资源和敏感信息例如对通信线路中传输的信号进行搭线监听,或者利用通信设备在工作过程中产生的电磁泄露截取有用信息等。
通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信的信息流向、通信总量的变化等参数进行研究,从而发现有价值的信息和规律。
通过欺骗通信系统(或用户)达到非法用户冒充成为合法用户,或者特权小的用户冒充成为特权大的用户的目的。黑客大多是采用假冒进行攻击。
攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。例如,攻击者通过各种攻击手段发现原本应保密,但是却又暴露出来的一些系统“特性”。利用这些“特性”,攻击者可以绕过防线守卫者侵入系统的内部。
被授权以某一目的使用某一系统或资源的某个人,却将此权限用于其它非授权的目的,也称作“内部攻击”。
软件中含有一个察觉不出的或者无害的程序段,当它被执行时,会破坏用户的安全。
在某个系统或某个部件中设置了“机关”,使得当提供特定的输入数据时允许违反安全策略。
这是一种来自用户的攻击,比如:否认自己曾经发布过的某条消息、伪造一份对方来信等。
又称为公开密钥加密技术,各个用户分别有一对密钥,称为公钥和私钥,其中公钥是公开的,所有用户都知道,私钥是保密的,只有自己知道,使用公钥加密,只能对应的私钥能解密,使用私钥加密,同样也只有对应的公钥能解密:非对称加密就是运用了公钥和私钥的原理,其对数据的加密和解密的密钥是不同的,是公开密钥加密算法。
上述技术只保证了数据传输过程的保密性和完整性,但却无法保证发送者是否非法,即在传输过程中,数据被第三方截获,即使他不能解密获取真实数据,但是他可以伪造一段数据,也用加密算法加密后再发送给接收方,那么接收方无法判断发送方是否合法,其只会用发送方告诉他的方法来解密。
此时就要用到数字签名技术来验证发送方是否合法。数字签名属于非对称加密体制,主要功能有:不可否认、报文鉴别、报文的完整性。
原理:若发送方需要发送数据,应该使用发送方的私钥进行数字签名,而其公钥是共享的,任何接收方都可以拿来解密,因此,接收方使用了发送方的公钥解密,就必然知道此数据是由发送方的私钥加密的,而发送的私钥只属于发送方,唯一标识了数据是由谁发送的,这就是数字签名的过程原理。
数字证书又称为数字标识,由用户申请,证书签证机关C开云体育 kaiyun.com 官网入口A对其核实签发的,对用户的公钥的认证。
上述的技术都是在原发送方是正确的的情况下所做的如察和认证技术。然而当发送方本身就是伪造的,即发送的公钥本身就是假的,那么后续的加密、数字签名都没有意义了,因此对发送方的公钥进行验证是十分重要的。 现在的数字证书版本大多为X.509
数字证书的原理:每一个发送方都要先向CA申请数字证书,数字证书是经过CA数字签名了的也即CA使用私钥加密,当发送方要发送数据时,接收方首先下载CA的公钥,去验证数字证书的真伪,如果是真的,就能保证发送方是真的,因为CA是官方权威的机构,其合法性毋庸置疑。
数字证书的格式:序列号、版本号、签名算法、发行者ID、发行者、主体ID、有效期、公钥。
最安全的过程要验证两步:1、在网银系统中,使用网银时,要先下载该银行的数字证书,之后,本地客户机会用CA的公钥对数字证书进行解密,解密成功说明是CA颁发的,是该银行系统而非黑客冒充。2、确认了通信对方无误后,就可以采用上述的一系列加密和认证技术来对通信数据进行加密,确保数据不会在发送过程中被截获篡改。
PKI公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书一个机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。
PKI 主要包括四个部分: X.509 格式的证书;CA操作协议;CA管理协议;CA 政策制定。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。