zoukankan      html  css  js  c++  java
  • 密码学-(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工具

  • 相关阅读:
    hibernate03增删改查
    hibernate02环境的搭建
    hibernate01ORM的引入
    20170623_oracle_优化与体系结构
    20170626_oracle_数据库设计
    logging模块
    hashlib模块
    json和pickle模块
    sys模块
    os模块
  • 原文地址:https://www.cnblogs.com/weimiaomiao/p/13568873.html
Copyright © 2011-2022 走看看