信息安全实践二之密码与隐藏技术2【数字水印&RSA加密算法实现】

信息安全实践二之密码与隐藏技术2【数字水印&RSA加密算法实现】


叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
在这里插入图片描述

一、RSA演示实验

通过《RSA》演示软件,了解 RSA 的加密、解密过程和性能,掌握其工作原理。

二、数字水印演示实验

解压缩文件“数字水印(密码与编码软件包与JRE环境).rar”,运行其中的“Cryptography.exe”(需要jre环境支持,如果无法运行exe,请先安装jre环境)。

相关压缩文件在我的资源中查找。

运行其中的“数字水印”程序,打开一张图片,进行水印信息嵌入操作和提取操作。截取嵌入水印信息成功后的截图和提取水印信息成功后的截图。

在这里插入图片描述
在这里插入图片描述

三、RSA加密算法的实现

完成RSA演示实验之后,对RSA算法应该有了一些了解,下面要进行简单的编码:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:
上述代码中的平方乘运算 power(p,e)%n 代码有些问题(自己可以想想是什么问题?),所以运行结果会不正确
请使用后面给出的平方乘函数代码,对程序稍作修改,可以得出正确结果。
说明:除了用C语言改正上述程序外,也可以选择用Java、Python等语言改写上述程序。

//平方乘函数
//m的a次方模r

int pfcheng(int m,int a,int r)
{
    
    
   int b[100],length=0;
   int c=1;
   do
   {
    
    
      b[length++]=a%2;
      a=a/2;
   }
   while(a!=0);
   while(length>=0)
   {
    
    
      c=(c*c)%r;
      if(b[length]==1)
      {
    
    
            c=(c*m)%r;
      }
      length--;
   }
   return c;
}

修改后程序实践运行:

课本实例运行结果如图:

在这里插入图片描述

相关源代码在我的资源中查找。

三、请用教材41页介绍的平方-乘算法计算下列各式的值,并编程实现平方-乘算法来进行验证。编程语言不限,将算法实现为1个函数,接收输入,给出输出,请将完整的函数代码粘贴在下方,代码中注释输入输出参数的意义及代码编译环境。
(1) 34^60 mod 51的结果是:34
(2) 345^89 mod 101的结果是:34
(3) 请注明所用编程语言,并将函数代码粘贴在下方(字体五号):

所用编程语言:c++

教材实例代码验证如图:
在这里插入图片描述

源代码如下:

#include<iostream>
using namespace std;

//递归快速幂
unsigned recur_pow_mod(unsigned a, unsigned b, unsigned mod)
{
    
    
	unsigned long long  result = 1; 
	unsigned array[64] = {
    
     0 };  //用来存储b的二进制形式的每一位数
	unsigned length = 0;
	while (b)
	{
    
    
		array[length++] = b & 1;
		b >>= 1;
	}
	for (int j = length - 1; j >= 0; j--)
	{
    
    
		if (array[j] == 1)
			result = (result * result*a) % mod;
		else
			result = (result * result) % mod;
	}
	return result;
}

int main()
{
    
    
	unsigned a, b, mod;
	unsigned result = 0;
	cout << "请输入数字(a,b,mod): " << endl;
	cin >> a >> b >> mod;
	result = recur_pow_mod(a, b, mod);
	cout << "平方-乘结果为: " << result << endl;

	return 0;
}

Ending!
更多课程知识学习记录随后再来吧!

就酱,嘎啦!

在这里插入图片描述

注:
1、人生在勤,不索何获。
2、信息安全实践一之密码与隐藏技术2【数字水印&RSA加密算法实现】相关文件在我的资源中查找。

猜你喜欢

转载自blog.csdn.net/qq_43543789/article/details/108530356