信息安全技术之数字签名_公钥密码_非对称加密

信息安全技术主要包括:

  • 信息加密技术
  • 数字签名技术
  • 身份认证技术
  • 访问控制技术
  • 网络安全技术
  • 反病毒技术
  • 数据备份与恢复
  • 信息安全管理

这里因为之前搞到了师兄给的一百多页的密码学基础,所以就先pick数字签名来讲。(小声哔哔:按我的性格肯定是想all in的,但是看一个密码学能讲的都有很多那就先讲数字签名再加亿点点细节吧)

数字签名技术

  • 数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
  • 数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
  • 数字签名是非对称密钥加密技术与数字摘要技术的应用
    数字签名技术是密码学基础的一部分
  • 传统签名的基本特点:
  • 能与被签的文件在物理上不可分割
  • 签名者不能否认自己的签名
  • 签名不能被伪造
  • 容易被验证
  • 数字签名是传统签名的数字化,基本要求:
  • 能与所签文件“绑定”
  • 签名者不能否认自己的签名
  • 签名不能被伪造
  • 容易被验证

数字签名的特性

  • 不可伪造性
  • 没有私钥,很难伪造一个合法的数字签名
  • 不可否认性
  • 对普通数字签名,任何人可用签名者公钥验证签名的有效性
  • 保证消息完整性
  • 可以防止消息被篡改

数字签名的两种方法

信息安全技术之数字签名_公钥密码_非对称加密_第1张图片(a) 基于RSA的数字签名

  • 初始化:
    m:签名的消息
    签名者的私钥:d;公钥:(e,n)
  • 签名:
    计算m的哈希值H(m).
    签名值s=(H(m))^d mod n
  • 验证:
    计算H1=s^e mod n
    判断H1=H(m)是否成立
    信息安全技术之数字签名_公钥密码_非对称加密_第2张图片

(b) DSS处理

DSS数字签名标准:

  • DSS(Digital signature standard)
  • NIST提出,1994年12月被正式采用为美国联邦信息处理标准
  • 数字签名算法(Digital signature algorithm, DSA )

DSS特点:

  1. 只能用于签名
  2. 不能用于加密,也不能用于密钥分配
  • DSA是ELGamal签名方案的一个变形,所有有关ELGamal签名方案的一些攻击方法也可能对DSA有效
  • 对DSA持反对意见的人怀疑 DSA的安全性,认为DSA的密钥长度太短

三种算法的比较

算法 加/解密 数字签名 密钥协商
RSA
Dieffie-Hellman
DSA

加亿点点细节(扩展内容,,跑偏了)


非对称密码算法

非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

  • 理解非对称密码算法的优缺点和应用场合:
  • 优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。
  • 缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。在某些极端情况下,甚至能比对称加密慢上1000倍。
  • 常见应用场景:信息加密、用户认证、数字签名、数字证书

  • 理解RSA算法的特点
  • 1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年正式公布。
  • RSA是一种分组加密算法。明文和密文在0~n-1之间,n是一个正整数。
  • 该算法的数学基础是初等数论中的Euler(欧拉)定理,并建立在大整数因子的困难性之上。
  • 目前应用最广泛的公钥密码算法。
  • RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA就是他们三人姓氏开头字母拼在一起组成的。它是第一个既能用于数据加密也能用于数字签名的算法
    RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。
    今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战和质疑。
  • RSA (Rivest - Shamir – Adleman),1977
  • 在一个算法中实现签名和加密
  • 私钥 : 签名和解密
  • 公钥 : 签名检验和加密
  • RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
  • RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。
    e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2×e1)≡1(mod(p-1)×(q-1))。
    (n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。
    RSA加解密的算法完全相同,设A为明文,B为密文,则:A≡B^e2( mod n);B≡A^e1 (mod n);(公钥加密体制中,一般用公钥加密,私钥解密)
    e1和e2可以互换使用,即:A≡B^e1 (mod n);B≡A^e2( mod n);
    RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥


  • 了解DH、EIGamal、ECC等算法的特点
  • 非对称加密的主要算法:RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)。常见的有:RSA,ECC
  • DH算法全称为"Diffie-Hellman",它是一种确保共享 KEY 安全穿越不安全网络的方法,也就是常说的密钥一致协议。由公开密钥密码体制的奠基人 Diffie 和 Hellman 所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"的、可以共享的密钥。也就是由甲方产出一对密钥 (公钥、私钥),乙方依照甲方公钥产生乙方密钥对 (公钥、私钥)。

  • ElGamal算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。
  • ElGamal在1985年提出的
    既能用于数据加密也能用于数字签名
    安全性
    基于求解离散对数困难问题
  • 美国NIST的数字签名标准 DSS(Digital Signature Standard)采用ElGamal数字签名体制的修改版本而制定。

  • ECC(Elliptic Cure Crytosystem),1985
    基于有限域上椭圆曲线有理点群的密码系统
    更快的具有更小密钥长度的公开密码系统
    功能同RSA:数字签名,密钥管理,加密
    椭圆加密算法(ECC)是一种公钥加密算法,最初由 Koblitz 和 Miller 两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成 Abel 加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。
    ECC 的主要优势是在某些情况下它比其他的方法使用更小的密钥 (比如 RSA),提供相当的或更高等级的安全。ECC 的另一个优势是可以定义群之间的双线性映射,基于 Weil 对或是 Tate 对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。ECC 被广泛认为是在给定密钥长度的情况下,最强大的非对称算法,因此在对带宽要求十分紧的连接中会十分有用。比特币钱包公钥的生成使用了椭圆曲线算法,通过椭圆曲线乘法可以从私钥计算得到公钥, 这是不可逆转的过程。
    优势:(1) 安全性高,有研究表示160位的椭圆密钥与1024位的 RSA 密钥安全性相同。(2) 处理速度快,在私钥的加密解密速度上,ECC 算法比 RSA、DSA 速度更快,存储空间占用小,带宽要求低。 ECC算法案例Java 中 Chipher、Signature、KeyPairGenerator、KeyAgreement、SecretKey 均不支持 ECC 算法。
    信息安全技术之数字签名_公钥密码_非对称加密_第3张图片
  • ECC应用:
  • 无线Modem的实现
    对分组交换数据网加密,实现快速Deffie-Hellman密钥交换
  • Web服务器的实现
    可节省计算时间和带宽
  • 集成电路卡的实现
    ECC无需协处理器即可在标准卡上实现快速、安全的数字签名,RSA难以实现
  • ECC的特点:
  • 安全性能更高(160位等同RSA的1024位)
  • 计算量小,处理速度快
  • 存储空间占用小
  • 带宽要求低
  • 应用前景非常好,特别在移动通信、无线设备上的应用。

