密码学-(1)
密码学
密码学:主要是研究编制密码和破译密码的学科
密码学的主要目的:研究如何隐藏信息并把信息传递出去
分类:
(一)古典密码学
(二)近代密码学
(三)现代密码学
1.1古典密码学
核心原理:替换法,移位法
例如:凯撒加密
频度分析法进行破译密码,在不知道密码规则的前提下,进行破译密码
如何设置密码才比较安全
1.替换法
单表替换:原文和密文使用的同一张表
abc---dge
a--d, b--g, c--e
多表替换:原文和密文使用多张表进行对比
表单1:abc---dge, 表单2:abc---wtq, 表单3:abc---jiu
原文:abc
密钥:312
密文:jgq
2.移位法:按照字母,在字母表上的位置进行移动
如凯撒加密
abcd---cdef
3.频率分析法破解古典密码
1.2近代密码学
核心原理:替换法,移位法
恩尼格码密码机,核心思想移位法和替换法
1.3现代密码学
(一)散列函数(哈希函数)
MD5,SHA-1,SHA-256,SHA-512
(二)对称加密
对称加密:使用的加密方式和解密方式,使用的是同一种密钥
DES加密解密,AES加密解密
对称加密的核心原理:流加密,块加密
JAVA中的toString和new String核心原理和区别
加密模式:ECB CBC
填充模式:NoPadding和PKCS5padding
(三)非对称加密
非对称加密,有2把密钥,使用公钥加密,必须使用私钥解密,或者使用私钥加密,必须使用公钥解密。
非对称加密的特点
RSA算法和ECC算法
数字摘要
base64核心加密原则,和base64原理
数字签名和数字证书
keytool工具