Cryptography I 学习笔记 --- 数论简介
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 学习笔记 --- 数论简介的更多相关文章
- Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- React学习笔记 - JSX简介
React Learn Note 2 React学习笔记(二) 标签(空格分隔): React JavaScript 一.JSX简介 像const element = <h1>Hello ...
- CUBRID学习笔记 1 简介 cubrid教程
CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...
- shiro学习笔记_0100_shiro简介
前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记 ...
- Mybatis-Plus 实战完整学习笔记(一)------简介
第一章 简介 1. 什么是MybatisPlus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- symfony学习笔记1—简介
1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...
- REVIT个人学习笔记——1.简介及熟悉界面
此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...
随机推荐
- UVA_1025 a Spy in the Metro 有向无环图的动态规划问题
应当认为,有向无环图上的动态规划问题是动态规划的基本模型之一,对于某个模型,如果可以转换为某一有向无环图的最长.最短路径问题,则可以套用动态规划若干方法解决. 原题参见刘汝佳紫薯267页. 在这个题目 ...
- Kubernetes添加带Quota限额的CephFS StorageClass
1. 在Ceph上为Kubernetes创建一个文件系统 # ceph osd pool create cephfs_data # ceph osd pool create cephfs_metada ...
- Diycode开源项目 MyTopicActivity分析
1.总体浏览效果及布局分析 1.1.看一下我的帖子预览效果 1.2.然后看一下我的收藏预览效果 1.3.归纳一下 所以我的帖子和我的收藏可以共用同一个类. 布局效果几乎一样,只是用户的选择不同. 所以 ...
- VS2010Datatable查看器查看超时(Microsoft.VisualStudio.DebuggerVisualizers)
这个问题由来已久,却一直没有找到原因.大家都知道,VisualStudio的DebuggerVisualizers是一个非常方便的插件,可以帮助我们调试时查看Datatable视图,前阵子突然发现在查 ...
- 第5模块闯关CSS练习题
1.列举你知道的css选择器? 说道css选择器,大家都知道有许多种,但是真要你去掰着手指头数一数的话,你可能需要数几分钟.其实这么多选择器,完全可以分为两类: 标签选择器(*是特殊情况),可但标签, ...
- Python中函数参数类型和参数绑定
参数类型 Python函数的参数类型一共有五种,分别是: POSITIONAL_OR_KEYWORD(位置参数或关键字参数) VAR_POSITIONAL(可变参数) KEYWORD_ONLY(关键字 ...
- ios开发学习笔记003-流程控制和类型转换
流程控制 顺序结构.选择结构.循环结构 1.顺序结构 程序默认是顺序执行的. 2.选择结构 if选择语句 第一种情况 if(条件)//条件成立执行下面语句 { //语句 } 第二种情况 if(条件)/ ...
- svm常用核函数
SVM核函数的选择对于其性能的表现有至关重要的作用,尤其是针对那些线性不可分的数据,因此核函数的选择在SVM算法中就显得至关重要.对于核技巧我们知道,其目的是希望通过将输入空间内线性不可分的数据映射到 ...
- 欧拉回路基础 HDU1878 欧拉回路||并差集
欢迎参加——每周六晚的BestCoder(有米!) 欧拉回路 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 【.NET MVC分页】.NET MVC 使用pagelist 分页
1.安装 2. 在NuGet程序包管理控制台 ,输入Install-Package PagedList.mvc 安装PagedList 和PageList.Mvc; 3. @{ Layout = nu ...