密码学

计算机安全的核心 :CIA

1.机密性[防止信息泄露]C
数据机密性
隐私性
2.完整性[防止信息被篡改]I
数据完整性
系统完整性
3.可用性[确保资源可用]A

两个概念:认证性,责任可追踪性

OSI安全框架,X.800

1.为了有效评价一个机构的安全需求,并对各种安全产品和策略进行评估和选择,负责安全的管理员需要以某种系统的方法来定义安全需求并描述满足这些需求的措施
2.ITU-T X.800 “Security Architecture for OSI”即OSI安全框架;
提供了一个定义和提供安全需求的系统化方法;
提供了一个有用的学习研究的概貌。
3.OSI安全框架主要关注信息安全的三个方面:
-安全攻击,security attack
任何危及系统信息安全的活动。
-安全机制,security mechanism
用来保护系统免受侦听、阻止安全攻击及恢复系统的机制。
-安全服务,security service
加强数据处理系统和信息传输的安全性的一种服务。

X.800:为系统协议层提供的服务,用来保证系统或数据的传输有足够的安全性。

三种主要概念

1.安全攻击,security attack
任何危及系统信息安全的活动。
2.安全机制,security mechanism
用来保护系统免受侦听、阻止安全攻击及恢复系统的机制。
3.安全服务,security service
加强数据处理系统和信息传输的安全性的一种服务。

三种基本安全服务

X.800:
为系统协议层提供的服务,用来保证系统或数据的传输有足够的安全性。

RFC 2828[Internet Security Glossary ]:
定义:一种由系统提供的对系统资源进行特殊保护的处理或通信服务;安全服务通过安全机制来实现安全策略。

攻击认证的定义

威胁:威胁是利用脆弱性的潜在危险
攻击:有意违反安全服务和侵犯系统安全策略的智能行为
攻击的类型(X.800和RFC 2828)
被动攻击:试图了解或利用系统的信息但不影响系统资源。
主动攻击:试图改变系统资源或影响系统运作。

两种不同的认证: 实体认证和数据源认证

密码体制分两大类: (重点)

单钥体制(对称算法)
K1=K2
双钥体制(公钥算法)
K1‡K2

对称密码的要求:
一般要求:
1、加密解密用相同的密钥
2、收发双方必须共享密钥

安全性要求:
1、密钥必须保密
2、没有密钥,解密不可行
3、知道算法和若干密文不足以确定密钥

密码学分组:分组密码

1.对称密码(Symmetric Cipher)
明文
密文
密钥
加密算法 解密算法 (互逆)
明文按组(含多个字符)加密。(也称为分组密码,Block Cipher)

分组密码,就是一个明文分组被当作一个整体来产生一个等长(通常)的密文分组的密码,通常使用的是128位分组大小。
分组密码的实质是,设计一种算法,能在密钥控制下,把n比特明文简单而又迅速地置换成唯一n比特密文,并且这种变换具可逆性(解密)。

分组密码设计的基本原则:扩散混淆

1.扩散(diffusion)
将明文及密 钥的影响尽可能迅速地散布到较多个输出的密文中(将明文冗余度分散到密文中)。产生扩散的最简单方法是通过“置换(Permutation)”(比如:重新排列字符)。
2.混淆(confusion)
其目的在于使作用于明文的密钥和密文之间的关系复杂化,是明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“代换(Substitution)”(回忆恺撒密码)。

AES算法的基本参数:迭代次数,密钥,分组的长度
1.核心思想:迭代交替地使用代换(S)、置换(P)
2.SPN—代换置换网络
3.Feistel

分组长度足够大(128-256比特)
密钥量要足够大(128)
迭代轮次(16)
子密钥产生算法要足够复杂
轮函数
快速软、硬件实现
简化分析难度(破译是困难的,但算法却简洁清晰)

AES算法的基本过程:四个步骤

字节代换
行移位
列混淆
轮密钥加

分组密码的工作模式