算法能讲的真的太多辽,一口老血
RSA和ESS安全模长的时间比较

攻破时间 RSA/DSA ECC RSA/ECC
MIPS年 密钥长度 密钥长度 密钥长度比
10^4 512 106 5:1
10^8 768 132 6:1
10^11 1024 160 7:1
10^20 2048 210 10:1
10^78 21000 600 35:1

Diffie-Hellman 密钥协商算法

信息安全技术之数字签名_公钥密码_非对称加密_第4张图片

公钥密码体制的思想

  • 不同于以往的加密技术,公钥密码体制是建立在数学函数基础上的,而不是建立在位方式的操作上的。
  • 与只使用单一密钥的传统加密技术相比,它在加解密时,分别使用了两个不同的密钥:
  • 一个可对外界公开,称为“公钥”;
  • 一个只有所有者知道,称为“私钥”。
  • 用公钥加密的信息只能用相应的私钥解密,反之亦然。
  • 同时,要想由一个密钥推知另一个密钥,在计算上是不可能的
    公钥加密模型
    信息安全技术之数字签名_公钥密码_非对称加密_第5张图片

公钥密码的重要特性

信息安全技术之数字签名_公钥密码_非对称加密_第6张图片

公钥密码的优缺点

  • 优点:
  • 解决密钥传递的问题
  • 大大减少密钥持有量
  • 提供了对称密码技术无法或很难提供的服务(数字签名)
  • 缺点:
  • 计算复杂、耗用资源大
  • 非对称会导致得到的密文变长

对公钥密码的误解

  • 公钥密码算法比对称密码算法更安全?
    任何一种现代密码算法的安全性都依赖于密钥长度、破译密码的工作量,从对抗分析角度,没有一方更优越。
  • 公钥密码算法使得对称密码算法成为了过时技术?
    公钥密码算法计算速度较慢,通常用于密钥管理和数字签名。
    对称密码算法将长期存在。
  • 使用公开密钥加密,密钥分配变得非常简单?
    密钥分配既不简单,也不有效。

本篇博客讲解了数字签名,扩展的说明了公钥加密、非对称加密等与数字签名技术实现相关内容,其技术应用算法各不相同,感兴趣的可以进行再深入了解。

密码技术知识体

密码技术
密码学基础
密码学发展简史
密码学基本概念
对称密码算法
非对称密码算法
哈希函数/消息鉴别和数字签名
密码学应用
  1. 第一个阶段是从古代到19世纪末——古典密码
  2. 第二个阶段从20世纪初到1949年——近代密码
  3. 第三个阶段从C.E.Shannon(香农) 于1949年发表的划时代论文“The Communication Theory of Secret Systems ”开始——现代密码
  4. 第四个阶段从1976年W. Diffie和M. Hellman发表论文“New Directions in Cryptography”开始——公钥密码

还有好多想学的东西,下次一定!

你可能感兴趣的:(安全,区块链,信息安全,数字货币,密码学)