用计算机算法设置密码,南京邮电大学计算机学院算法分析与设计密码算法.doc...-程序员宅基地

技术标签: 用计算机算法设置密码  

南京邮电大学计算机学院算法分析与设计密码算法

实 验 报 告

课程名称算法分析与设计实验名称密码算法实验时间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 &&

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35943182/article/details/118166967

智能推荐

MyBatis拦截器的使用和设计原理_mybatis 写拦截器-程序员宅基地

文章浏览阅读1.3w次,点赞8次,收藏34次。使用拦截器Web开发中我们经常会碰到分页操作,一个项目中或许有多处使用到分页,这时如果Java后台使用MyBatis作为持久层,我们就可以使用MyBatis的拦截器功能来完成整个项目中多处的分页操作,减少代码的冗余。拦截器代码@Intercepts({@Signature(type=StatementHandler.class,method="prepare",args={Connection.cl_mybatis 写拦截器

docker-selinux 改为 container-selinux-程序员宅基地

文章浏览阅读233次。说明:Dan在2016年将docker-selinux相关的名字改为container-selinux,但是很多旧的资料和网上文章还是使用旧的名字,在工作这些资料中的名字会令人不解,本篇博客介绍了改名的原因以及名字的对应:原名现名docker_tcontainer_runtime_tdocker_exec_tcontainer_runtime_exec_tsvirt..._container-selinux

Mac OS 安装 MPI_macos如何安装gmx_mpi-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏13次。1.官网下载http://www.open-mpi.org/software/ompi/v1.8/_macos如何安装gmx_mpi

传统后端程序不使用Node.JS依然要搞Element UI_不使用nodejs可以使用element吗-程序员宅基地

文章浏览阅读1.2k次,点赞6次,收藏8次。概述作为一个Java重度使用患者,后端程序员掌握一些前端知识是必备技能。Html、CSS、JS三大语言后端玩起来也得是溜得很,不过现在前端技术发展的速度简直做上了飞机,后端程序员自己首先要保障后端技术不被拉下,再想回头学学前端技术,没想到那趟飞机已经上天了。不得不说后端程序员普遍使用的ui界面都是比较丑,再看看现在各种前端页面靓的一匹。现阶段流行的UI框架典型的比如饿了么的Element、阿里的Ant Design等等。这些框架对于后端程序员使用话说不怎么友好,官方推荐安装Node.JS使用_不使用nodejs可以使用element吗

Bat语法-程序员宅基地

文章浏览阅读47次。1、 REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。 例: REM 你现在看到的就是注解,这一句将不会被执行。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 R...

RCNN,Fast RCNN-程序员宅基地

文章浏览阅读64次。https://towardsdatascience.com/deep-learning-method-for-object-detection-r-cnn-explained-ecdadd751d22

随便推点

chatgpt赋能python:Python中的逆序排列:什么是逆序排列?如何实现?_python字符串逆序是不是变成左开右闭原则了-程序员宅基地

文章浏览阅读347次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python字符串逆序是不是变成左开右闭原则了

C语言listen()函数:等待连接_c listen-程序员宅基地

文章浏览阅读3.5k次。相关函数:socket, bind, accept, connect头文件:#include 定义函数:int listen(int s, int backlog);函数说明:listen()用来等待参数s 的socket 连线. 参数backlog 指定同时能处理的最大连接要求, 如果连接数目达此上限则client 端将收到ECONNREFUSED 的错误. Listen_c listen

Charles+Postman模拟接口请求_charles postman-程序员宅基地

文章浏览阅读8.3k次。为什么要写这篇文章呢,就是一个小点,我老忘,就在这里记录一下吧。不想多说废话,直接上正题吧,charles的配置我们就不说了,找度娘吧,charles的请求参数怎么能在postman上使用呢,可以看到上图是我抓的一个接口,以这个为例吧,最上面的是请求参数,我们直接吧请求参数放在POSTMAN的body里面,然后格式选择“JSON(application/json)”如上图所示,粘过来,输上请求的URL就直接可以模拟请求了,至于接下来不管是改参数还是写脚本断言呀,或是别的什么操作,就看你自己了。原谅_charles postman

配置Spring数据源 -程序员宅基地

文章浏览阅读483次。配置一个数据源 Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据..._mysql.properties中username字体颜色怎么

MySQL中表的字段信息查询--information_schema.COLUMNS_information_schema.columns 字段-程序员宅基地

文章浏览阅读2.5w次,点赞11次,收藏63次。MySQL的information_schema库中有个COLUMNS表,里面记录了mysql所有库中所有表的字段信息,该表信息如下: COLUMNS表的每一条记录都对应了数据库中某个表的某个字段,该表记录了如下信息:TABLE_CATALOGMySQL官方文档中说,这个字段值永远是def,但没写这个字段是干嘛用的。网上有把这个叫表限定符的,有叫登记目录的。作用疑似是和其他种类的数据库做区分。TA..._information_schema.columns 字段

Quartus II 中的SignalTap II 的使用_quartus自带的signaltapii logic analyse-程序员宅基地

文章浏览阅读5k次,点赞3次,收藏23次。Signal Tap II_quartus自带的signaltapii logic analyse

推荐文章

热门文章

相关标签