信息安全技术之数字签名_公钥密码_非对称加密
信息安全技术主要包括:
- 信息加密技术
- 数字签名技术
- 身份认证技术
- 访问控制技术
- 网络安全技术
- 反病毒技术
- 数据备份与恢复
- 信息安全管理
这里因为之前搞到了师兄给的一百多页的密码学基础,所以就先pick数字签名来讲。(小声哔哔:按我的性格肯定是想all in的,但是看一个密码学能讲的都有很多那就先讲数字签名再加亿点点细节吧)
数字签名技术
- 数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
- 数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
- 数字签名是非对称密钥加密技术与数字摘要技术的应用。
数字签名技术是密码学基础的一部分
- 传统签名的基本特点:
- 能与被签的文件在物理上不可分割
- 签名者不能否认自己的签名
- 签名不能被伪造
- 容易被验证
- 数字签名是传统签名的数字化,基本要求:
- 能与所签文件“绑定”
- 签名者不能否认自己的签名
- 签名不能被伪造
- 容易被验证
数字签名的特性
- 不可伪造性
- 没有私钥,很难伪造一个合法的数字签名
- 不可否认性
- 对普通数字签名,任何人可用签名者公钥验证签名的有效性
- 保证消息完整性
- 可以防止消息被篡改
数字签名的两种方法
(a) 基于RSA的数字签名
- 初始化:
m:签名的消息
签名者的私钥:d;公钥:(e,n)- 签名:
计算m的哈希值H(m).
签名值s=(H(m))^d mod n
- 验证:
计算H1=s^e mod n
判断H1=H(m)是否成立
(b) DSS处理
DSS数字签名标准:
- DSS(Digital signature standard)
- NIST提出,1994年12月被正式采用为美国联邦信息处理标准
- 数字签名算法(Digital signature algorithm, DSA )
DSS特点:
- 只能用于签名
- 不能用于加密,也不能用于密钥分配
- 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 算法。
- ECC应用:
- 无线Modem的实现
对分组交换数据网加密,实现快速Deffie-Hellman密钥交换 - Web服务器的实现
可节省计算时间和带宽 - 集成电路卡的实现
ECC无需协处理器即可在标准卡上实现快速、安全的数字签名,RSA难以实现
- ECC的特点:
- 安全性能更高(160位等同RSA的1024位)
- 计算量小,处理速度快
- 存储空间占用小
- 带宽要求低
- 应用前景非常好,特别在移动通信、无线设备上的应用。
算法能讲的真的太多辽,一口老血
RSA和ESS安全模长的时间比较
信息安全技术之数字签名_公钥密码_非对称加密相关推荐
- 公钥密码(非对称加密)
文章目录 (一)秘钥配送问题 (二)公钥秘钥 (1)介绍 (2)公钥通信流程 (三)RSA (1)介绍 (2)加密和解密 (3)生成密钥对 (4)生成密钥对详细步骤 (一)秘钥配送问题 在对称加密的过 ...
- 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40922813点击打开链接 一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码 ...
- 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密 ...
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)
第二届360杯全国大学生信息安全技术大赛比赛的题目如下: 加密解密第一题: 源码如下: <div class="container"><div class=&qu ...
- 【计算机网络】对称加密、非对称加密和Hash加密的介绍和区别
目录 一.对称加密(Symmetric Cryptography) 优缺点 二.非对称加密(asymmetric Cryptography) 优缺点 三.Hash加密算法(摘要算法) 对称加密算法的加 ...
- 理解区块链的“非对称加密”
区块链和密码学的关系,就像是鱼和水,可以说没有密码学,就没有区块链.比特币最早诞生的来源,正是中本聪当时所在的'"密码学邮件组".在所有的加密技术中,非对称加密又是加密术之中的皇冠 ...
- 理解SSL(https)中的对称加密与非对称加密
密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母. 早期的密码学: 古希腊人用一种叫 Scytale 的工具加密.更快的工具是 transposition cipher-:只是把羊皮 ...
- 对称加密与非对称加密
2019独角兽企业重金招聘Python工程师标准>>> 对称加密(Symmetric Cryptography) 对称加密是最快速.最简单的一种加密方式,加密(encryption) ...
- java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...
<<网络信息安全技术>_实验报告_破译vigen&#232;re_密码加密的密文>由会员分享,可在线阅读,更多相关<<网络信息安全技术>_实验报 ...
最新文章
- [MOSS 译]如何:在WEB内容查询部件中使用自定义的字段
- 【转】ClickOnce证书
- 实例入手vue-router重定向
- mmdetection 使用笔记 01: 安装与简单的推理demo
- mysql跳过安全_Navicat连接MySQL数据库
- photoshop cs5快捷键的用法总结
- 数据量大了一定要分表,分库分表Sharding-JDBC入门与项目实战
- ios笔记-单例文字代码详解
- mysql锁表查询_如何通过自动增加索引,实现数据库查询耗时降低50%?
- MFC多文档开发记录
- 抽象工厂模式(Abstract Factory Pattern)
- 微信爱帮公交查询之公交线路查询
- NX二次开发(C#)-UI Styler-选择对象TaggedObject转换为Body、Face等对象
- linux学习工具:工欲善其事必先利其器(2)
- 数字时代下,工厂的智能加工、检测与控制
- 数据库去重,group by、distinct、rowid的用法,oracle和mysql如何数据去重保留一条
- SF简易IDC系统V1.0免授权
- 【电力电子技术】CURRENT DOUBLER 倍流整流电路
- oracle怎么分组查重,2021-04-02 大文本文件数据查重
- Windows 10 21H1 更新的3种方式