1. 程式人生 > >再看cryptopp, 版本5.6.1

再看cryptopp, 版本5.6.1

    有幾年沒怎麼看過Cryptopp的程式碼了,現在已經到了5.6.1。最近晚上沒什麼事,於是就再看一下。

    我主要關注Linux平臺下Cryptopp的使用。之前很多開發者(Cryptopp郵件列表和QQ群裡都有)都問過怎麼編譯Cryptopp的共享庫(或者叫動態庫,Linux下的名稱是Share Object,Windows下叫動態連結庫)。

    現在5.6.1的Makefile中添加了共享庫的編譯目標:

GNUmakefile (我們在Linux下一般使用“Makefile”或者“makefile”做為檔名,但是標準的GNUmake預設是呼叫“GUNmakefile”和“Makefile”的,不信你在Solaris下寫一個“makefile”試試)

    153 libcryptopp.so: $(LIBOBJS)
    154         $(CXX) -shared -o [email protected] $(LIBOBJS)

    如果需要共享庫,只需要在make時指定目標:

~#make libcryptopp.so

    便可生成共享庫(我用虛擬機器,檔案可真多,編譯它用了那麼多時間。。。)

    用過Cryptopp,但到目前為止都不知道Cryptopp中都包含哪些加密演算法,今天列一下吧(來自5.6.1的Readme.txt,本人本科沒有學習過密碼學,對一些術語完全靠單詞翻譯、Google、百度,如有錯誤之處,希望您能指出,十分感謝!):

認證/加密方案:             GCM, CCM, EAX

高速流密碼:                 Panama, Sosemanuk, Salsa20, XSalsa20

AES以及AES候選演算法:  AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256

其它分組密碼演算法:        IDEA, Triple-DES (DES-EDE2 and DES-EDE3),

                                   Camellia, SEED, RC5, Blowfish, TEA, XTEA,

                                   Skipjack, SHACAL-2

分組加密模式:              ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode (CTR)

訊息認證碼:                 VMAC, HMAC, GMAC, CMAC, CBC-MAC, DMAC, Two-Track-MAC

雜湊演算法:                    SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384,

                                   SHA-512), Tiger, WHIRLPOOL, RIPEMD-128,

                                   RIPEMD-256, RIPEMD-160, RIPEMD-320

公鑰加密演算法:              RSA, DSA, ElGamal, Nyberg-Rueppel (NR),

                                   Rabin-Williams (RW), LUC, LUCELG,

                                   DLIES (variants of DHAES), ESIGN

公鑰系統填充方案:        PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363

                                   EMSA2 and EMSA5

