导航:首页 > 数字科学 > 密码学研究需要数学什么方面

密码学研究需要数学什么方面

发布时间:2022-11-14 14:57:25

‘壹’ 密码学所需的数学与计算机知道以及其它方面的知识。(越详细越好,答案宁缺勿滥,会追加分的~)

在大学专业课程里,一般意义上的密码学都是指商业民用密码学,需要一定的数论基础和计算机基础;密码学发端于数学史早期,是和数论这一数学王冠上的明珠紧密结合在一起的。要求熟练掌握的数论知识有:同余理论,一元同余方程,平方剩余与一元二次同余方程以及原根与指标等知识。
除上述数论基础之外,密码学还必须掌握传统的密码学基础知识,比如传统密码体制,公钥密码体制和密码学的Shannon理论等。
最为重要的是,当代密码学紧密地与计算机科学技术结合在一起,所以对于随机性概念,序列密码与移位寄存器以及网络安全加密技术、加密算法等知识有较为扎实的掌握。以上材料来源于《武汉大学商用密码学基础》课程教材。

‘贰’ 密码学基础

​ 密码学是研究如何保护信息安全性的一门科学,涉及数学、物理、计算机、信息论、编码学、通讯技术等学科,已经在生活中得到广泛应用。

​ 密码学组成分支分为编码学和密码分析学。密码编码学主要研究对信息进行编码,实现信息的隐蔽。密码分析学主要研究加密消息的破译或消息的伪造。二者相互独立,又相互依存,在矛盾与斗争中发展,对立统一。

​ 密码学的发展历史大致可划分为三个阶段:

机密性

仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,即不能得到报文内容。

鉴别

发送方和接收方都应该能证实通信过程所涉及的另一方, 通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。

报文完整性

即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。

不可否认性

如果人们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。

​ 密码体制是一个使通信双方能进行秘密通信的协议。密码体制由五要素组成,P(Plaintext明文集合),C(Ciphertext密文集合),K(Key密钥集合),E(Encryption加密算法),D(Decryption解密算法),且满足如下特性: 

<script type="math/tex; mode=display" id="MathJax-Element-1"> p ∈ P </script>

<script type="math/tex; mode=display" id="MathJax-Element-2"> c ∈ C </script>

<script type="math/tex; mode=display" id="MathJax-Element-3"> k1 ∈ K, k2 ∈ K </script>

<script type="math/tex; mode=display" id="MathJax-Element-6"> E_{k1}(p) = c,D_{k2}(c) = p </script>

​ 无论是用手工或机械完成的古典密码体制,还是采用计算机软件方式或电子电路的硬件方式完成的现代密码体制,其加解密基本原理都是一致的。都是基于对明文信息的替代或置换,或者是通过两者的结合运用完成的。

​ 替代(substitution cipher):有系统地将一组字母换成其他字母或符号;

​ 例如‘help me’变成‘ifmq nf’(每个字母用下一个字母取代)。

​ 置换(Transposition cipher):不改变字母,将字母顺序重新排列;

​ 例如‘help me’变成‘ehpl em’(两两调换位置)。

​ 密码分析者通常利用以下几种方法对密码体制进行攻击:

​ 已知明文分析法: 

知道一部分明文和其对应的密文,分析发现秘钥。

​ 选定明文分析法: 

设法让对手加密自己选定的一段明文,并获得对应的密文,在此基础上分析发现密钥。

​ 差别比较分析法: 

设法让对方加密一组差别细微的明文,通过比较他们加密后的结果来分析秘钥。

​ 无条件安全: 

无论破译者的计算能力有多强,无论截获多少密文,都无法破译明文。

​ 计算上安全:

​ 破译的代价超出信息本身的价值,破译所需的时间超出信息的有效期。

​ 任何密码系统的应用都需要在安全性和运行效率之间做出平衡,密码算法只要达到计算安全要求就具备了实用条件,并不需要实现理论上的绝对安全。1945年美国数学家克劳德·E·香农在其发布的《密码学的数学原理》中,严谨地证明了一次性密码本或者称为“弗纳姆密码”(Vernam)具有无条件安全性。但这种绝对安全的加密方式在实际操作中需要消耗大量资源,不具备大规模使用的可行性。事实上,当前得到广泛应用的密码系统都只具有计算安全性。

​ 一个好的密码体制应该满足以下两个条件:

在已知明文和密钥的情况下,根据加密算法计算密文是容易的;在已知密文和解密密钥的情况下,计算明文是容易的。

