密码学初级教程(二)公钥密码RSA与单向散列函数与消息认证码

求离散对数非常困难

RSA是Ron Rivest/Adi Shamir/Leonard Adleman的姓氏首字母组成。

RSA可以被用于公钥密码和数字签名。

RSA加密:密文=明文EmodN(E和N为公钥)

RSA解密:明文=密文DmodN(D和N为私钥)

对RSA的破解:

暴力破解:暴力破解的难度会随着D的长度增加而变大,当D足够长时,就不可能在现实的时间内通过暴力破解找出D。

混合密码系统:用对称密码提高速度,用公钥密码保护会话密钥

混合密码系统的组成机制:

用对称密码加密消息

通过伪随机数生成器生成对称密码加密中使用的会话密钥

用公钥密码加密会话密钥

从混合密码系统外部赋予公钥密码加密时使用的密钥

单向散列函数-指纹

单向散列函数是为了保证消息的完整性,也称为一致性。

碰撞:两个不同的消息产生同一个散列值的情况称为碰撞。

抗碰撞性:难以发现碰撞的性质称为抗碰撞性。

弱抗碰撞性:要找到和该条消息具有相同散列值的另外一条消息是非常困难的。

强抗碰撞性:要找到散列值相同的两条不同的消息是非常困难的。

单向性:无法通过散列值反算出消息的性质。

单向散列函数也称为消息摘要函数(message digest function)、哈希函数

单向散列函数输出的散列值也称为消息摘要(message digest)或者指纹(fingerprint)

MD4能够产生128比特的散列值,

MD5能够产生128比特的散列值。强抗碰撞性已经被攻破,因此它也不安全了。

SHA-1:160比特的散列值,消息上限为264比特,在实际使用中没有问题。强抗碰撞性已于2005年被攻破。

SHA-2代-SHA-256:256比特,消息上限为264比特,还未被攻破。

SHA-2代-SHA-384:384比特,消息上限为2128比特,还未被攻破。

SHA-2代-SHA-512:512比特,消息上限为2128比特,还未被攻破。

对单向散列函数的攻击
暴力破解:试图破解单向散列函数的“弱抗碰撞性”的攻击。

生日攻击:这是一种试图破解单向散列函数的“强抗碰撞性”的攻击。

单向散列函数能够辨别出“篡改”,但无法辨别出“伪装”。

用于认证的技术包括消息验证码和数字签名。

消息认证码(MAC,message authentication code)

是一种确认完整性并进行认证的技术。

消息认证码的输入包括任意长度的消息和一个发送者与接收者之间共享的密钥,它可以输出固定长度的数据。

时间: 2024-10-22 15:41:21

密码学初级教程(二)公钥密码RSA与单向散列函数与消息认证码的相关文章

密码学初级教程(五)消息认证码MAC-Message Authentication Code

