zoukankan      html  css  js  c++  java
  • 【加密解密】密码学学习

    基本简介

      密码学是属于信息安全领域,是研究如何隐密信息并且安全的传递及验证信息完整性等,在日常生活中密码学已经应用在很多地方,比如我们在ATM机器上取钱需要输入密码,登陆网站需要密码,用支付宝支付也需要密码。

    1976年 斯坦福大学两位教授提出了 出现了不对称秘钥密码,是密码学的一个分水岭。 

    1977年Rivest ,Shamir和Adleman 提出了RSA公钥算法,算法名字用他们三位名字命名。

    20世纪90年代,出现了椭圆曲线ECC等其他公钥算法。

    主要特点:

        公钥密码使得发送端和接受端无秘钥传输的保密通信称为可能。

    专业术语

      明文:原始的信息。

      密文:加密后的信息。

      加密算法:将明文转换成密文的算法。

      秘钥:用于加密,仅发为发送方和接收方已知

      加密:把明文转换成密文

      解密:从密文中恢复明文

      1.加密的基本操作类型

          代换,置换(比如交换两个字符位置),多重加密 (代换做置换,再做代换做置换)

      2.所用秘钥的个数

          单秘钥算法 或 对称加密算法

          双秘钥算法 或公开秘钥算法

      3.明文被处理的方式

          分组密码 (多个字符同时输入,在加密的时候相互之间有关系,有关联进行处理,得出的一个结果)

          流密码(也称序列密码) :它是对称密码算法中的一种。

    密码三要素

         1. 保密性(Confidentiality)

              2. 完整性(Integrity)

         3. 可用性(Availability)

    密码学所涉及到的数学

      1.欧几里德算法(Euclidean Algorithm)及扩展的欧几里德算法(The Extended Euclidean Algorithm)。

        2.费马定理Fermat

        3.欧拉定理(Euler)

          4.群、环、域及有限域

          5.素数和互素数

        6.中国剩余定理/中国余数定理。

        7.模运算

     了解更多可以看《信息安全数学基础》这本书

    加密的分类

      1.对称加密(Sysmmetric Cryptography)

        2.非对称加密(Public-Key Cryptography,Asymmetric Cryptography)

        3.数字签名(又称公钥数字签名)

    加密技术的用途

      1.加密货币,比如比特币。

      2.通信加密。

      3.电子邮件加密。

      4.数据传输。

      5.数据鉴别真伪。

      6.身份认证,比如支付密码,社交媒体的登录密码。

    密码攻击手段

      1.穷举攻击/暴力破解,彩虹表。
      2.选择明文/选择密文攻击。
      3.数学分析破译。

  • 相关阅读:
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解系统调用
    基于mykernel2.0编写一个操作系统内核
    如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?
    如何评测软件工程知识技能水平?
    深入理解TCP协议及其源代码
    Socket与系统调用深度分析
    创新产品的需求分析:未来的图书会是什么样子?
    构建调试Linux内核网络代码的环境MenuOS系统
    解决npm ERR! code ELIFECYCLE npm ERR! errno 1问题
  • 原文地址:https://www.cnblogs.com/songgj/p/8606963.html
Copyright © 2011-2022 走看看