【密码学02】密码系统原理及数学背景

上一篇文章【密码学】四大主题简单介绍 一文提到要实现信息传输的保密性、完整性,以及身份鉴别和抗抵赖,使用的技术手段有:

1)       密码技术(加密与解密)。

2)       哈希技术,即散列技术。

3)       随机数。

4)       时间戳。

下面先讨论密码技术。

下图是一个典型的密码系统,展示了密码技术的应用场景:

 

明文:P   密文:C  加密密钥:K1   解密密钥:K2   加密方法:E   解密方法:D

加密与解密的关系可以用公式简洁地表示:

C = EK1(P) 表示用加密密钥K1通过加密方法E对明文P进行加密得到密文C

P = DK2(C) 表示用解密密钥K2通过解密方法D对密文C进行解密得到明文P

DK2(EK1(P)) = P  由上面两个式子可以得到这个式子。

由此可见,实际上,密码算法ED都是数学函数。

 

       关于密码学,有两个基本原则:

1)       消息必须包含一定的冗余度。

2)       必须采取措施对抗重放攻击。

另外,关于密码系统的设计,还有一个原则叫做Kerckhoff原则:

“密码算法必须公开,只有密钥需要保密。”

这个原则体现了一个思想:让入侵者知道密码算法没有关系,所有的秘密都隐藏在密钥中。对密码算法保密是不明智的,因为密码算法的设计很困难,一旦算法原理泄露了,必须得花费大量精力重新设计。但密钥可以随时更换。

每个密码算法,都有其数学背景,依赖某一种数学理论。下面是一些常见密码算法的数学理论依据:

1)    信息论

由香农(Claude Elmwood Shannon)1948年创立的现代信息论为安全的密码系统定义了一个精确的数学模型。

2)    复杂性理论

复杂性理论提供了分析密码算法的“计算复杂性”的方法。它通过对密码算法进行比较,来确定一个密码算法的安全性。密码算法的“计算复杂性”通常用时间复杂度和空间复杂度两个变量来度量。

3)    数论

数论中的模运算、素数、最大公因子、求模逆元、费尔马定理、中国剩余定理、迦罗瓦域理论等等,是很多密码学算法的数学基础。

4)    因子分解

对一个数进行因子分解就是找出它的素数因子。因子分解是数论中最古老的问题,分解一个数很简单,却是一个耗时的过程。一些经典的因子分解算法有:数域筛选法、二次筛选法、椭圆曲线法等。

5)    计算有限域中的离散对数

计算离散对数是数学中公认的难题。计算离散对数与因子分解有紧密关系,如果能解决离散对数问题,就能解决因子分解问题。

 

转载于:https://www.cnblogs.com/hananbaum/archive/2008/12/05/1348004.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值