密码学家工具箱中的6个重要的工具: 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 MAC能识别出篡改和伪装,也就是既可以确认消息的完整性,也可以进行认证. 消息认证码的输入包括任意长度的消息和一个发送者与接受者之间共享的密钥,它可以输出固定长度的数据,这个数据就是MAC. 消息认证码是一种与密钥相关联的单向散列函数. 消息认证码的应用实例 SWIFT(Society for Wordwide Interbank Financial Telecommunication,环

密码学初级教程(二)对称密码

密码学家工具箱中的6个重要的工具: 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 编码:将现实世界中的东西映射为比特序列的操作成为编码. XOR:异或运算,同零异一,0XOR0=0,0XOR1=1,1XOR0=1,1XOR1=0 异或的性质:A异或B异或B为A. 一次性密码本-绝对不会被破译的密码 定义:将明文与一串与明文等长的比特序列进行异或运算. 不具有实用性. DES(Data Encryption Standard) 现在DES已经能够破解,强度大不如前了. 具

密码学初级教程(五)数字签名 Digital Signature

密码学家工具箱中的6个重要的工具: 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 提问: 有了消息认证码为什么还要有数字签名? 因为消息认证码无法防止否认.消息认证码可以识别消息是否被篡改或者发送者身份是否被伪装.(消息认证码保证完整性.可以进行认证) 为什么消息认证码无法防止否认,数字签名就能够否认呢? 消息认证码中,能够计算出MAC值的密钥(共享密钥)是由发送者和接受者双方共同持有的,因此发送者和接受者中的任何一方都能够计算MAC值,发送者也就可以声称“这个MAC值

密码学初级教程(一)基本概念及DES加密算法

第1章 加密-解密 破译 明文-密文 密钥 密码算法 对称密码-公钥密码(非对称密码) 单向散列函数-散列值 消息认证码 数字签名 伪随机数生成器 信息安全中所面临的威胁与密码技术的对应关系图 --- 隐写术 数字水印 不要使用保密的密码算法 密码算法的密码早晚会公诸于世 开发高强度的密码算法是非常困难的 使用低强度的密码比不进行任务加密更危险 任何密码总有一天都会被破解 第2章 凯撒密码:将字母表按照一定的行数“平移”进行加密.利用暴力破解很容易解密. 简单替换密码:利用字母替换表进行加密.利

密码学初级教程(四)SSL/TLS-为了更安全的通信

SSL/TLS是世界上应用最广泛的密码通信方法.用到对称密码.消息认证码.公钥密码.数字签名.伪随机数生成器等密码技术. 密码套件 SSL/TLS提供了一种密码通信的框架,SSL/TLS中使用的对称密码.公钥密码.数字签名.单向散列函数等技术,如果发现所用的密码技术有弱点,可以将这一部分进行替换就行了. SSL(Secure Socket Layer,安全套接层) SSL是网景(Netscape)公司设计的一种协议.SSL3.0 TLS(Transport Layer Security,传输层安

初级教程二:基本概念及其指令(适合hydro及以上版本)

Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信. Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题. Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息. Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此). rosout: ROS中相当于stdout/stderr. roscore: 主机+ rosout + 参数服务器 (参数服务器会在后面介绍). 一.命令行工具(roscore,rosnode,r

密码学初级教程(三)证书-为公钥加上数字签名

名词解释: 证书(公钥证书,PKC,Public-KeyCertificate):类比驾照,里面记有姓名.组织.邮箱地址.公钥(用于加密的公钥)等个人信息. 举个实际证书的例子:天猫的证书 证书标准规范X.509:证书的标准规范,大体包含三部分: 签名前的证书-签名对象的信息 数字签名算法-对证书签名时所使用的算法 数字签名-对证书施加的签名 PKI(公钥基础设施,Public-Key Infrastructure) 用户-使用PKI的人 认证机构-颁发证书的人 仓库-保存证书的数据库 认证机构

单向散列函数的价值和具体实现的详细使用

关于术语 不同的参考书使用的术语有所不同: 单向散列函数(one-way hash function).消息摘要函数(message digest function).哈希函数.杂凑函数 输入的是消息(message)也称为原像(pre-image) 输出的是散列值(hash value),或消息摘要(message digest),或指纹(fingerprint) 完整性(integrity)/ 一致性 digest [da'dest] vt. 消化:吸收:融会贯通 n. 文摘:摘要 hash

《英语语法新思维初级教程》学习笔记(二)名词

参考资料: 1. <英语语法新思维初级教程> ? 知识点 ▼ 名词是用来表示人.事物.地点以及抽象事物的名称. ▼ 名词通常分为两大类:专有名词(proper noun)和普通名词(common noun). ▼ 专有名词表示特定的人.物.机构或场所等的名词(首字母须大写).如:Paris,the United States和Bill Gates等. ▼ 普通名词又分为:可数名词(countable noun)和不可数名词(uncountable noun)两类. ▼ 可数名词 = 个体名词