在不知道解密密钥的情况下,无法从密文计算出明文,或者从密文计算出明文的代价超出了信息本身的价值。

常见的密码算法包括:

​ 对称密码体制也称单钥或私钥密码体制,其加密密钥和解密密钥相同,或实质上等同, 即从一个易于推出另一个。

​ 优点:保密性高,加密速度快,适合加密大量数据,易于通过硬件实现; 

缺点:秘钥必须通过安全可靠的途径传输,秘钥的分发是保证安全的关键因素;

​ 常见对称密码算法:DES (密钥长度=56位)、3DES( 三个不同的密钥,每个长度56位)、AES(密钥长度128/192/256可选)、IDEA(密钥长度128位)、RC5(密钥长度可变)。

​ 根据加密方式的不同,对称密码又可以分为分组密码和序列密码。

​ 将明文分为固定长度的组,用同一秘钥和算法对每一块加密,输出也是固定长度的密文,解密过程也一样。

​ 又称为流密码,每次加密一位或一字节的明文,通过伪随机数发生器产生性能优良的伪随机序列(密钥流),用该序列加密明文消息序列,得到密文序列,解密过程也一样。

​ 非对称密码体制又称双钥或公钥密码体制,其加密密钥和解密密钥不同,从一个很难推出另一个。其中的加密密钥可以公开,称为公开密钥,简称公钥;解密密钥必须保密,称为私有密钥,简称私钥。

​ 优点:密钥交换可通过公开信道进行,无需保密。既可用于加密也可用于签名。 

缺点:加密速度不如对称密码,不适合大量数据加密,加密操作难以通过硬件实现。

​ 非对称密码体制不但赋予了通信的保密性,还提供了消息的认证性,无需实现交换秘钥就可通过不安全信道安全地传递信息,简化了密钥管理的工作量,适应了通信网的需要,为保密学技术应用于商业领域开辟了广阔的前景。

​ 常见的非对称密码算法:RSA(基于大整数质因子分解难题)、ECC(基于椭圆曲线离散对数难题)。

对非对称密码的误解 

非对称密码比对称密码更安全? 

任何一种算法的安全都依赖于秘钥的长度、破译密码的工作量,从抗分析的角度看,没有哪一方更优越;

​ 非对称密码使对称密码成为过时技术? 

公钥算法很慢,一般用于密钥管理和数字签名,对称密码将长期存在,实际工程中采用对称密码与非对称密码相结合。

​ 哈希函数将任意长的消息映射为一个固定长度的散列值,也称消息摘要。消息摘要可以作为认证符,完成消息认证。 

哈希是单向函数,从消息摘要来推理原消息是极为困难的。哈希函数的安全性是由发生碰撞的概率决定的。如果攻击者能轻易构造出两个不同的消息具有相同的消息摘要,那么这样的哈希函数是不可靠的。

​ 常见的哈希函数有:MD5,SHA1,HMAC。

​ 数字签名是公钥密码的典型应用,可以提供和现实中亲笔签名相似的效果,在技术上和法律上都有保证。是网络环境中提供消息完整性,确认身份,保证消息来源(抗抵赖性)的重要技术。

​ 数字签名与验证过程:

​ 发送方用哈希函数从报文文本中生成一个128位的散列值(或报文摘要),发送方用自己的私钥对这个散列值进行加密来形成自己的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给接收方。接收方收到报文后,用同样的哈希函数从原始报文中计算出散列值(或报文摘要),接着再用发送方的公钥来对报文附加的数字签名进行解密得出另一个散列值,如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现消息的完整性和不可抵赖性。 

​ 在网络安全中,密钥的地位举足轻重

。如何安全可靠、迅速高效地分配密钥、管理密钥一直是密码学领域中的重要问题。

​ 密钥生成可以通过在线或离线的交互协商方式实现,如密码协议等 。密钥长度应该足够长。一般来说,密钥长度越大,对应的密钥空间就越大,攻击者使用穷举猜测密码的难度就越大。选择密钥时,应该避免选择弱密钥,大部分密钥生成算法采用随机过程或伪随机过程生成密钥。

​ 采用对称加密算法进行保密通信,需要共享同一密钥。通常是系统中的一个成员先选择一个秘密密钥,然后将它传送另一个成员或别的成员。X9.17标准描述了两种密钥:密钥加密密钥和数据密钥。密钥加密密钥加密其它需要分发的密钥;而数据密钥只对信息流进行加密。密钥加密密钥一般通过手工分发。为增强保密性,也可以将密钥分成许多不同的部分然后用不同的信道发送出去。

