0. Zn代表{0,1....n-1}的集合

1. 模运算符合交换律结合律

2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到。

3. 模逆(modular inversion),在Zn上,x的模逆为y,那么x*y=1 mod n

4. Zn上如果x有模逆,那么x与n互质,也就是gcd(x,n)=1

5. Zn*代表Zn中,所有可逆元素的集合。那么如果n为质数,那么Zn* = Zn - {0}

6. 费马小定理:如果p是质数,那么任意x ∈ Zp*,都有xp-1 = 1 (在Zp上)。可以用费马小定理判定一个数是否为素数,但是有极少数的Carmichael数会躲过这一检测

7. 如果g ∈ Zp* 并且 {1,g,g2,g3...gp-2}=Zp* ,那么g是Zp* 的生成元(generator)

8. 对于g ∈ Zp*,{1,g,g2,g3...gp-2}的大小,是g在p上的序(Order),记做ordp(g)。另外有,(p -1 ) 一定能被 ordp(g) 整除

9. 欧拉函数:φ(n) = 为从1到n,与n互质的数的个数。

  如果n为质数:φ(n) = n-1

  如果n为质数p的k次方,那么φ(n) =pk-pk-1

  如果n=p*p,且p与q互质,那么φ(n)  = φ(q) *φ(p)

10. 欧拉公式:如果a与n互质,那么aφ(n) = 1 mod n。很显然,费马小定理是欧拉公式的特例

11. 如何求某个元素的模逆?可以利用欧拉公式:aφ(n)  = a * aφ(n)-1 = 1 mod n,也就是说a的模逆是 aφ(n)-1 mod n

12. 中国剩余定理:只需要较弱的一个结论:如果p与q互质,且x = y mod p,x = y mod q,那么可以得到x = y mod p * q

13. 如何求一个阶为n的有限循环群的生成元?以及一个阶为n的有限循环群的生成元有多少个?

  如果gcd(n, r)=1,也就是说只要r与n互质,那么r就是这个阶为n的有限循环群的生成元

  也就是说,一个阶为n的有限循环群的生成元有φ(n)个。

Cryptography I 学习笔记 --- 数论简介的更多相关文章

  1. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  2. React学习笔记 - JSX简介

    React Learn Note 2 React学习笔记(二) 标签(空格分隔): React JavaScript 一.JSX简介 像const element = <h1>Hello ...

  3. CUBRID学习笔记 1 简介 cubrid教程

    CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...

  4. shiro学习笔记_0100_shiro简介

    前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记 ...

  5. Mybatis-Plus 实战完整学习笔记(一)------简介

    第一章    简介      1. 什么是MybatisPlus                MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只 ...

  6. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  7. python学习笔记1--python简介和第一行代码编写

    一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...

  8. symfony学习笔记1—简介

    1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...

  9. REVIT个人学习笔记——1.简介及熟悉界面

    此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...

随机推荐

  1. JVM垃圾回收原理

    原文地址:http://chenchendefeng.iteye.com/blog/455883 一.相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法 ...

  2. Diycode开源项目 ImageActivity分析

    1.首先看一下效果 1.1做成了一个GIF 1.2.我用格式工厂有点问题,大小无法调到手机这样的大小,目前还没有解决方案. 1.3.网上有免费的MP4->GIF,参考一下这个网站吧. 1.4.讲 ...

  3. F#周报2019年第25期

    新闻 Azure Notebook概览 SpecFlow 3就在这里了! 使用新的Try .NET模版创建交互式文档 逐渐演化的.NET Core框架 Dylan与Linebreakers Oslo ...

  4. 设计模式之第2章-抽象工厂模式(Java实现)

    设计模式之第2章-抽象工厂模式(Java实现) “上次是我的不对,贿赂作者让我先讲来着,不过老婆大人大人有大量,不与我计较,这次还让我先把上次未讲完的应用场景部分给补充上去,有妻如此,夫复何求.”(说 ...

  5. Python-S9-Day128——算法基础Algorithm

    01 算法基本概念与递归: 02 二分查找与LOW B三人组 03 快速排序 04 归并排序 01 算法基本概念与递归: 1.1 算法概念 1.2 复习:递归 1.3 时间复杂度 1.4 空间复杂度 ...

  6. Wordpress 自定义文章类型添加 Categoried、Tags

    默认情况下 ,自定义文章类型没有分类和标签属性,需要通过 register_taxonomy_for_object_type 手动注册文章分类和标签,可以通过在 functions.php 或插件中添 ...

  7. Detect Vertical&Horizontal Segments By OpenCV

    Detect Vertical&Horizontal Segments By OpenCV,and Save the data to csv. Steps: Using adaptiveThr ...

  8. python 中输入一个字符串,判断这个字符串中有多少个字符、数字、空格、特殊字符

    # -*- coding: utf8 -*- # Author:wxq #python 2.7 #首先定义一个字符串 str1 = raw_input('请输入一个字符:') #初始化字符.数字.空格 ...

  9. zookeeper 集群

    集群步骤: 1.安装zookeeper 2.修改zookeeper配置文件 3.创建myid文件 安装zookeeper:查看安装步骤 修改zookeeper配置文件:在zoo.cfg中添加配置 se ...

  10. Ambari API 验证方式

    文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/6123010.html  转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...