`
lingyibin
  • 浏览: 196396 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

密码学复习笔记(二)

阅读更多

1、经典的简单密码:

   移位密码、一次一密乱码本、仿射密码。

2、移位密码:这是最简单的一种加密方式,早期的Caesar密码就是移位密码,这种密码很简单就是约定

把第个字母的位数往后移动3位,改进后的Caesar密码是发送方和接收方协商一个密钥k,1≤k≤25,代表移

动位数。下面写一个简单的程序展示一下:

#include<iostream>
#include <ctype.h> 
using namespace std;

#define CNT 5 //移动的位数
#define MAXLEN 100 //要加密的字符串可能的最大长度

int main()
{
	char str[MAXLEN];
	scanf("%s",str);
	for(int i = 0; i < strlen(str); i ++)
	{
              if(str[i]-' ' != 0)
		{
			str[i] = toupper(str[i])+CNT;
			if(str[i] > 'Z') str[i] -= 26;
		}
	}
	printf("%s\n",str);
	return 0;
}
 

可以想像,这种密码很容易攻击,穷举25种可能就行了。

特点:

  1)是对称密码:加密密钥和解密密钥相同;

  2)是单表代替密码:所有的明文字母用同一种方法 

                   加密,即子密钥相同。

 

3、乘法逆

   n模m的乘法逆t满足:n×t%m=1,记作:t=n-1%m

   乘法逆是复杂点的密码学算法的基础。

举例:

2-1%5的值为:3因为 3×2%5=1

3-1%100的值为:67因为 67×3%100=1

乘法逆的计算可以用

1)穷举法:

技巧:t×n%m=-1n-1%m=m-t

如:33×3%100=-1所以3-1%100的值为67

 

2)欧几里德算法:

原理:辗转求余

  gcd(a,b)=gcd(b,a mod b)这个公式是欧几里德算法的基础,gcd就是最大公约数。

把公式变形后得:
ax+by=gcd(x,y) 当等号右边等于1时,这个式子就是我们用来求的乘法逆的关键式子了。

下面是我写的一个程序,用来模仿这个计算过程:

#include<iostream>
#include<stack>
using namespace std;

stack<int> s;

int cfn(int n, int m)
{
	bool flag = false;
	int cnt,a,b,t=1;
	if(n > m)
	{
		flag = !flag;
		a = n;
		n = m;
		m = a;
	}
	while(t)
	{
		cnt = 1;
		while(m-n >= n)
		{
			cnt++;
			m-=n;
		}
		m -= n;
		s.push(-cnt);
		t = m;
		m = n;
		n = t;
	}

	a = 0,b=1;
	s.pop();
	while(!s.empty())
	{
		t = b;
		b = a + b*s.top();
		a = t;
		s.pop();
	}
	return flag?a:b;
}

int main()
{
	int m,n;
	while(scanf("%d%d",&n,&m) == 2)
		printf("%d\n",cfn(n,m));
	return 0;
}
 
  • 大小: 38.6 KB
1
0
分享到:
评论

相关推荐

    密码学期末复习笔记 重置版.pdf

    密码学期末复习笔记,这门课的书是《密码学原理与实践第三版》

    西电密码学笔记-思维导图

    西安电子科技大学 953 密码学 复习笔记 个人整理

    四川大学网络空间安全学院应用密码学的课程笔记和章节测试题目和答案

    四川大学网络空间安全学院应用密码学的课程笔记,针对2022年期末考试复习来整理的,里面还有每一次学习通章节测试的题目和答案。

    北邮-现代密码学下

    名词解释-现代密码学-课后答案-第二版.doc: 这份文档很可能包含了课程中关键术语的详细解释,如公钥密码体制、对称密码体制、哈希函数、数字签名、RSA算法、椭圆曲线密码等。这些名词解释对于理解密码学的基本概念至...

    密码学与网络安全知识点整理.docx

    密码学与网络安全是保障信息化社会安全的关键领域,它涉及到如何保护数据的机密性、完整性和可用性。本文主要从OSI安全框架、安全攻击、安全服务和安全机制等方面进行详细阐述。 首先,OSI安全框架是理解网络安全...

    web安全复习笔记.pdf

    4. 密码学哈希函数:这类函数能够将任意长度的数据转换为固定长度的字符串,即摘要。哈希函数具有单向性,即从摘要难以反推原始数据。常见哈希函数包括MD5、SHA-1等,但目前MD5和SHA-1已不再安全,SHA-256是比特币所...

    mysql学习及复习笔记

    至于忘记数据库密码,可以通过关闭mysqld服务并使用特殊参数`--skip-grant-tables`重启服务,然后更新密码。这种方法需谨慎操作,因为它将暂时禁用权限系统。 总的来说,MySQL学习涉及许多基础概念和操作,包括...

    移动计算考试复习笔记

    ### 移动计算考试复习笔记知识点汇总 #### 一、移动计算概述与安全问题 - **背景**: 随着移动设备(如智能手机和平板电脑)的普及,移动计算成为了IT领域的重要组成部分。本节主要介绍了移动计算的基本概念及其在...

    山东大学软件学院信息安全导论期末复习笔记

    山东大学软件学院信息安全导论期末复习笔记

    网络信息安全期末复习笔记存档

    【网络信息安全期末复习笔记存档】是一份针对网络信息安全课程的重点复习资料,涵盖了计算机与网络安全的基本概念、密码算法与协议、网络安全的现状、OSI安全框架、不同类型的攻击及其特点,安全服务和安全机制等...

    信息安全数学基础期末复习笔记

    4. **密码学基础**:包括对称加密、非对称加密、哈希函数等基本概念和技术。 5. **数论**:特别是在公钥密码体系中极为重要的数论知识,如模运算、同余方程等。 6. **线性代数**:向量空间、矩阵运算等内容对于理解...

    CISSP学习笔记 CISSP关键知识点总结汇总.zip

    第六章 密码学与对称加密算法 第七章 PKI和密码学应用 第八章 安全模型的原则、设计和功能 第九章 安全脆弱性、威胁和对策 第十章 物理安全需求 第十一章 网络安全架构与保护网络组件 第十二章 安全通信和网络攻击 ...

    达内笔记(自己整理完整)

    【标题】"达内笔记(自己整理完整)"揭示了...这份笔记全面覆盖了Java编程的重要知识点,是学习和复习Java编程的宝贵资源,尤其适合初学者和准备面试的开发者。通过逐步学习和实践,读者可以系统提升自己的Java编程技能。

    合肥工业大学 软件工程 网络及其计算(计算机网络)复习笔记

    本章将介绍加密技术,包括对称加密(如DES、AES)和非对称加密(如RSA),以及密码学中的哈希函数和数字签名。 通过以上章节的学习,学生可以系统地掌握计算机网络的各个方面,为应对期末考试做好充分准备。记住,...

    ACCP+S2+复习资料(超全)

    ACCP,即高级加密专业认证,是信息安全领域中一个高级别的认证,它涵盖了密码学、安全协议、公钥基础设施(PKI)、加密算法等多个方面。对于想要在网络安全、数据保护和隐私领域深化理解的专业人士来说,ACCP认证是...

    接口测试面试复习笔记.docx

    文档包含接口测试基础+招聘需求+网络协议+请求方法+接口测试工具的讲解...适合软件测试人员学习和面试复习 使用场景和目标:可以在招聘面试和实际工作中起到比较大的作用 目标:可以帮助您成为一名合格的接口测试工程师

    复习笔记1

    古典密码学包括一些基本的加密方法,如凯撒密码、维吉尼亚密码等,而现代密码学则发展出了如DES、3DES、AES等对称加密算法,以及RSA、DH等非对称加密算法。这些加密技术在物联网中扮演着保障数据安全的重要角色。 ...

    陈文灯数学笔记(2)

    4. **数论**:讨论整数的性质、同余理论、素数分布等,这部分内容对于密码学、编码理论等领域具有深远影响。 5. **数学方法**:介绍如何运用数学工具解决实际问题,如微分方程、变分法、泛函分析等,培养学生的数学...

    信安复习(网上的一份笔记,来源不记得了)1

    【网络安全复习笔记】 网络安全,简称信安,是一个涵盖多个领域的复杂话题。基本的网络安全概念包括策略定义、安全机制以及信息的三个核心要素:保密性、完整性和可用性。 1. **策略定义**: 安全策略是为确保...

    MIT 算法导论 课堂笔记

    P=NP问题是计算理论中的核心难题,影响着密码学、编码理论等多个领域。 通过深入学习这本《MIT算法导论》的课堂笔记,你可以系统地掌握算法的精髓,提高解决问题的能力,为未来的编程生涯打下坚实的基础。同时,...

Global site tag (gtag.js) - Google Analytics