![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
信息安全
文章平均质量分 62
my0214163
这个作者很懒,什么都没留下…
展开
-
DES算法实现S盒替换
一、实验目的:理解DES算法并掌握S盒替换原理,用代码实现S盒替换。二、实验过程:1.学习DES算法的三个步骤中的第二步:16轮的迭代运算。2.学习S盒替换 :首先输入一个六位二进制数,把这个六位二进制数的第一位和第六位提取出来组成二位二进制数并转换为十进制数作为S盒的行数,接着把六位二进制数的剩余第二位至第五位转换为十进制数作为S盒的列数,最后通过行数和列数查找对应S盒的数并转换为四位二进制数。三、实验代码及结果:(1)实验代码:#include<iostream&原创 2022-05-10 14:59:45 · 5343 阅读 · 1 评论 -
凯撒加密解密暴力破解实验报告C语言实现超详解
一、实验目的:掌握凯撒加密解密算法,并学会实现凯撒加密解密二、实验过程:1. 学习凯撒加密解密的具体算法,想出对应的解题思路。其中对于此次试验凯撒加密解密均采用求模运算。以下C为密文,P为明文,key为密钥。加密算法:C=P+key(mod 26)解密算法:P=C-key(mod 26)2.根据凯撒加密解密算法写出对应的程序代码,最后写出主函数对其进行调用。3.运行并对此代码进行测试。三、实验代码及结果:(1)实验代码:#include <stdio.h>原创 2022-03-17 22:04:29 · 5234 阅读 · 0 评论 -
欧几里得算法求最大公约数
一、实验目的:编程实现欧几里得算法求最大公约数二、实验过程:1.学习欧几里得算法的基本原理,并使用辗转相除法求最大公约数2. 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。计算公式为gcd(a,b) = gcd(b,a mod b)。3.实验采用两种方法求最大公约数:① while循环实现:定义局部变量a,b和temp,temp作为a与b相除的余数,接着a作为被除数,b作为余数使用while循环,最后返回的a值即为最大公约数。②递归实现:定义局部变量a,b,当余数b为0时,最后一次原创 2022-06-14 21:48:27 · 2864 阅读 · 0 评论 -
编程实现乘方运算a^b mod N
一、实验目的:编程实现乘方运算二、实验过程:1.首先理解性质:如果a ≡b(mod n),c ≡d(mod n),那么ac ≡bd(mod n)。2.运用二进制例如7=0111,11^7=(11^1)*(11^2)*(11^4),以及两个公式解决乘方运算3.实验首先定义长整型变量a,b,c,接着定义mod函数实现运用while循环将b转化为二进制,如果b最后一位为1,长整型变量m为a % n,a = a * a % n进行取模运算,b向左移动一位,一致循环直到b移动到0,结束循环,此时m的值即为结果。最后输原创 2022-06-14 21:53:18 · 1168 阅读 · 0 评论 -
编程实现RSA数字签名
一、实验目的:理解RSA数字签名,并运用编程实现RSA数字签名。二、实验过程:1.学习RSA算法及RSA数字签名算法流程。2. RSA数字签名原理:当发送方想要给接收方发送数据,并想进行数字签名的时候,发送方只需要利用自己的私钥,对数据进行数字签名算法,就可以得到一个新的签名数据,这时发送方需要把自己原来的数据,以及新得到的签名数据都发送给接收方,接收方接受到签名数据之后,用发送方的公钥对签名数据进行验证算法,看得出来的数据与发送方发送过来的数据是不是完全一样的即可。三、实验代码及结果:(1)实验代码:im原创 2022-06-15 07:56:49 · 3650 阅读 · 0 评论