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

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  由上面两个式子可以得到这个式子。

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

 

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

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

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

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

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

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

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

1)    信息论

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

2)    复杂性理论

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

3)    数论

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

4)    因子分解

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

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

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

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

【密码学02】密码系统原理及数学背景相关推荐

  1. 一起来读书361- 应用密码学:第十一章 数学背景

    摘要 密码学的数学背景 详情 知识点 1.信息量(amount of information):假设信息是等可能的,对消息中所有可能的值进行编码所需要的最小位数 2.语言信息率(rate of lan ...

  2. Applied Cryptography:chapter 11 数学背景

    数学背景 11.1 信息理论 1)熵与不确定性 信息理论里面定义了:信息量这个概念.一个信息有多少种可能,在计算机中都有一定长度的数据来表示,例如一周的天数.                周一.周二 ...

  3. 现代密码学 | 02:流密码——1

    现代密码学_电子科技大学_中国大学MOOC(慕课) 计算机网络安全原理_吴礼发.洪征编著_电子工业出版社出版_ISBN:9787121387272 现代密码学_杨波_清华大学出版社_ISBN:9787 ...

  4. 现代密码学 | 02:流密码——2

    现代密码学_电子科技大学_中国大学MOOC(慕课) 计算机网络安全原理_吴礼发.洪征编著_电子工业出版社出版_ISBN:9787121387272 现代密码学_杨波_清华大学出版社_ISBN:9787 ...

  5. centeros7网络服务无法启动_Linux网络服务02——DHCP原理与配置

    Linux网络服务02--DHCP原理与配置 一.DHCP服务概述 1.DHCP(Dynamic Host Configuration Protocol)动态主机配置协议 DHCP是由Internet ...

  6. HDU 5869 Different GCD Subarray Query 树状数组 + 一些数学背景

    http://acm.hdu.edu.cn/showproblem.php?pid=5869 题意:给定一个数组,然后给出若干个询问,询问[L, R]中,有多少个子数组的gcd是不同的. 就是[L, ...

  7. HDU 1808 Halloween treats (鸽巢原理)(数学)

    HDU 1808 Halloween treats (鸽巢原理)(数学) 原题:http://acm.hdu.edu.cn/showproblem.php?pid=1808 题意:给定c,给n个数,且 ...

  8. LCP 02. 分式化简-数学推导

    LCP 02. 分式化简-数学推导 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系 ...

  9. 抽屉远离在计算机的应用,抽屉原理在数学竞赛中的应用.doc

    文档介绍: 目录1.引言 1抽屉原理的基本形式与构造 12.1基本原理 12.2基本推论 22.3基本构造 2抽屉原理的应用 23.1在几何中的应用,分割图形制造抽屉 33.2用整数性质构造抽屉 43 ...

最新文章

  1. HMM——维特比算法(Viterbi algorithm)
  2. latex如何清除表格table的浮动位置(表格自动上移)
  3. ThinkPHP V5.0.5漏洞_漏洞考古:thiknphp5 代码执行漏洞
  4. ACM新手之八大输入输出格式
  5. python工资津贴的计算和排序-python sort、sorted高级排序技巧
  6. final类是否可以被代理_设计模式——代理模式
  7. listview滚动到底部
  8. win10虚拟内存怎么设置最好_淘宝直通车时间段怎么设置?哪个时间段开最好?...
  9. C#-interface
  10. PostgreSQL 视图、子查询
  11. ActionScript 3.0 API 中的 Video 类
  12. mac下,vagrant桥接,选择“en0: 以太网”无法启动虚拟机解决方案
  13. 15.看板方法---启动看板变革
  14. 使用elastic job 不分片任务加载失败的可能原因
  15. 基于nao机器人实现语音对话(智能版本)
  16. python打卡记录去重_Pandas 数据筛选,去重结合group by
  17. java 调用odi_[转]ODI定时任务
  18. 漫谈数据保护和个人信息加密
  19. 论文写作 计算机类顶会顶刊,及论文发表指导
  20. esp32对接阿里云生活物联网平台 天猫精灵控制 云智能APP远程控制 ali-sdk开发

热门文章

  1. 爬虫好学吗python-python爬虫难学吗
  2. 以下选项不是python打开方式的是-模拟试卷 A
  3. python turtle画气球-如何用python的装饰器定义一个像C++一样的强
  4. python3.7安装numpy模块-CENTOS7 Python3.7安装numpy
  5. python一个月能学成嘛-0基础学Python,1个月写爬虫,走了哪些弯路?
  6. python电脑配置要求-Python--获取电脑配置信息--设计代码
  7. python处理excel教程实例-Python玩转Excel的读写改实例
  8. 以下哪个不是python中的关键字-以下哪个选项不是Python语言的保留字
  9. python代码大全p-21行Python代码实现拼写检查器
  10. python培训班价格-北京Python班