​ 密钥附着一些检错和纠错位来传输,当密钥在传输中发生错误时,能很容易地被检查出来,并且如果需要,密钥可被重传。接收端也可以验证接收的密钥是否正确。发送方用密钥加密一个常量,然后把密文的前2-4字节与密钥一起发送。在接收端,做同样的工作,如果接收端解密后的常数能与发端常数匹配,则传输无错。

​ 当密钥需要频繁的改变时,频繁进行新的密钥分发的确是困难的事,一种更容易的解决办法是从旧的密钥中产生新的密钥,有时称为密钥更新。可以使用单向函数进行更新密钥。如果双方共享同一密钥,并用同一个单向函数进行操作,就会得到相同的结果。

​ 密钥可以存储在脑子、磁条卡、智能卡中。也可以把密钥平分成两部分,一半存入终端一半存入ROM密钥。还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。

​ 密钥的备份可以采用密钥托管、秘密分割、秘密共享等方式。

​ 密钥托管:

​ 密钥托管要求所有用户将自己的密钥交给密钥托管中心,由密钥托管中心备份保管密钥(如锁在某个地方的保险柜里或用主密钥对它们进行加密保存),一旦用户的密钥丢失(如用户遗忘了密钥或用户意外死亡),按照一定的规章制度,可从密钥托管中心索取该用户的密钥。另一个备份方案是用智能卡作为临时密钥托管。如Alice把密钥存入智能卡,当Alice不在时就把它交给Bob,Bob可以利用该卡进行Alice的工作,当Alice回来后,Bob交还该卡,由于密钥存放在卡中,所以Bob不知道密钥是什么。

​ 秘密分割:

​ 秘密分割把秘密分割成许多碎片,每一片本身并不代表什么,但把这些碎片放到一块,秘密就会重现出来。

​ 秘密共享:

​ 将密钥K分成n块,每部分叫做它的“影子”,知道任意m个或更多的块就能够计算出密钥K,知道任意m-1个或更少的块都不能够计算出密钥K。秘密共享解决了两个问题:一是若密钥偶然或有意地被暴露,整个系统就易受攻击;二是若密钥丢失或损坏,系统中的所有信息就不能用了。

​ 加密密钥不能无限期使用,有以下有几个原因:密钥使用时间越长,它泄露的机会就越大;如果密钥已泄露,那么密钥使用越久,损失就越大;密钥使用越久,人们花费精力破译它的诱惑力就越大——甚至采用穷举攻击法。

​ 不同密钥应有不同有效期。数据密钥的有效期主要依赖数据的价值和给定时间里加密数据的数量。价值与数据传送率越大所用的密钥更换越频繁。如密钥加密密钥无需频繁更换,因为它们只是偶尔地用作密钥交换,密钥加密密钥要么被记忆下来,要么保存在一个安全地点,丢失该密钥意味着丢失所有的文件加密密钥。

​ 公开密钥密码应用中的私钥的有效期是根据应用的不同而变化的。用作数字签名和身份识别的私钥必须持续数年(甚至终身),用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身,两年更换一次密钥也是要考虑的。旧密钥仍需保密,以防用户需要验证从前的签名。但是新密钥将用作新文件签名,以减少密码分析者所能攻击的签名文件数目。

​ 如果密钥必须替换,旧钥就必须销毁,密钥必须物理地销毁。

​ PKI是一个利用公钥加密技术为密钥和证书的管理,所设计的组件、功能子系统、操作规程等的集合,它的主要任务是管理密钥和证书,为网络用户建立安全通信信任机制。

​ 数字证书是一个包含用户身份信息、公钥信息、证书认证中心(CA)数字签名的文件。

​ 作用:数字证书是各类终端实体和最终用户在网上进行信息交流及商业活动的身份证明,在电子交易的各个缓解,交易的各方都需要验证对方数字证书的有效性,从而解决相互间的信任问题。

​ CA全称Certificate Authentication,是具备权威性的数字证书申请及签发机构。

​ CA作为PKI的核心部分,主要由注册服务器组、证书申请受理和审核机构、认证中心服务器三者组成。

​ 注册服务器:通过 Web Server 建立的站点,可为客户提供24×7 不间断的服务。客户在网上提出证书申请和填写相应的证书申请表。

​ 证书申请受理和审核机构:负责证书的申请和审核。

认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。

​ 通过CA可以实现以下功能:

​ 1. 接收验证最终用户数字证书的申请; 

2. 确定是否接受最终用户数字证书的申请和审批; 

