密码学入门之数学基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码学入门之数学基础相关的知识,希望对你有一定的参考价值。

目录

1、序言

2、知识点总结

 

内容

1、序言

  最近突然有了想要学习密码学的想法。于是在知乎上搜索了一下基础的密码学入门教程,是一个大概为期三十天的课程,所以打算利用下班的时间学习一下,本人是一名前端开发工程师,毕竟信息安全是现在前端非常重视的点,所以希望能对以后的工作也有些帮助。

2、知识点总结

  数学方面:需要准备一下基本的数学知识,这里打算学习一下质数及其基本性质、辗转相除法、费马小定理、裴蜀定理、中国剩余定理。

3、知识点讲解

  3.1、质数及其基本性质

  下面是用javascript代码判断是否为质数

function isPrime(num){
    // 不是数字或者数字小于2
    if(typeof num !== "number" || !Number.isInteger(num)){      // Number.isInterget 判断是否为整数
        return false;
    }

    //2是质数
    if(num == 2){
        return true; 
    }else if(num % 2 == 0){  //排除偶数
        return false;
    }
    //依次判断是否能被奇数整除,最大循环为数值的开方
    var squareRoot = Math.sqrt(num);
    //因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
    for(var i = 3; i <= squareRoot; i += 2) {
      if (num % i === 0) {
         return false;
      }
    }
    return true;
}

  3.2、辗转相除法

  辗转相除法,又名欧几里得算法,是求最大公约数的一种方法。下面是辗转相除法的一个实例。

技术分享

  3.3、中国剩余定理

  中国剩余定理又称为孙子定理。有这么一个问题:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余三,除以五余三,除以七余二,求这个整数。

  下面这张图就是完整的解答:

技术分享

   3.4、斐蜀定理

  在数论中, 斐蜀定理是一个关于最大公约数的定理。

  对于任意两个整数a、b设d是它们的最大公约数。那么关于未知数x和y的线性丢番图方程:

  ax+by=m 有整数解(x,y)当且仅当m时d的倍数。斐蜀等式游街时必然有无穷多个解

  

以上是关于密码学入门之数学基础的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础入门之单用户密码修改03

Linux基础入门之用户认证与加密

OpenSSL 入门:密码学基础知识

python3 自动化之mysql操作python3下的mysql入门基础

Nginx视频教程之Nginx从入门到实践

WebSocket.之.基础入门-后端响应消息