python中的模块化算法
mod的Python项目详细描述
说明
Modular arithmetic 是整数的算术,其中数字环绕 当达到名为modulus的给定值时。 例如6 ≡ 1 (mod 5)。 模块化算法有几个实际应用,包括: music, banking, book publishing, cryptography… 当然还有数学。
这个包的目的是简化 模运算在Python3中的使用
用法
此包提供Mod整数 用模来计算诸如+ - * // **之类的算术运算
frommodimportMod# Funny math herex=Mod(5,7)# x ≡ 5 (mod 7)(x+2)==0# True: 5 + 2 ≡ 7 ≡ 0 (mod 7)(x+7)==x# True: 5 + 7 ≡ 12 ≡ 5 (mod 7)(x**3)==(x+1)# True: 5³ ≡ 125 ≡ 6 (mod 7)(1//x)==3# True: 5 × 3 ≡ 15 ≡ 1 (mod 7) ⇒ 5⁻¹ ≡ 3 (mod 7)
天真的实现 RSA encryption algorithm 使用mod包:
frommodimportMod# My RSA keyspublic_key=Mod(3,61423)private_key=Mod(40619,61423)# My very secret messagetop_secret_message=666# RSA encryptionencrypted=top_secret_message**public_key# RSA decryptiondecrypted=encrypted**private_key# My secret message have been correctly encrypted and decrypted :-)assertdecrypted==top_secret_message
注意
- Mod基于整数模运算%,而不是math.fmod
- 在Mod和int之间操作的结果是Mod
- 在Mod和float之间进行操作的结果是float
包文档:mod.Mod
安装
运行以下命令安装modpackage
pip3 install mod
链接
指数
mod-版权所有(c)2017 Y.SOMDA,MIT License