zoukankan      html  css  js  c++  java
  • 离散对数

    写在前面:

      学习笔记,方便复习

      非原创标明出处

    我们都在努力奔跑,我们都是追梦人

    by skecchiart

    概念

    对数

      在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然。 这意味着一个数字的对数是必须产生另一个固定数字(基数)的指数

      如果ax次方等于N(a>0,且a不等于1),那么数x叫做以a为底N的对数,记作x==logaN

      其中,a叫做对数的底数,N叫做真数

    ——bia度百科

      设ap是整数,ap互素,那么:使an ≡ 1 (mod p)成立的最小正整数n叫做ap的阶

    ——bia度百科

    原根

      设m是正整数,a是整数,若am的阶等于φ(m),则称a为模m的一个原根

    ——bia度百科

      即:aφ(m) ≡ 1 (mod m)

      此处am的阶为φ(m)

     

      循环节见:

      [◹]同余定理

      [◹]费马-欧拉定理

    离散对数

      在整数中,离散对数是一种基于同余运算和原根的一种对数运算

      任何群G([◹]初等群论)中可为所有整数k定义一个幂数为bx,而离散对数logba是指使得bx a的整数k

      离散对数在一些特殊情况下可以快速计算,然而,通常没有具非常效率的方法来计算它们

      公钥密码学中几个重要算法的基础,是假设寻找离散对数的问题解,在仔细选择过的群中,并不存在有效率的求解算法

    ——bia度百科

      The discrete log problem is of fundamental importance to the area of public key cryptography. Many of the most commonly used cryptography systems are based on the assumption that the discrete log is extremely difficult to compute; the more difficult it is, the more security it provides a data transfer

      One way to increase the difficulty of the discrete log problem is to base the cryptosystem on a larger group

    ——Wikipedia

    译:

      离散对数问题在公钥密码领域具有重要意义,许多最常用的密码系统都是基于这样一个现象:离散对数极难计算,而它越困难,提供数据传输的安全性就越高

      提高离散对数问题难度的一种方法是将密码建立在一个较大的群上

    举个例子:

    对数

    8==23

    log28==3

    离散对数

    8+n*k ≡ 23 (mod k)

    log2(8+n*k) ≡ 3 (mod φ(k))

      指数循环节见[◹]同余定理

     

    实现

    • [◹]Baby-step giant-step算法

    • [◹]拓展Baby-step giant-step算法

     

  • 相关阅读:
    GDC快讯,腾讯CMatrix布局云游戏B端领域
    如何测试小程序? 腾讯智慧零售保障优衣库小程序体验优化
    一分钟读懂兼容报告:测试过程视频复现,问题定位很轻松
    一到秒杀就瘫痪?压测大师保你后台稳健
    how2j-springcloud-摘抄
    问题1
    springcloud---how2java--记录零碎的信息
    how2java-springcloud-demo
    oracle 查两个日期之间数据有多少条
    非官网渠道下单导致的错误
  • 原文地址:https://www.cnblogs.com/Antigonae/p/10262342.html
Copyright © 2011-2022 走看看