密码学与网络安全 - 2 数论基础 & 3 传统加密技术

本文介绍了数论的基础知识,包括整除性、带余除法、欧几里得算法、模运算、素数、费马定理和欧拉定理。此外,还探讨了传统的加密技术,如对称密码模型,详细讲解了Caesar密码、单表代替密码、Playfair密码和Hill密码等。内容适合对密码学和网络安全感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2 数论基础

注:本内容部分章节知识罗列了大概目录以及主要概念,仅为本人在阅读相关资料时的随笔,有些地方也并不是很理解,暂且挖坑,等随后再填

2.1 整除性和带余除法

2.1.1 整除性

b|a 表示a处以b没有余数,几个重要的性质如下:

  1. 若 a|1, 则a = ± 1
  2. 若 a|b 且 b|a, 则a = ±b
  3. 任何不等于0的树整除0
  4. 若a|b,b|c, 则a|c
  5. 对于任意整数m,n,若b|g,b|h, 则有 b|(mg + nh)‼️

2.1.2 带余除法

对于任意正整数n, 非负整数a,会有:

a = q*n + r 该式被称为带余除法

另外,a为负数时,上式也是成立的,r 称为剩余数

2.2 欧几里得算法

欧几里得算法是数论中的一个最基本的技巧,能简单求出两个整数的最大公因子

2.2.1 最大公因子

2.2.2 求最大公因子

欧几里德算法实现

func gcd(a, b int) int {
	if a < b {
		a, b = b, a
	}
	for {
		//取余数,若为0,除数就是二者的最大公约数
		c := a % b
		fmt.Println("c:", c)
		if c == 0 {
			break
		} else {
			//除数等于被除数,余数最为除数重新计算余数
			a = b
			b = c
		}
	}
	return b
}

2.3 模运算

2.3.1 模

若 a = q*n + r r为a模n,计作 a mod n,n称为模数

2.3.2 同余的性质

  1. n|(a-b)&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值