分组密码加密固定长度的数据分组,需要使用一些实际的方法来加密任意数量的明文
分组密码算法是基本构件,如何实际应用需要更多的考虑
五种工作模式:
电码本模式(ECB)
相同的明文对于相同的密文
结构化明文
消息有重复部分
主要用于发送少数量的分组数据

密码分组链接模式(CBC)
密码反馈模式(CFB)
输出反馈模式(OFB)
计数器模式(CTR)
效率
可并行加密
预处理
吞吐量仅受可使用并行数量的限制
加密数据块的随机访问
可证明安全
简单性(只要求实现加密算法)

密码学:公钥

使用两个密钥:公密钥、私密钥
加解密的非对称性
利用数论的方法
是对对称密码的重要补充

解决了密钥交换和数字签名基本问题

公钥密码组成部分

六个组成部分:
明文,密文:
公钥,密钥;
加密,解密算法;

公钥密码体制应该满足哪些要求

一般要求:
1、加密解密算法相同,但使用不同的密钥
2、发送方拥有加密或解密密钥,而接收方拥有另一个密钥
安全性要求:
1、两个密钥之一必须保密
2、无解密密钥,解密不可行
3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥

RSA

加密: C≡Me mod N, where 1<M<N
解密: M≡Cd mod N
公钥为(e,N), 私钥为(d,N)
必须满足以下条件:
Med ≡ M mod N
计算Me和Cd是比较容易的
由e和n确定d是不可行的

[(a mod n) × (b mod n)] mod n = (a × b) mod n

RSA算法的密钥生成过程

随机选择两个不等的大素数 p, q
计算 N=p.q
注意 ø(N)=(p-1)(q-1)
选择 e使得1<e<ø(N),且gcd(e,ø(N))=1
解下列方程求出 d
e.d≡1 mod ø(N) 且 0≤d≤N
公布公钥: KU={e,N}
保存私钥: KR={d,N}

RSA算法的基本运算方法

RSA的使用
发送方要加密明文M:
获得接收方的公钥 KU={e,N}
计算: C≡Me mod N, where 0≤M<N
接收方解密密文C:
使用自己的私钥 KR={d,N}
计算: M=Cd mod N
注意:M必须比N小

RSA公钥体制的安全性建立在哪种事实之上

Diffie-Hellman密钥交换的安全性建立在如下事实之上:求关于素数的模幂运算相对容易,而计算离散对数问题却非常困难;对于大素数,求离散对数问题被认为是计算不可行的。

EGCD

Hash 与MAC 部分
Hash不是加密解密函数
Hash 函数当用来提供消息认证功能时,hash 函数值通常被称为消息摘要

HASH 的功能,安全定义

Hash 函数的定义:
Hash函数是将任意长度的报文映射成一个较短的定长输出报文的函数.
如下形式: h = H(M), M是变长的报文,h是定长的Hash值.
Hash函数的目的是为文件、报文或其它的分组数据产生“数字指纹”.

要求:

单向性
弱抗碰撞性
强抗碰撞性

报文认证码(MAC)的标准构造方法:CMAC,HMAC

认证(Authentication)是防止主动攻击的重要技术,对开放系统安全性起到重要作用.
认证的主要目的
实体认证(发送者非冒充)
报文认证(验证信息的完整性)

CMAC—基于分组加密的MAC
CMAC即CBC-MAC
计算方法:M=M1+M2+…+Mn
C1=E(K,M1)
C2=E(K,[M2+C1])
C3=E(K,[M3+C2])
……
Cn=E(K,[Mn+Cn-1])
Output: T=MSBtlen(Cn)

HMAC--基于hsah函数的消息认证码
HMAC (RFC 2104)
HMACK = H[(K+ + opad) ||
H[(K+ + ipad)|| M]]

报文认证码的应用

SHA-3的基本操作,基本迭代结构


密钥交换

数字签名的基本概念
数字签名是认证的重要工具
为什么需要数字签名:
报文认证用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

目标:防止报文被伪造,用于保证数据的完整性
操作:签名者对改报文产生一串公开且他人无法伪造的数据串
方法:PKC+Hash

