第一次做RSA题,去找题解,发现得用上gmpy2库,下好之后去了解了一下gmpy2库的常用函数

注:一般是用这个库来解决一些大整数之间的各种计算,下面的例子都是举的常规数

1、求两整数的最大公因数

import gmpy2
#求整数a、b的最大公因数
a = gmpy2.gcd(3,12)
print(a)

输出:3

2、判断一个数是否为素数

import gmpy2
#判断一个数是否为素数
a = gmpy2.is_prime(5)
print(a)

输出:True

3、判断一个数是否为偶/奇数

import gmpy2
#判断一个数是否为偶数
a = gmpy2.is_even(4)
##判断一个数是否为奇数
b = gmpy2.is_odd(4)
print(a)
print(b)

输出:True False

4、求一个数开x次方

import gmpy2
#求一个数开x次方
a = gmpy2.iroot(8,3)
print(a)

输出:(mpz(2), True)

5、初始化大整数(暂时还不晓得有什么意义)

#初始化大整数
a = gmpy2.mpz(234324324234)
print(a)

输出:234324324234

6、求一个数模x的逆元y

import gmpy2
#求一个数模x的逆元y
#如3*4 = 1 mod 11
a = gmpy2.invert(3,11)
print(a)

输出:4

7、求一个整数的x次幂模y取余(主要用于RSA中)

import gmpy2
#求一个整数的x次幂模y取余
#如3^3 mod 4(即27%4)
a = gmpy2.powmod(3,3,4)
print(a)

输出:3

gmpy2库的常用函数及其作用相关推荐

  1. Py之Numpy:Numpy库中常用函数的简介、应用之详细攻略

    Py之Numpy:Numpy库中常用函数的简介.应用之详细攻略 目录 Numpy库中常用函数的简介.应用 1.X, Y = np.meshgrid(X, Y) 相关文章 Py之Numpy:Numpy库 ...

  2. C语言windows.h库的常用函数(三)

    SetCursorPos函数 用途 SetCursorPos函数是windows.h库中用来设置指针位置的函数,使用该函数鼠标指针将会直接跳至指定坐标位置 参数 SetCursorPos函数拥有x和y ...

  3. random库的常用函数

    random库的常用函数 random()生成一个[0.0,1.0]之间的随机小数 uniform(a,b)生成[a,b]之间的随机小数 randint(a,b)生成一个[a,b]之间的整数 rand ...

  4. python标准库random中函数的作用_Python随机函数库random的使用方法详解

    Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...

  5. php常用系统函数库,PHP常用函数大全

    php usleep() 函数延迟代码执行若干微秒. unpack() 函数从二进制字符串对数据进行解包. uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID. time_sleep_ ...

  6. STM32_HAL库_常用函数库

    HAL函数库-常用库函数 目录 HAL函数库-常用库函数 1. GPIO库 2. UART库 3. TIM 计时器 4. PWM库 5. ADC库 6. DAC库 7. DMA库 8. CAN库 9. ...

  7. python os库的常用函数记录

    listdir() 作用:返回指定的文件夹包含的文件或文件夹的名字的列表. 格式:os.listdir(path) path为指定的路径,且要为绝对路径 返回值是路径下文件或文件夹的名字的列表. 代码 ...

  8. PCL点云库可视化常用函数与经验总结

    目录 一, makeShared:使点云返回一个智能指针(深拷贝) 二,pcl::visualization::PCLVisualizer viewer.setPointCloudRenderingP ...

  9. CUDA矩阵运算之cuBLAS库的常用函数

    前言 对于矩阵运算,我们使用GPU会更加快速,因为GPU可以并行计算,在使用CUDA的时候,编写核函数会有点麻烦,于是,有一个cuBLAS库可以使用,上面包含了一些基本的矩阵运算函数. 根据文档,可以 ...

最新文章

  1. 【学习笔记】block、inline(替换元素、不可替换元素)、inline-block的理解
  2. 如何安装,卸载eclipse中的ADT,或者更新ADT
  3. 第八章 shell学习之循环和结构化命令
  4. roads 构筑极致用户体验_万物互联大势所趋 华为保驾护航运营商“三个转型”...
  5. 微信小程序unionid获取问题
  6. 检查库文件的rpath命令
  7. 几款经典的免费小软件 -- 白领的左右手
  8. 【数据结构】人名查询哈希表设计(线性探测法)
  9. 贵州国际商品交易中心依托实体经济发展虚拟经济
  10. 用ros3.3中的nth进行带宽叠加
  11. 哄女朋友必备之微信自动发红包脚本(python+adb+androidviewclient)
  12. java 使用oos 进行数据上传和跨域
  13. python求组合数c(m、n)编程题_c语言编程问题,计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序...
  14. 〖Python 数据库开发实战 - Python与MySQL交互篇⑫〗- 项目实战- 实现新闻管理模块
  15. MySQL异常java.sql.SQLSyntaxErrorException
  16. mysql学习笔记(1)_DQL(Data Query Language)
  17. 学习数据结构--第六章:查找(查找)
  18. 网络基础之为了安全而诞生的NAT(网络地址转换)
  19. 7-182 换钱计划
  20. i.MX537多媒体应用处理器简介

热门文章

  1. Vue里使用three.js实现3D模型小案例
  2. C# Html转PDF 用itextsharp把Html转PDF 完整版
  3. 电机控制(2)直流电机的simulink仿真
  4. SYSBIOS学习笔记---硬件中断(HWI)的创建
  5. java-net-php-python-jspm高校社团管理系统计算机毕业设计程序
  6. Qt使用QSocket做tcp简单客户端
  7. web表单设计器Ueditor Formdesign Plugins安装使用教程
  8. 三极管(8050)3.3v转5v电平转换及转换速率的测试
  9. 线程的调度之协同式和抢占式
  10. 如何应对运营商插入的广告、被运营商劫持怎么办