3. 向申请者颁发、拒绝颁发数字证书; 

4. 接收、处理最终用户数字证书的更新; 

5. 接受最终用户数字证书的查询、撤销; 

6. 产生和发布CRL(证书废止列表); 

7. 数字证书的归档; 

8. 密钥归档; 

9. 历史数据归档;

五、量子密码

5.1 量子计算

​ 由于量子计算技术取得了出人意料的快速发展,大量仅能抵御经典计算机暴力破解的密码算法面临被提前淘汰的困境 。

​ 非对称密码系统有效解决了对称密码面临的安全密钥交换问题,因而广泛应用于公钥基础设施、数字签名、联合授权、公共信道密钥交换、安全电子邮件、虚拟专用网以及安全套接层等大量网络通信活动之中。不幸的是,随着量子计算的发展,包括RSA密码、ECC密码以及DH密钥交换技术等非对称密码算法已经从理论上被证明彻底丧失了安全性。相对于对称密码系统还可以采取升级措施应对量子威胁,非对称密码系统必须采取全新方法进行重建 。

5.2 量子密码

​ 量子密码是以量子力学和密码学为基础,利用量子物理学中的原理实现密码体制的一种新型密码体制,与当前大多使用的经典密码体制不一样的是,量子密码利用信息载体的物理属性实现。目前量子密码用于承载信息的载体包括光子、压缩态光信号、相干态光信号等。

​ 由于量子密码体制的理论基础是量子物理定理,而物理定理是物理学家经过多年的研究与论证得出的结论,有可靠的理论依据,且不论在何时都是不会改变的,因此,理论上,依赖于这些物理定理的量子密码也是不可攻破的,量子密码体制是一种无条件安全的密码体制。

‘叁’ 对密码学感兴趣怎么入门数学要什么基础百度知道

建议你先系统地学习一下计算机原理和预备数学知识

只是入门的话建议你先了解一下当前信息安全的重要事件、几大加密算法的基本原理
下面这些先行学科是必须的数学基础:高等数学、线性代数、概率论、离散数学
计算机基础包括C语言、算法与数据结构、计算机组成原理等,可以辅修
密码学核心课程包括信息安全数学基础、密码学引论、软件安全等
要全面了解上面的基础内容是一个漫长的过程,但只有打好这些基础你才能真正深入理解后面的内容。密码学要求很高的数学和逻辑能力,不是仅仅靠兴趣就能够精通的,不能三天打鱼两天晒网。
密码学的核心数学知识:同余、群论、矩阵、哈希

‘肆’ 学习应用数学专业密码学方向需要的数学知识

应用数学最基础的课程:数学分析,线性代数,微分方程

密码学解释:密码学是研究编制密码和破译密码的技术科学
密码学基础:高等代数
密码学提升方向:代数数论(包括iwasawa theory)

书籍有:《应用密码学基础》,《现代密码学》等

‘伍’ 传统密码学的理论基础是什么

1,传统密码学的理论基础是数学。密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学。

2,密码学是一门关于加密的艺术和科学。

5,每个安全系统的安全性都取决于它最脆弱的部分。
6,为了提高系统的安全性,我们需要提高系统最脆弱地方的安全性,所以我们必须先知道那些是最脆弱的。

‘陆’ 信息安全密码学主要需掌握哪些学科或知识

信息安全和密码学是两个专业。。
不过对于两个专业最主要的都是数学。
可以说,数学就是信息学或者密码学的基础之基础。
现在的有效加密都是依赖于梅森大素数。
其他的什么就比较普通了。。什么算法,数据结构,编程基础,等等的。这些也都是依赖于数学的。如果数学不好,可以不用考虑这个专业了。

‘柒’ 密码学需要掌握的课程

第一,学数论,如果密码学的教材里没有的话。密码学的很多东西都要涉及到数论,但数论不是那么好学的。另外,把大学数学的教材翻出来,复习一下向量和矩阵,在后面的算法可能会用到。至于其他知识,比如计算机的知识要求较少,密码学偏向于数学,虽然计算机和数学两方面都涉及到,除了恼火一点的SHA-1算法(现在我还没读懂是怎么回事,计算机知识涉及得太多了)。

如果你想用计算机来实现密码学算法,你首先要有强大的运算软件。这些运算软件不都是免费的,比如Mathematica, Maple, Matlab,这些都是相当昂贵的商业软件。而且如果你想开发出能普及的密码学软件,你得自己编写这些运算方法,要不然你就是他们公司的免工资推销员。

