技术标签: 用计算机算法设置密码
南京邮电大学计算机学院算法分析与设计密码算法
实 验 报 告
课程名称算法分析与设计实验名称密码算法实验时间2015年6月26日指导单位南京邮电大学指导教师XXXX
学生姓名 班级学号学院(系)计算机学院专 业软件工程
实 验 报 告
实验名称密码算法指导教师XXX实验类型验证实验学时2实验时间2015-6-26实验目的和任务
实验目的:
了解现代密码学的基本原理和数论的基础知识,掌握非对称密码体制的著名代表 RSA加密算法的工作原理和流程,并设计实现一个简单的密钥系统。实验环境(实验设备)
VC++6.0实验原理及内容(包括操作过程、结果分析等)
实验内容:
了解加/解密的基本原理和工作过程,用公开密钥对明文进行加密,并用私人密钥对密
文进行解密,构造一个简单的 RSA 公开密钥系统。
实验代码:
#include
#include
#include
#include
using namespace std;
//********判断素数*********
int judge_num(long n)
{ long temp=0,i;
for(i=2;i<=n/2;i++) temp=n%i;
return temp;
}
//产生密钥
void creatkey(long p,long q,long d)
{ long e,n,m;
bool ok=true;
cout<
cin>>p;
while(judge_num(p)==0)
{ cout<
cin>>p;
}
cout<
cin>>q;
while(judge_num(q)==0)
{ cout<
cin>>q;
}
n=p*q;
m=(p-1)*(q-1);
for(e=2;e<=m/2;e++)
for(d=sqrt(n);d>0;d--)
{ if((e*d)%m==1)
{ cout<
cout<
cout<
cout<
cout<
cout<
ok=false;
}
else if(ok && e==m/2 && d==1)
{ cout<
cout<
cin>>p;
while(judge_num(p)==0)
{ cout<
cin>>p;
}
cout<
cin>>q;
while(judge_num(q)==0)
{ cout<
cin>>q;
}
n=p*q;
m=(p-1)*(q-1);
}
}
}
//**********加密**********
long ckey(long ed,long n,char c)
{ long i,cc=1;
for(i=0;i
{ cc=cc*long(c);
if(cc>=n) cc=cc%n;
if(cc==0 && i!=(ed-1))
cc=1;
}
return cc;
}
//**********解密***********
long rkey(long ed,long n,long c)
{ long i,cc=1;
for(i=0;i
{ cc=cc*c;
if(cc>=n) cc=cc%n;
if(cc==0 &&
文章浏览阅读1.3w次,点赞8次,收藏34次。使用拦截器Web开发中我们经常会碰到分页操作,一个项目中或许有多处使用到分页,这时如果Java后台使用MyBatis作为持久层,我们就可以使用MyBatis的拦截器功能来完成整个项目中多处的分页操作,减少代码的冗余。拦截器代码@Intercepts({@Signature(type=StatementHandler.class,method="prepare",args={Connection.cl_mybatis 写拦截器
文章浏览阅读233次。说明:Dan在2016年将docker-selinux相关的名字改为container-selinux,但是很多旧的资料和网上文章还是使用旧的名字,在工作这些资料中的名字会令人不解,本篇博客介绍了改名的原因以及名字的对应:原名现名docker_tcontainer_runtime_tdocker_exec_tcontainer_runtime_exec_tsvirt..._container-selinux
文章浏览阅读1.1w次,点赞2次,收藏13次。1.官网下载http://www.open-mpi.org/software/ompi/v1.8/_macos如何安装gmx_mpi
文章浏览阅读1.2k次,点赞6次,收藏8次。概述作为一个Java重度使用患者,后端程序员掌握一些前端知识是必备技能。Html、CSS、JS三大语言后端玩起来也得是溜得很,不过现在前端技术发展的速度简直做上了飞机,后端程序员自己首先要保障后端技术不被拉下,再想回头学学前端技术,没想到那趟飞机已经上天了。不得不说后端程序员普遍使用的ui界面都是比较丑,再看看现在各种前端页面靓的一匹。现阶段流行的UI框架典型的比如饿了么的Element、阿里的Ant Design等等。这些框架对于后端程序员使用话说不怎么友好,官方推荐安装Node.JS使用_不使用nodejs可以使用element吗
文章浏览阅读47次。1、 REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。 例: REM 你现在看到的就是注解,这一句将不会被执行。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 R...
文章浏览阅读64次。https://towardsdatascience.com/deep-learning-method-for-object-detection-r-cnn-explained-ecdadd751d22
文章浏览阅读347次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python字符串逆序是不是变成左开右闭原则了
文章浏览阅读3.5k次。相关函数:socket, bind, accept, connect头文件:#include 定义函数:int listen(int s, int backlog);函数说明:listen()用来等待参数s 的socket 连线. 参数backlog 指定同时能处理的最大连接要求, 如果连接数目达此上限则client 端将收到ECONNREFUSED 的错误. Listen_c listen
文章浏览阅读8.3k次。为什么要写这篇文章呢,就是一个小点,我老忘,就在这里记录一下吧。不想多说废话,直接上正题吧,charles的配置我们就不说了,找度娘吧,charles的请求参数怎么能在postman上使用呢,可以看到上图是我抓的一个接口,以这个为例吧,最上面的是请求参数,我们直接吧请求参数放在POSTMAN的body里面,然后格式选择“JSON(application/json)”如上图所示,粘过来,输上请求的URL就直接可以模拟请求了,至于接下来不管是改参数还是写脚本断言呀,或是别的什么操作,就看你自己了。原谅_charles postman
文章浏览阅读483次。配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据..._mysql.properties中username字体颜色怎么
文章浏览阅读2.5w次,点赞11次,收藏63次。MySQL的information_schema库中有个COLUMNS表,里面记录了mysql所有库中所有表的字段信息,该表信息如下: COLUMNS表的每一条记录都对应了数据库中某个表的某个字段,该表记录了如下信息:TABLE_CATALOGMySQL官方文档中说,这个字段值永远是def,但没写这个字段是干嘛用的。网上有把这个叫表限定符的,有叫登记目录的。作用疑似是和其他种类的数据库做区分。TA..._information_schema.columns 字段
文章浏览阅读5k次,点赞3次,收藏23次。Signal Tap II_quartus自带的signaltapii logic analyse