金鑰協商方案:              Diffie-Hellman (DH), Unified Diffie-Hellman

                                   (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF,

                                   XTR-DH

橢圓曲線加密演算法:        ECDSA, ECNR, ECIES, ECDH, ECMQV

保留下來以便向後相容的不 MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL

可靠的或逐步廢棄的演算法: 3.0, WAKE, WAKE-OFB, DESX (DES-XEX3), RC2,

                                     SAFER, 3-WAY, GOST, SHARK, CAST-128, Square

相關推薦

cryptopp 版本5.6.1

    有幾年沒怎麼看過Cryptopp的程式碼了,現在已經到了5.6.1。最近晚上沒什麼事,於是就再看一下。     我主要關注Linux平臺下Cryptopp的使用。之前很多開發者(Cryptopp郵件列表和QQ群裡都有)都問過怎麼編譯Cryptopp的共享庫(或者叫動

在一個無序整數數組中找出連續增長片段最長的一段, 增長步長是1。Example: [3,2,4,5,6,1,9], 最長的是[4,5,6]

lse [] 是我 == push color 感覺 bsp emp 在一個無序整數數組中,找出連續增長片段最長的一段, 增長步長是1。Example: [3,2,4,5,6,1,9], 最長的是[4,5,6] 下面是我自己的編寫的代碼,感覺還能再優化。 希望有大神可以分享

Windows下PhpEd將php升級到最新版本5.6.27並支援Redis步驟

1. 從http://windows.php.net/download/下載指定的版本,我這裡下載的是x86的Win32版本 2. 將下載的php壓縮包解壓到PhpEd的安裝目錄下,並改名為php56 3. 調整PhpEd中除錯瀏覽器的配置,為php56目錄 4. 複製

Elasticsearch 5.6.1 釋出分散式搜尋引擎

Elasticsearch 5.6.1 已釋出,ElasticSearch 是一個基於 Lucene 構建的開源,分散式,RESTful 搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。支援通過 HTTP 使用 JSON 進行資料索引。

unity 5.5 unity 5.6 到底支援 c# 什麼版本

我用的是unity 5.5 具體的話是unity 5.5.2 f1 。我的試驗來看,unity 5.5 支援的是 .net 2.0 框架也即c#2.0。不過,它包括了 c# 3.0  一些特性,我試驗了確證的有 lambda 表示式 和  LINQ。4.0 版本的特性沒有驗

解除安裝MySQL5.7版本安裝5.6版本過程

一、解除安裝以前舊版本(本人5.7版本) 1、關閉MySQL服務 以管理員身份執行cmd,執行以下命令:  net stop mysql 或者右鍵我的電腦,在管理——服務——停止MySQL 2、解除安裝MySQL應用 mysqld -remov

數據庫——(6)連接

style 連接 post 匹配 兩個 rom data- span 笛卡爾積 簡單介紹: 連接是多表查詢的基礎。 因為關系數據庫不包括指針或其它關聯記錄與記錄的機制,連接成為了生成跨表數據關系的唯一機制。這也就是要用連接的原因。 分類: 1、內連接 使用

unity 5.6.1 Oculus手柄輸入問題

alt ima mage update class nbsp key 返回 void unity文檔中提到 軸的 ID 是5和6,但是測試後發現,ID是6和7,很坑 1 void Update () { 2 if (Input.GetK

ExpressionTreeEmit反射創建對象性能對比

100萬 blog space str creat uil 如果 測試過程 create 【前言】   前幾日心血來潮想研究著做一個Spring框架,自然地就涉及到了Ioc容器對象創建的問題,研究怎麽高性能地創建一個對象。第一聯想到了Emit,興致沖沖寫了個Emit創建對

5.6.1 快速傅立葉變換(FFT+RFFT)

1.影象頻域處理的意義        在影象處理和分析中,經常會將影象從影象空間轉換到其他空間中,並利用這些空間的特點進行對轉換後圖像進行分析處理,然後再將處理後的影象轉換到影象空間中,這稱之為影象變換。 在一些影象處理和分析中通過空間變換往往會取得更有效

易學筆記-系統分析師考試-第5章 資料庫系統/5.6 分散式資料庫系統/5.6.1 分散式資料庫概述

分散式資料庫系統 概念:是資料庫技術與網路技術相結合的產物 描述 將傳統的集中式資料庫中的資料分佈在網路上多臺機器上 採用較小的計算機系統,物理位置單獨 每個計算機有DBMS的一份完整的複製副本以及區域性資料庫 不同位置的計算

Centos7 yum安裝lAMP 環境 php版本5.6.38 mysql版本5.7.22

安裝環境centos7.4  安裝httpd2.4.6  php版本5.6.38 (有7.1 、7.2的版本這裡安裝5.6的) mysql版本5.7.22  1. #檢視系統   uname -a    Linux localhost.localdomain 3.10.0

ExpressionTreeEmit反射建立物件效能對比

【前言】   前幾日心血來潮想研究著做一個Spring框架,自然地就涉及到了Ioc容器物件建立的問題,研究怎麼高效能地建立一個物件。第一聯想到了Emit,興致沖沖寫了個Emit建立物件的工廠。在做效能測試的時候,發現居然比反射Activator.CreateInstance方法建立物件毫無優勢可言。繼而又寫

Windows7 64 + Visual Studio 2013 + Qt 5.6.1 配置 nmake

一、系統環境說明: Windows7 64 + Visual Studio 2013 + Qt 5.6.1 補充說明:Visual Studio 2013 只有32位,沒有64位! 二、配置環境變數: 1、path環境變數中新增: 如果是64位作業系統: C:\Progr

mysql高版本5.65.5或低版本複製中出現的錯誤

在高版本啟動時,忘記配置binlog_checksum引數,會導致生成的binlog中有校驗演算法的日誌,當從庫版本低於主庫,就會報錯 看下面忘記新增引數時,解析的binlog 修改my.cnf檔案或動態修改set global  binlog_checksum=no

【待完成】CentOS6.5安裝mysql-cluster-community-7.5.6-1.el6.x86_64.rpm-bundle.tar

先在官網上下載(https://dev.mysql.com/downloads/cluster/)mysql-cluster-community-7.5.6-1.el6.x86_64.rpm-bundl

Oracle Windows2008安裝oracle10g 提示“實際版本6.1

1.安裝程式設定“以管理員身份執行此程式”; 2.安裝程式設定“Windows Server 2003”相容模式; 3.修改\database\install\oraparam.ini檔案,#Wind

win7下的PHP+IIS配置找不到php5isapi.dll的問題版本5.4.9

    問題:PHP新手配置,在官網上下載的壓縮包。按網上的找的教程配置IIS時發現,在解壓包裡找不到php5isapi.dll檔案,沒辦法新增指令碼對映。 解答: 從PHP5.3版本開始,在PHP檔案裡面沒有php5isapi.dll了,不能在IIS6上面通過ISAPI擴充套件執行。 就是說PH

Windows10離線安裝tensorflow_gpu-1.5.0rc1-cp36-cp36m-win_amd64.whl(對應GPU版本的tensorflow對應python3.6

Windows10離線安裝tensorflow_gpu-1.5.0rc1-cp36-cp36m-win_amd64.whl(對應GPU版本的tensorflow,對應python3.6) 1. 確保python版本是3.5 64位及以上。(tensorflow從1.2開始支援python

PHP 5.6.40, 7.1.26, 7.3.1 & 7.2.14 釋出安全修復版本

   PHP 2019 新年第一波更新為幾個分支釋出了重要的安全修復版本,分別是 5.6.40, 7.1.26, 7.3.1 和 7.2.14。 釋出公告頁面顯示,這幾個版本均包含重要的安全修復,以及其他的一些錯誤修復,官方建議升級至最新版本。 此外,按官方的說法,PHP 5.