密码学怎么学 感觉很难学

作者&投稿:左倩 (若有异议请与网页底部的电邮联系)
想学习密码学,该怎么开始学?~

先去图书馆借几本,了解一下密码的起源,和发展,了解一下密码的种类

密码学的数学基础有:组合数学,数论,近世代数,代数几何,信息论,统计学
控制论的数学基础有:线性代数,实变函数,矩阵分析
应该是密码学更难

需要找本好书看,数学基础当然不能少

推荐《密码学引论》by 冯登国,裴定一
如果是英文教材先看《Handbook of Applied Cryptography》by A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996.

都是好书,入门很好!

1、至少有一对生日相同的概率即为1-C(365,n)/365^n。可以使用Excel公式计算如下【=1-PERMUT(365,A2)/365^A2】:当人数为1时,很显然概率为0;当人数为23时,概率已经达到50%;当人数达到50时,概率已达到97%;当人数为100时,概率已经接近100%。

2、确保消息的机密性,同时减少通讯量,可以先压缩后加密

3、数字证书(Digital Certificate) 证书是对公钥生成的数字签名

4、任何散列函数,其散列值发生碰撞是不可避免的

5、SHA-1已经不再视为可抵御有充足资金、充足计算资源的攻击者。2005年,密码分析人员发现了对SHA-1的有效攻击方法,这表明该算法可能不够安全,不能继续使用,自2010年以来,许多组织建议用SHA-2或SHA-3来替换SHA-1。

6、中间人攻击:对数字签名的中间人攻击,具体来说就是主动攻击者Mallory介入发送者和接收者的中间,对发送者伪装成接受者,对接收者伪装成发送者,从而能够在无需破解数字签名算法的前提下完成攻击。

7、取模运算 

8、异或求密钥:

secrettext='08181b17061e'

plaintext="attack"

secret=[]

plain=[]

key=[]

answer=''

for j in plaintext:

plain.append(hex(ord(j)))

for i in range(0,len(secrettext),2):

sl=(str('0x'+secrettext[i]+secrettext[i+1]))

s=int(sl.upper(),16)

secret.append(sl)

for n in range(len(plain)):

key.append(hex(int(secret[n],16)^int(plain[n],16)))

print(key)

print([chr(int(m,16)).upper() for m in key])

9、网页链接HMAC计算 

10、网页链接DES加解密

11、网页链接二进制转文本(注:开头要多加一个0)

12、网页链接进制转换网站

13、异或代码:

def dec2bin(dec):

result = ''

if dec:

result = dec2bin(dec // 2)


return result + str(dec % 2)

else:

return result

def xor(x, y):

return int(x, 2) ^ int(y, 2)

x = xor('011000010111010001110100011000010110001101101011','000010000001100000011011000101110000011000011110')

print(dec2bin(x))

#第1章#

古典密码概述:

密码学


๏ Cryptography  密码编码学 ๏ Cryptology       密码学 ๏ Cryptologist     密码学家

明文和密文


๏             明⽂:plaintext(message)

๏             未被加密的消息。

๏             密⽂:ciphertext

๏             经过某种⽅法伪装后的消息。

加密和解密


๏             加密:encryption

๏             将明⽂转换成密⽂的⽅法及过程

๏             解密:decryption

๏             将密⽂还原出明⽂的⽅法及过程


算法


๏             密码算法(Algorithm):⽤于加密E() 和解密D()的数学函数。

๏             加密过程:E(m) ➝ c

๏             解密过程:D(c)  ➝ m

算法是否要保密


๏ 如果算法的安全性是依赖于保持该算法的秘密,这种算法被称为“受限算法”

๏ 这种保密机制有很严重的缺陷,即使⽬前还有不少⼩企业和组织在采⽤这种机制。

密钥


๏             密钥(Key):是⼀串任意的数值。加密和解密时都要使⽤密钥作为参数参与运算。

๏             加密过程:Ek(m) ➝ c

๏             解密过程:Dk(c)  ➝ m

柯克霍夫原则(1883)


๏         柯克霍夫原则(Kerckhoffs's principle):即使密码系统的任何细节已为⼈悉知,只要密钥未泄漏,它也应是安全的。

๏         即使⾮数学上不可破解,系统也应在实质程度上⽆法破解。

๏         系统内不应含任何机密物,即使落⼊敌⼈⼿中也不会造成困扰。

๏         密钥必须易于沟通和记忆,⽽不须写下。

๏         系统应可以⽤于电讯。

๏         系统应可以携带,不应需要两个⼈或以上才能使⽤。

๏         系统应容易使⽤,不致让⽤户的脑⼒过分操劳。

密码系统


评估密码系统


๏ 正确性

Dk(Ek(m)) = m

๏ 安全性

密⽂中⽆法看到明⽂或密钥

密码技术


对称和非对称密码算法


๏             对称密码算法

๏             加解密函数所需密钥要完全⼀样

๏             ⾮对称密码算法

๏             加密所需的密钥与⽤作解密的密钥不⼀样

๏             解密密钥也不能通过加密密钥计算出来

๏             密码算法保证的是机密性

单向散列函数


๏ ⽤单向散列函数计算出来的数值称为散列值

๏ 散列函数保证的是完整性:即数据是正牌的⽽不是伪造(或被篡改过)的。

消息认证码


๏ 消息认证码(Message Authentication Code)

๏               不但能够确认消息是否被篡改,⽽且能够确认消息是否来⾃所期待的通信对象

๏               除了完整性,它还提供认证机制

数字签名


๏            Bob收到⼀封来⾃Alice的邮件,内容是“以

100万元的价格购买⼀件商品”

๏            伪装

๏            篡改

๏            否认

๏            能够防⽌上述风险的技术:数字签名

(Digital Signature)

๏            保证完整性、提供认证以及抗抵赖

伪随机数


๏             伪随机数(Pseudo Random Number) ๏ PRN Generator:伪随机数⽣成器

๏             承担着密钥⽣成的重要职责

密码学家的工具箱   

 消息认证码

单向散列函数

抗抵赖

数字签名

隐写术与数字水印


๏ 隐写术:Steganography

๏ ⽬的不是让消息内容不可读,⽽是能够隐藏消息本⾝我们先准备⼀段话,很容易看懂的就好,喜闻乐见的当然更好。

欢迎你尝试将另⼀句嵌⼊其中,你就会发现这就是⼀种隐写术。

密码与信息安全常识


๏ 不要使⽤保密的密码算法 ๏ 使⽤低强度的密码⽐不进⾏任何加密更危险 ๏ 任何密码总有⼀天都会被破解 ๏ 密码只是信息安全的⼀部分

古典密码


代替密码系统


๏             明⽂中每⼀个字符被替换成另⼀个字符。

๏             简单代替:凯撒密码

๏             多名码代替:Duchy Mantua, 1401

๏             多字母代替:Playfair(1854,WWI)

๏             多表代替:维吉尼亚密码

凯撒密码



一个例子


๏ 码表

ABCDEFGHIJKLMNOPQRSTUVWXYZ

XYZABCDEFGHIJKLMNOPQRSTUVW

๏             明⽂

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

๏             密⽂

QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD

数学描述


我们把26个字母按顺序编号A=0, B=1,……,x 记为要加密的字母,n则为码表字母所对应的数字。

En(x) = (x+n) mod 26 Dn(x) = (x-n) mod 26

维吉尼亚密码


转轮机

(Hebern rotor machine,1908)



恩尼格玛Enigma

๏恩尼格玛是对⼆战时期纳粹德国使⽤的⼀系列相似的转⼦机械加解密机器的统称,它包括了许多不同的型号,为密码学对称加密算法的流加密。

๏恩尼格玛密码机在1920年代早期开始被⽤于商业,⼀些国家的军队与政府也曾使⽤过它,其中的主要使⽤者是第⼆次世界⼤战时的纳粹德国。

๏       1932年,波兰密码学家马⾥安·雷耶夫斯基、杰尔兹·罗佐基和亨⾥克· 佐加尔斯基根据恩尼格玛机的原理破译了它。

๏       1939年中期,波兰政府将此破译⽅法告知了英国和法国,但直到

1941年英国海军捕获德国U-110潜艇,得到密码机和密码本才成功破译。密码的破译使得纳粹海军对英美商船补给船的⼤量攻击失效。

异或操作


๏ 异或是⼀种逻辑运算,记为XOR或⊕ ๏ 运算规则


๏               ⽐特相同结果为0

๏               ⽐特相异结果为1

๏               XOR可以⽤作加密和解密函数

练习


                  0100 0011 0111

                 1011 1010 0100  ⊕                  1111 1001 0011

用异或来加解密


๏ 记M为明⽂,K为密钥,C为密⽂若E和D均为XOR操作,则有:

EK(M) = M ⊕ K = C

DK(C) = C ⊕ K = M

๏ 证明

DK(C)=DK(EK(M))= M ⊕ K ⊕ K

   = M ⊕ 0 = M

异或的其他应用


๏ RAID冗余磁盘阵列

๏               我们可以⽤3块磁盘来组成⼀个阵列,其中A和B分别存储1个字节的前4⽐特和后4

⽐特,C盘⽤来存储A和B的异或值。

๏               当任何⼀块盘损坏时,可以通过将其他两块盘数据按位异或运算即可恢复出数据。

One Time Pad


๏ OPT:⼀次⼀密乱码本

๏               每个密钥仅对⼀个消息使⽤⼀次。

๏               发送者和接收者使⽤同样的乱码本,依次使⽤乱码本上的每个密钥加解密字符。

๏               与代替密码不同的是,该⽅法使⽤的密钥序列是⽆迹可循的(即每个密钥序列出现的概率是均等的)



离散概率


概率分布


๏ U是⼀个有限集合,如 U ={0,1}n ๏ P在集合U上的概率分布记作:

P : U ! [0,1]  U集合中每个元素的出现概率不⼀定相同,但所有元素 出现概率之和⼀定等于1.

均匀分布



๏ 均匀分布是指U中的所有元素中出现的概率是相同的。

事件Event



๏称A为⼀个事件,Pr[A]为事件概率 ๏ U是全集,该事件的概率Pr[U]=1 ๏ A是U的⼦集,Pr[A]介于0和1之间

例子


if           U ={0,1}8

A = {all x in U such that lsb2(x) = 11}✓ U

then Pr[A] =?

๏               lsb2(x):x的最低2位⽐特

๏               答案:1/4

联合边界


for events A1 and A2

Pr[A1[A2] ? Pr[A1] + Pr[A2]

๏ A1和A2是两个事件(U的⼦集) ๏ 答案:

when A1\A2 = ?

Pr[A1[A2] = Pr[A1] + Pr[A2]

例子


if           U ={0,1}8

A1 = {all x in U such that lsb2(x) = 11}✓ U

A2 = {all x in U such that msb2(x) = 11}✓ U

then Pr[A1[A2]

๏               lsb2(x):x的最低2位⽐特

๏               msb2(x):x的最⾼2位⽐特

๏               答案:≤ 1/2

随机变量


๏ 随机变量X是⼀个函数  X:U→V U是其定义域,V是其值域假设在{0,1}n→{0,1}上有⼀个随机变量

X(i) = lsb(i) ( i⊆{0,1}n )

则Pr[X=0] = ?           Pr[X=1] = ?

๏ 答案:都是1/2

均匀随机变量


๏ 若r是U集合上的⼀个均匀随机变量,则有

for all a

记作: r R U

例子


๏             r是{0,1}2上的均匀随机变量 r1是r的第1位,r1是r的第2位另⼀个随机变量X = r1 + r2

则 P[X=2] = ?

๏             答案:1/4

随机化算法


๏             确定性算法A:y ⟵A(m)

                                                                                                                               输⼊                                              输出

๏             随机化算法A:

y ⟵A(m, r)  其中 r ⟵R {0,1}n 输出y是⼀个随机变量,即

y ⟵R A(m, r)

加密算法


m∈M, k∈K, c∈C

E(k, m) 是⼀个随机化算法 M×K→C 输出c是⼀个随机变量 ๏ 明⽂空间M ๏ 密⽂空间C ๏ 密钥空间K



#第2章#    流密码

应用密码学

Applied Cryptography

主讲:杨⼀涛


第2章 流密码


异或操作


๏                 异或是⼀种逻辑运算,记为XOR或⊕

๏                 运算规则

๏                 ⽐特相同结果为0

๏                 ⽐特相异结果为1

๏                 XOR可以⽤作加密和解密函数


用异或来加解密

EK(M) = M ⊕ K = C

DK(C) = C ⊕ K = M

๏                证明

DK(C)=DK(EK(M))= M ⊕ K ⊕ K

   = M ⊕ 0 = M

异或的其他应用


๏                 RAID冗余磁盘阵列

๏                 我们可以⽤3块磁盘来组成⼀个阵列,其中A和B分别存储1个字节的前4⽐特和后4

⽐特,C盘⽤来存储A和B的异或值。

๏                 当任何⼀块盘损坏时,可以通过将其他两块盘数据按位异或运算即可恢复出数据。

One Time Pad


๏                 OPT:⼀次⼀密乱码本

๏                 每个密钥仅对⼀个消息使⽤⼀次。

๏                 发送者和接收者使⽤同样的乱码本,依次使⽤乱码本上的每个密钥加解密字符。

๏                 与代替密码不同的是,该⽅法使⽤的密钥序列是⽆迹可循的(即每个密钥序列出现的概率是均等的)

密码算法


๏                ⼀个密码系统(cihper)是定义在三元组

(M, K, C)上的⼀对算法(E, D)

E: M×K→C D: C×K→M

8m 2 M,k 2 K

D(k,E(k,m)) = m

๏                E应该是随机化算法,D总是确定性算法

The One Time Pad


๏ 定义

(K, M, C)= {0,1}n

 k 是K的⼀个均匀随机变量(如何产⽣?),且长度和明⽂m相等

c = E(k, m)  = k ⨁ m

D(k, c) = k ⨁ c

完全保密性


A cipher(E,D) over (K,M,C) has perfect secrecy if

                                                     8m0,m1 2 M  (len(m0) = len(m1)) 8c 2 C

Pr[E(k,m0) = c] = Pr[E(k,m1) = c] where k                                   

 ๏ Perfect Secrecy by Shannon in 1949(video)

OTP具备完全保密性

Pr[E(k,m) = c] = How many keys in K: E(k,m)=c|K|

                                                                                                       

๏ 对于OTP中给定的m和c,有多少k可以满⾜等式E(k,m)=c?

坏消息                                                                            perfect secrecy ) |K| 》=|M|

๏                 如果⼀个密码算法具备完全保密性,那么密钥空间的⼤⼩⼀定⼤于或等于明⽂空间⼤⼩。

๏                 这么看来,OTP的密钥长度是在满⾜该特性前提下算法的最短长度。

流密码


๏                 流密码(Stream Cipher)让OTP变得更实⽤

๏                 ⽅法:使⽤伪随机数Pseudorandom代替随机数Random

๏                 PRG: PseudoRandom Generator

随机数和伪随机数


๏                 随机数:不可预计的数列

๏                 伪随机数:使⽤⼀个确定性的算法计算出来的似乎是随机的数序,因此伪随机数实际上并不随机。

๏                 如何产⽣随机数和伪随机数?

PRG:伪随机数生成器

๏ PRG是⼀个函数

G:  {0,1}s → {0,1}n      (n≫s)

种⼦Seed空间

                                          seed  输出的伪随机数空间

G

 ⨁

Q: 流加密具备完全保密性吗?

PRG必须是不可预测

๏                 如果PRG是可被预测的,则有

9i : G(k)|(1,2,...,i) ! G(k)|(i + 1,...)

๏                 给出⼀串数字的前i位,可以计算出后续的⽐特。


针对OTP和流密码的攻击


Two Time Pad


๏                 在流密码中,绝对不要重复使⽤你的密钥,因为:

c1 = m1⊕ PRG(k) 

c2 = m2⊕ PRG(k)

๏                 通过将两个密⽂进⾏XOR运算会得到:

c1 ⊕c2 =m1⊕ m2

两个明文的异或里有什么

MS PPTP

๏            客户端和服务器使⽤了相同的密钥

๏            每⼀⽅应该持有2个密钥,⼀个⽤于加密,⼀个⽤解密

802.11b WEP

๏                m:原始消息

๏                crc(m):校验值

๏                IV:⼀个24bits的数字,每⽤⼀次⾃增1 ๏ k:预共享的密钥

OTP完整性攻击示范

m2 =c‘⊕ k =c ⊕p ⊕k =m1⊕ k⊕ p⊕ k

=》p=m1⊕m2

#第3章#    分组密码

 分组密码

       分组位数     密钥位数

DES  64bits        56bits

3DES 64bits      168bits

AES 128bits       128,192,256bits

迭代

 mi           ci

๏ 每⼀个分组都要经过n轮的迭代加密后产⽣⼀个分组密⽂

๏ 密钥k会被扩展成n个新密钥

๏ F(k,*)是⼀个迭代函数,第⼆个参数总是上⼀次函数运⾏的结果

๏ DES:16轮;3DES:48轮;AES:10轮

算法效率

 AMD Opteron,   2.2 GHz     ( Linux)

算法           分组/密钥 长度         加解密速度  (MB/秒)

RC4                                                126 

Salsa20/12                                      643 

Sosemanuk                                     727

3DES                  64/168                  13 

AES-128            128/128                109

 Data Encryption Standard 

(DES)

 背景

 ๏ 19世纪70年代初,⾮军⽤密码学的研究处在混乱不堪的状态。美国国家安全局NSA 不肯公开他们对信息编码的技术。

๏ 1972年,美国国家标准局NBS拟定了⼀个旨在保护计算机和通信数据的计划,于

1973年5⽉15⽇发布了公开征集标准密码算法的请求。

设计标准

 ๏ 算法必须提供较⾼的安全性

๏ 算法必须完全确定且易于理解

๏ 算法安全性必须依赖密钥,⽽不是算法

๏ 算法必须对所有⽤户都有效

๏ 算法必须适⽤于各种应⽤

๏ ⽤以实现算法的硬件必须经济

๏ 算法必须有效使⽤

๏ 算法必须能够验证

๏ 算法必须能够出⼜

第二次征集

 

๏ 虽然公众很感兴趣,但是满⾜条件的

⼏乎没有……

๏ 1974年8⽉27⽇,NBS进⾏了第⼆次征集

 在20世纪60年代后期,IBM公司成⽴了⼀个由Horst Feistel负责的计算机密码学研究项⽬。

๏ 1971年设计出密码算法Lucifer,分组长度为

128位、密钥长度为128位

๏ 设计出以他名字命名的迭代结构:Feistel⽹

๏ 他们将Lucifer的⼀个变种提交给了NBS

数据加密标准

 ๏ 1976年,NBS宣布采纳IBM的算法作为联邦数据加密标准,即DES。其密钥长度为56bits,分组长度为64bits。

 故事还没有完

๏ 1997年,DES被暴⼒破解

๏ 2000年,NIST宣布采⽤Advanced 

Encryption Standard(AES)替换DES

Feistel网

Ri = fi(ki,Ri 1) Li 1

Li =Ri 1

 DES实现原理 密钥:56bits

 IP置换 密钥:56bits

 ๏ 初始置换(IP, Initial permutation)

๏ 最终置换(IP-1)  

16轮Feistel网 密钥:56bits

 S盒

Si : {0,1}6 !{0,1}4

 ๏ S盒的作⽤:将6⽐特缩减为4⽐特

๏ 6个⽐特的头尾2⽐特为纵

๏ 6个⽐特的中间4⽐特为横

๏ 例如:011001经该S盒置换后的结果是?

 三重DES

๏ 若E()为DES加密过程,D()为解密过程

๏ ⽣成3个56bits的密钥:k1, k2, k3

๏ 假设明⽂为m,则

E(k3 , D(k2 , E(k1 , m)))

 DES的弱点

算法设计上的缺陷

 ๏ S-boxes

๏ IP和IP-1

 弱密钥缺陷

๏ 在DES算法中存在12个半弱密钥和4个弱密钥。由于在⼦密钥的产⽣过程中,密钥被分成了2个部分,如果这2个部分分成了全0或全l,那么每轮产⽣的⼦密钥都是相同的,当密钥是全0或全l,或者⼀半是l或0时,就会产⽣弱密钥或半弱密钥,DES 算法的安全性就会变弱。在设定密钥时应避免弱密钥或半弱密钥的出现。

ECB(Electronic Code Book)

ECB缺陷

实施攻击1

 ๏ 对于上⾯3个明⽂分组的数字进⾏ECB 模式的DES加密,请问如何实施攻击?

实施攻击2

CBC(Cipher Block Chaining)

CTS(CipherText Stealing)

CFB(Cipher FeedBack)

 三种模式比较

ECB:简单快速,但不
应使⽤

CBC:推荐使⽤,需要
额外的⼀个初始
化向量IV,且最
后分组需要填充

CFB:推荐使⽤,需要
额外的⼀个初始
化向量IV,且最
后分组⽆须填充

 Advanced Encryption Standard 

(AES)

 第三次征集

 ๏ 1997:NIST发布新⼀轮密码算法征集

๏ 1998:收到15份算法

๏ 1999:NIST选择了5份作为候选

๏ 2000:Rijndael被选中作为AES,该算法为⽐利时密码学家Joan Daemen和Vincent Rijmen 所设计

๏ AES 分组长度:128bits

๏ 密钥长度:128,192,256bits

分组加密模式

轮数:10轮 

分组:128bits 密钥:128bits

置换过程 置换过程(后⼀次)

1. SubBytes字节替换 1. SubBytes字节替换

2. ShiftRows⾏移位 2. ShiftRows⾏移位

3. MixColumns列混淆

 SubBytes字节替换

 ShiftRow行移位

 MixColumns列混淆

 AES加密模式 分组:128bi(轮数:10轮 )ts 

密钥:128bits

1. SubBytes字节替换 1. SubBytes字节替换

2. ShiftRows⾏移位 2. ShiftRows⾏移位

3. MixColumns列混淆

#第4章#  




芝山区18813275431: 密码学怎么学 感觉很难学 -
汲士迪艾: 需要找本好书看,数学基础当然不能少 推荐《密码学引论》by 冯登国,裴定一 如果是英文教材先看《Handbook of Applied Cryptography》by A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996.都是好书,入门很好!

芝山区18813275431: 本人想学密码学,求助 -
汲士迪艾: 密码学的数学基础主要是数论和抽代,就单从密码算法上来讲,主要分为对称密码和非对称密码,前者对数学要求不是很高,因为它的加/解密用的是一样的密钥,以代换和置换为基础.但是应用面很小了,因为安全性不高.另一部分叫非对称密...

芝山区18813275431: 有什么好学的密码么,比如莫尔斯之类的怎么学 -
汲士迪艾: 摩斯电报,根本不算密码学,它只是个编码,可能你不是太了解密码学.要学密码学,需要良好的数学基础,密码算法都是基于数学的,基本都用到了数论与代数学的东西.典型的密码算法比如DES(虽然已经不安全了,但不失为分组密码算法的典范),AES是现在的分组密码标准.RSA是公钥密码算法典型代表……

芝山区18813275431: 我想了解点关于密码学的知识,我现在没有任何基础.应该怎么入门?求解 -
汲士迪艾: 你一点基础都没有就先学c吧!然后是c++,之后是数据结构.就这3本书就够你学上一年了!而且是算你快的,学不好2年都学不会!密码学的东西还涉及高层次的数学知识,我替你大致估计了一下,如果想学好,没个4年左右的时间是没什么效果的!而且是你非常用心的那种,希望你能坚持自己的梦想.

芝山区18813275431: 如何学习密码学?
汲士迪艾: 入门的话,高中加一点大学知识再加些数论的知识. 可以看下和数论、密码学有关的书,比如:《现代密码学》、《数论简明教程》,《信息安全数学基础》等,还有本潘承桐的密码学的书也挺不错.

芝山区18813275431: 我是数学专业硕士,想自学密码学,不知需要哪些基础,请相关专业人士赐教,谢谢 -
汲士迪艾: 既然是学数学的密码学应该比较容易上手,需要一些计算机基础,一开始可以先了解一些常见的密码学原理,比如柯克霍夫原则之类的. 如果是研究的话,恐怕要多研究一些加密解密的算法,不知道你学过离散数学没有,如果没有就先看看离散.然后就研究些经典的算法如md5,des等等. 只要多见识一些算法,这方面自然会成为大神的,祝你成功

芝山区18813275431: 关于自学密码学的问题 -
汲士迪艾: 密码学是一门有趣的学科.它对数学的要求比较高.本科不会深入学习密码学,如果想学密码学,建议先报考应用数学专业,上了大学再考密码学的研究生.密码学研究成果多的军校,一是解放军信息工程大学(郑州),二是国防科技大学(长...

芝山区18813275431: 密码学怎么学啊!!!
汲士迪艾: 要学好密码学,首先一定要购买著名博士生导师蔡永泉老师的书《计算机网络安全》,其次要要看老师给的课件.

芝山区18813275431: 想自学密码学,数学基础还行,高考有个130.推荐一下具体的书籍,要书名和作者,循序渐进的 -
汲士迪艾: 现代密码学根本不锻炼推理,而是算法,涉及到的数学知识也非常广,连最纯的数学——数论在密码学里面都有很广的运用,有兴趣可以看看于秀源的《密码学与数论基础》,还有下面的书也可以亵玩: 清华大学出版杨波编著的《现代密码学》...

芝山区18813275431: 关于自学密码学 -
汲士迪艾: 西安电子科大的《密码学概论》电子工业出版社的《密码学与网络安全》密码学是计算机、通信与现代数学的交叉学科,需要很多前期科目铺垫,比如信息论与编码、近世代数、离散数学……,最好再学学通信原理、计算机网络~~如果连密码学常用的计算(如模运算、椭圆曲线)和基本的通信原理都不会,怎么研究密码算法~~

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网