RSA算法的纯Python实现,压缩包内共4个文件,分别是1、大整数的运算库(当然不是算加减乘除的,这个python本身就有)。
这个库是计算乘模运算,幂模运算(蒙哥马利算法),最大公约数算法及扩展最大公约数算法(扩展欧几里得算法)等。
2、质数库。
Miller_Rabin素数判断法,大整数快速因式分解算法(pollard_rho算法),生成指定位数的大质数或大整数算法等。
3、RSA算法库。
使用上面两个库,实现RSA算法。
实现了生成指定数位的密钥对,加密,解密,签名和验证,这5个核心功能。
4、RSAtest.py一个使用RSA算法库的例子。
例子从生成密钥对开始,对数据进行加解密,签名和验证签名,最后用修改后的消息再次验证签名。
这个RSA算法最低支持32位密钥长度,最长没限制。
但是现实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。
这次发布的是源码,里面有详细的中文注释,十分适合希望学习RSA算法原理的人。
RSA算法原理基于两个大质数的乘积很难因式分解,几种算法的优劣主要体现在质数判断、快速乘模运算、快速幂模运算等。
如需实际应用建议使用大能们的实现:https://pypi.python.org/pypi/rsa/
2020/2/14 21:45:34 16KB RSA Python 源码
1
设计二进制的大整数乘法,要求利用分治的思想编写递归算法,并可以实现多位数(位数n是2的整数幂)的乘法(利用数组实现),给出程序的正确运转结果。
2018/4/22 6:13:44 61KB 大整数乘法 二进制大整数乘法
1
此文件为适用数据结构基础课程设计(大整数运算)代码及程序
2018/4/12 1:16:15 106KB C语言
1
16进制10进制.txt32.txtasm.txtCrctable.txtC标志符命名源程序.txterre.txterre2.txtff.txtfor循环的.txtlist.logN皇后问题回溯算法.txtping.txtre.txtsource.txtwinsock2.txtww.txt万年历.txt万年历的算法.txt乘方函数桃子猴.txt乘法矩阵.txt二分查找1.txt二分查找2.txt二叉排序树.txt二叉树.txt二叉树实例.txt二进制数.txt二进制数2.txt余弦曲线.txt余弦直线.txt傻瓜递归.txt冒泡排序.txt冒泡法改进.txt动态计算网络最长最短路线.txt十五人排序.txt单循环链表.txt单词倒转.txt单链表.txt单链表1.txt单链表2.txt单链表倒序.txt单链表的处理全集.txt双链表正排序.txt反出字符.txt叠代整除.txt各种排序法.txt哈夫曼算法.txt哈慢树.txt四分砝码.txt四塔1.txt四塔2.txt回文.txt图.txt圆周率.txt多位阶乘.txt多位阶乘2.txt大加数.txt大小倍约.txt大整数.txt字符串查找.txt字符编辑.txt字符编辑技术(插入和删除).txt完数.txt定长串.txt实例1.txt实例2.txt实例3.txt小写数字转换成大写数字1.txt小写数字转换成大写数字2.txt小写数字转换成大写数字3.txt小字库DIY-.txt小字库DIY.txt小孩分糖果.txt小明买书.txt小白鼠钻迷宫.txt带头结点双链循环线性表.txt平方根.txt建树和遍历.txt建立链表1.txt扫描码.txt挽救软盘.txt换位递归.txt排序法.txt推箱子.txt数字移动.txt数据结构.txt数据结构2.txt数据结构3.txt数组完全单元.txt数组操作.txt数组递归退出.txt数组递归退出2.txt文件加密.txt文件复制.txt文件连接.txt无向图.txt时间圈套.txt杨辉三角形.txt栈单元加.txt栈操作.txt桃子猴.txt桶排序.txt检出错误.txt检测鼠标.txt汉字字模.txt汉诺塔.txt汉诺塔2.txt灯塔问题.txt猴子和桃.txt百鸡百钱.txt矩阵乘法动态规划.txt矩阵转换.txt硬币分法.txt神经元模型.txt穷举搜索法.txt符号图形.txt简单数据库.txt简单计算器.txt简单逆阵.txt线性顺序存储结构.txt线索化二叉树.txt绘制圆.txt编随机数.txt网络最短路径Dijkstra算法.txt自我复制.txt节点.txt苹果分法.txt螺旋数组1.txt螺旋数组2.txt试题.txt诺汉塔画图版.txt读写文本文件.txt货郎担分枝限界图形演示.txt货郎担限界算法.txt质因子.txt输出自已.txt迷宫.txt迷宫问题.txt逆波兰计算器.txt逆矩阵.txt逆阵.txt递堆法.txt递归桃猴.txt递归车厢.txt递推.txt逻辑移动.txt链串.txt链栈.txt链表十五人排序.txt链表(递归).txt链队列.txt队列.txt阶乘递归.txt阿姆斯特朗数.txt非递归.txt顺序栈.txt顺序表.txt顺序队列.txt骑士遍历1.txt骑士遍历2.txt骑士遍历回逆.txt黑白.txt
2016/7/21 4:24:10 223KB 数据结构
1
源代码包括128位大整数的加减乘除、取模、乘幂、2进制和10进制转换等运算,可用于大整数运算和加解密算法。
2019/10/20 7:35:56 3KB 大整数 大数 加解密 C程序
1
HugeIntegerClass)CreateaclassHugeIntegerthatusesa40-elementarrayofdigitstostoreintegersaslargeas40digitseach.Providememberfunctionsinput,output,addandsubtract.ForcomparingHugeIntegerobjects,providefunctionsisEqualTo,isNotEqualTo,isGreaterThan,isLessThan,isGreaterThanOrEqualToandisLessThanOrEqualTo—eachoftheseisa“predicate”functionthatsimplyreturnstrueiftherelationshipholdsbetweenthetwoHugeIntegersandreturnsfalseiftherelationshipdoesnothold.Also,provideapredicatefunctionisZero. Ifyoufeelambitious,providememberfunctionsmultiply,divideandmodulus
2015/6/22 15:20:58 378KB HugeInterger
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