必威电竞|足球世界杯竞猜平台

crypto
來(lái)源:互聯(lián)網(wǎng)

Crypto++ 庫(kù)是一個(gè)用C++ 編寫的密碼類庫(kù),是一個(gè)自由軟件

簡(jiǎn)介

Crypto++庫(kù)的開發(fā)者是Wei Dai,非常好,標(biāo)準(zhǔn)的C++模板,不論是學(xué)習(xí)還是從應(yīng)用的角度,都是難得的教材。算是提供一個(gè)給大家多學(xué)習(xí)和交流的機(jī)會(huì)

特征

Crypto++? Library 5.1于2003年3月22日發(fā)布,目前的最高的版本是Crypto++ Library 5.6.2,該版本加入了除了作者Wei Dai以外的另外一些作者的代碼重新包裝成類,類庫(kù)里主要包含下列的內(nèi)容:

1、用抽象類定義API類的繼承層次

2、高級(jí)加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard) Rijndael和AES候選算法:RC6, MARS, Twofish, Serpent, CAST-256

1997年4月15日美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所NIST發(fā)起征集高級(jí)加密標(biāo)準(zhǔn)AES算法的活動(dòng),目的是為確定一個(gè)安全性能更好的分組密碼算法用于取代DES,AES的基本要求是比三重DES快并且至少與DES一樣安全,分組長(zhǎng)度為128位,密鑰長(zhǎng)度為128位,192位或256位.2001年11月26日,NIST正式公布高級(jí)加密標(biāo)準(zhǔn)AES, AES的安全性能是良好的,經(jīng)過(guò)多年來(lái)的分析和測(cè)試,至今沒(méi)有發(fā)現(xiàn)AES的明顯缺點(diǎn),也沒(méi)有找到明顯的安全漏洞. AES能夠抵抗目前已知的各種攻擊方法的攻擊。

3、對(duì)稱分組密碼:IDEA, DES, Triple-DES (DES-EDE2 and DES-EDE3), DESX (DES-XEX3), RC2, RC5, Blowfish, Diamond2, TEA, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, SkipJACK Audio Connection Kit

分組密碼又稱為秘密鑰密碼或?qū)ΨQ密碼。利用分組密碼對(duì)明文進(jìn)行加密時(shí),首先需要對(duì)明文進(jìn)行分組,每組的長(zhǎng)度都相同,然后對(duì)每組明文分別加密得到等長(zhǎng)的密文,分組密碼的特點(diǎn)是加密密鑰與解密密鑰相同。分組密碼的安全性應(yīng)該主要依賴于密鑰,而不依賴于對(duì)加密算法和解密算法的保密。因此,分組密碼的加密和解密算法可以公開。

4、一般的密碼模式:ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter 調(diào)式 (CTR)。

電子密本(ECB),密碼分組鏈接(CBC),輸出反饋(OFB)和密文反饋(CFB)

5、序列密碼:Panama, ARC4, SEAL, WAKE, WAKE-OFB, BlumBlumShub

序列密碼可以認(rèn)為是起源于20世紀(jì)20年代的Vernam體系,當(dāng)Vernam體制中的密鑰序列是隨機(jī)的(0,1)時(shí),他就是“一次一密“密碼體制克勞德·香農(nóng)已經(jīng)證明了“一次一密“密碼體制在理論上是不可破譯的。由于隨機(jī)的密鑰序列產(chǎn)生、存儲(chǔ)以及分配等方面存在一定的困難,Vernam體制在當(dāng)時(shí)并沒(méi)有得到廣泛的應(yīng)用。隨著微電子學(xué)和數(shù)學(xué)理論的發(fā)展與完善,基于偽隨機(jī)序列的序列密碼得到了長(zhǎng)足的發(fā)展和應(yīng)用。在序列密碼中,加密和解密所用的密鑰都是偽隨機(jī)序列,偽隨機(jī)序列的產(chǎn)生比較容易并且有比較成熟的數(shù)學(xué)理論工具,目前,序列密碼是 世界各國(guó)的軍事和外交等領(lǐng)域中使用的主要密碼體制之一。

6、公鑰密碼: RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin, Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of DHAES), ESIGN

在公鑰密碼體制中加秘密鑰和解密密鑰是不一樣的,加密密鑰可以公開傳播而不危及密碼體制的安全性。

RSA公鑰密碼體制的安全性是基于大整數(shù)的素分解問(wèn)題的難解性,

7、公鑰密碼系統(tǒng)補(bǔ)丁:PKCS#1 v2.0, OAEP, PSSR, IEEE P1363 EMSA2

8、密鑰協(xié)商方案:Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH

9、橢圓曲線密碼:ECDSA, ECNR, ECIES, ECDH, ECMQV

10、單向hash函數(shù):

hash函數(shù)是一種將一種任意長(zhǎng)度的消息(message)壓縮為某一固定長(zhǎng)度的消息摘要(message digest)的函數(shù)。hash函數(shù)可以用于數(shù)字簽名和消息的完整性檢測(cè)。

SHA-1,:

安全hash算法SHA

MD2, MD4, MD5, HAVAL, RIPEMD-160, Tiger, SHA-2 (SHA-256, SHA-384, and SHA-512), Panama

11、消息認(rèn)證碼(麥金塔):MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC

12、基于密碼結(jié)構(gòu)的Hash函數(shù):Luby-Rackoff, MDC

13、偽隨機(jī)數(shù)發(fā)生器(PRNG): ANSI X9.17 appendix C, PGP's RandPool

14、password based key derivation functions:PBKDF1 and PBKDF2 from PKCS #5

15、壓縮和解壓算法

16、大整數(shù)和多項(xiàng)式快速精確算法

17、有限范圍內(nèi)的算法包括GF(p) 和GF(2^n)

18、素?cái)?shù)的產(chǎn)生和驗(yàn)證

等等。

參考資料 >

本科新增密碼科學(xué)與技術(shù)專業(yè) 密碼我每天都用,這還用學(xué)?報(bào)志愿速看.m.toutiao.com.2022-05-17

生活家百科家居網(wǎng)