密钥交换协议:Diffie-Helfman协议,基本过程
简称DH密钥交换

DH方法针对的是以下困难的局面:Alice和Bob 想共有一个密钥,用于对称加密。但是他们之间的通信渠道是不安全的。所有经过此渠道的信息均会被敌对方:Eve看到。哪他们要如何交换信息,才能不让Eve知道这个密钥呢?
以下是DH协议的方案:

  1.  Alice和Bob先对p 和g达成一致,而且公开出来。Eve也就知道它们的值了。
    
  2.  Alice取一个私密的整数a,不让任何人知道,发给Bob 计算结果:A=ga modp. Eve 也看到了A的值。
    
  3.  类似,Bob 取一私密的整数b,发给Alice计算结果B=gb mod p.同样Eve也会看见传递的B是什么。
    
  4.  Alice 计算出S=B a mod p=(gb)a modp=gabmod p.
    
  5.  Bob 也能计算出S=Ab mod p=(ga)bmodp=gabmod p.
    
  6.  Alice 和 Bob 现在就拥有了一个共用的密钥S.
    
  7.  虽然Eve看见了p,g, A and B, 但是鉴于计算离散对数的困难性,她无法知道a和b 的具体值。所以Eve就无从知晓密钥S 是什么了。
    

认证系统

证书的定义,功能,证书链

认证中心CA:颁发和撤销证书
PKI的基本概念与功能
PKI=Public Key Infrastructure
公钥基础设施
Public Key Infrastructure:用来提供可靠易用的公钥密码操作的系统的总称。
主要目标:保障大型开放式网络环境下网络和信息系统安全。
所采用技术:用非对称密码学原理和技术实现并提供安全服务、具有通用性,并遵循国际标准。

(kerberos,FIM不考)

认证协议(重点)
弱认证(基于口令的认证)
口令弱
强认证(质询-应答协议)
密钥强

弱认证

口令
用户提供一个口令,计算机验证该口令。如果输入的口令是和该用户相对应的口令,则用户的身份得到认证,否则,拒绝该口令,同时认证失败 。

口令认证协议

Alice:g^x. M^pw
Bob: g^y. N^pw
g, M,N是 Z_q 的生成元
x,y是随机数,pw是口令,映射成群Z
_q上的元
最后双方得到 g^(xy)

什么是离线字典攻击

攻击者可通过穷举字典中的口令,从而猜测出特定用户的口令。两个条件:
1、口令在字典中;
2、可以判断选用的口令是否正确;
强认证(以公钥体制的协议为主)
密钥
假设用户U想向系统S认证自己。设U和S有个协商好的秘密函数f。质询-应答认证系统就是这样一个系统:S发送一个随机消息m(Challenge)给U,用户U回应以m的变形r=f(m)(Response)。S通过独立计算r来验证r。
(本次以公钥体制的协议为主)

如何求乘法逆元(待解决)

Zn 中的任一整数有乘法逆元,当且仅当该整数与n 互素。

最大公约数
gcd [a(x), b(x)] = gcd [b(x), a(x)mod b(x)]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 1 公钥私钥 2 公钥加密 别人用A的公钥加密传输的信息,只有A的私钥可以解密。保证了传输的信息的安全性。 2 私...
    skykira阅读 948评论 0 1
  • 在深入学习区块链时,不可避免的需要了解密码学。区块链算是对密码学的一次整合运用,虽然并无太多创新的密码算法,但也值...
    Kerwong阅读 44,272评论 4 25
  • 本文分为7个部分,第1部分介绍密码学的基本概念,第2部分讲解常见的对称加密算法,第3部分讲解常见的非对称加密算法,...
    youclavier阅读 3,159评论 0 6
  • Hash 算法与数字摘要 Hash (哈希或散列)算法它能将任意长度的二进制明文串映射为较短的(通常是固定长度的)...
    你看我像豆子嘛阅读 1,215评论 0 2
  • 密码编码学与网络安全 review lecture01 经典加密技术 什么是安全,如何认识信息安全? 安全性是绝对...
    lucipher1987阅读 2,437评论 1 1