推荐你用Mathematica,因为我在使用。Mathematica支持和多种语言的连接(Mathlink),特别是.net(NETLink),做到了方便易行而又强大(实际上它本身就是一门语言)。

密码学分两种,如果你是业余学习,那你只用掌握加密与解密。如果你要专业点,那破译就是必要的。现在世界上的加密软件很多,许多游戏都有加密的内置功能,但是破译软件就没那么几个,由此可见学破译的难度。

最后,密码学需要耐心。如果你有耐心把数论的一关攻克下来,那学习密码学就不成问题。

‘捌’ 怎样学习密码学

我现在硕博连读的方向就是密码学,想想都是泪啊。精通密码学是不可能,因为是学不完的。密码学总体上可以分为密码编码学和密码分析学(也就是破解)。这两门需要的基础都一样,主要是数论和近世代数。但我不建议题主一开始就学这两门课。题主可以先弄本,密码学的书,搞懂里面各种算法。接下来就可以边看算法边看数论近世代数,这是探讨它们的数学原理。然后是学一门编程语言,尝试实现每一种算法,以及更有效率的实现方法。实际上就是密码学的理论方向和工程方向,理论方向主要就是数学,数论近世代数还有很多世界难题呢,工程方向也要学数学,不过不要以为懂算了你就能写出来,就像你知道S盒的设计是为了扩散和混沌,但是你知道S盒为什么要设计成那几个数据呢,没几个人懂的。密码破解也不是所谓的网上的破解,这里的破解是原理上的破解,主要是数学上的破解,比如王小云教授用比特追踪法破解了SHA,这不是暴力破解能做到的。所以学密码学最重要的坚持和兴趣,而且密码学有可能你研究一辈子也破解不了一个算法,所以你做好准备了么?如果是高中基础,先学高数、概率论数理统计、离散数学(最好啃掉形式语言与自动机和计算复杂性理论,否则后面肯定得补),最好会写点代码(Matlab也行,SAGE也行),然后啃密码学入门书籍,到能看懂会议文章的程度怎么地也得2年(每天6-8小时学习)。能做出点自己的东西,呃,通常得积累到等同于信息安全相关专业的硕士毕业的程度,时间因个人才能而定。从工科大三的基础开始算的话,半年啃完Introction to Cryptography, 再花半年到一年啃完诸如Zero-Knowledge-Proof, BR-Model,IBE的东西的话,就能看懂不少新的成果和经典的文章了。接下来得接触Cryptanalysis的东西,这时候,就必须补初等数论(包括椭圆曲线)、群论,否则针对加密算法的数学攻击那看得是一头雾水。

‘玖’ 请问看懂密码学需要有那些基础知识做准备

密码学主要是以组合数学,概率论,高等代数和数论做基础的,在学习之前应该对这四门学科有所了解,同时也要学一点一元微积分的基本知识。

‘拾’ 我是数学专业硕士,想自学密码学,不知需要哪些基础,请相关专业人士赐教,谢谢

既然是学数学的密码学应该比较容易上手,需要一些计算机基础,一开始可以先了解一些常见的密码学原理,比如柯克霍夫原则之类的。
如果是研究的话,恐怕要多研究一些加密解密的算法,不知道你学过离散数学没有,如果没有就先看看离散。然后就研究些经典的算法如md5,des等等。
只要多见识一些算法,这方面自然会成为大神的,祝你成功

阅读全文

与密码学研究需要数学什么方面相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:740
乙酸乙酯化学式怎么算 浏览:1406
沈阳初中的数学是什么版本的 浏览:1353
华为手机家人共享如何查看地理位置 浏览:1045
一氧化碳还原氧化铝化学方程式怎么配平 浏览:886
数学c什么意思是什么意思是什么 浏览:1411
中考初中地理如何补 浏览:1300
360浏览器历史在哪里下载迅雷下载 浏览:703
数学奥数卡怎么办 浏览:1388
如何回答地理是什么 浏览:1025
win7如何删除电脑文件浏览历史 浏览:1058
大学物理实验干什么用的到 浏览:1487
二年级上册数学框框怎么填 浏览:1701
西安瑞禧生物科技有限公司怎么样 浏览:974
武大的分析化学怎么样 浏览:1250
ige电化学发光偏高怎么办 浏览:1339
学而思初中英语和语文怎么样 浏览:1651
下列哪个水飞蓟素化学结构 浏览:1425
化学理学哪些专业好 浏览:1488
数学中的棱的意思是什么 浏览:1059