原创 適用於byte數組某一位上數值高效處理的函數

在處理byte(unsigned char) 數組過程中,有時會遇到需要改變數組某一位的問題,或者需要讀取數組中某一位的值,這種處理在實現安全算法中比較常見,如DES和AES,所以在這裏將兩個實用的小函數分享一下。 1. 將byte數組d

原创 能量分析攻擊_能量跡單bit泄露和整個byte泄露比較

在能量分析攻擊中,可以選擇攻擊整個byte或者某個單一的bit。 但是,在芯片中通常是以byte的形式進行運算和存儲,因此即使攻擊目標爲單一bit,其所涉及的運算單元仍然會是byte。這樣,一個byte中的其他7個bit都成爲了轉換噪聲,

原创 Debug Crypto++庫使用時運行庫選擇

今天在使用crypto++庫的時候,編譯出現如下錯誤: 1>------ 已啓動生成: 項目: pkcs1, 配置: Debug Win32 ------ 1>生成啓動時間爲 2013/12/27 14:26:16。 1>Initiali

原创 C51與標準C在printf中標識符的區別

在用Keil開發C51程序時,可以利用其擴展的printf函數進行輸出。 這個輸出與標準C中的printf函數有所不同,擴展出了“b,h,l”用於輸入字節寬的設置,其中, b表示8位, h表示16位, l表示32位。 例如,unsigne

原创 C51編譯中出現 error C241: 'main': auto segment too large 的解決辦法

在進行C51編譯的時候,如果出現了“error C241: 'main': auto segment too large” 的錯誤,其原因是由於存儲容量不足。 解決方法爲: alt+F7打開設置 在Target標籤中,將Memory Mo

原创 HyperLedger Fabric協議規範

協議規範 前言 這份文檔是帶有權限的區塊鏈的工業界實現的協議規範。它不會詳細的解釋實現細節,而是描述系統和應用之間的接口和關係。 目標讀者 這份規範的目標讀者包括: 想實現符合這份規範的區塊鏈的廠商 想擴展 fabric 功能的

原创 PKI技術原理(收集 整理 歸納)

對稱加密         symmetric cryptographic 非對稱加密       asymmetric cryptographic 密鑰交換協議     key agreement/exchange 哈希算法       

原创 C/C++不同庫中函數名相同的解決辦法

在C編程中,可能引用的多個外源庫應用了相同的函數名,例如crypto++和openssl都有SHA1函數,用於做SHA1的hash計算,但兩個函數用法不同,會出現衝突 比如已經使用了using namespace CryptoPP; 這時

原创 錯誤注入攻擊總結(Fault Injection Attack)

1.   什麼叫錯誤注入攻擊 錯誤注入攻擊,指在密碼芯片設備中通過在密碼算法中引入錯誤,導致密碼設備產生錯誤結果,對錯誤結果進行分析從而得到密鑰。 它比差分能量攻擊(DPA,DifferentialPower Analysis)、簡單能量

原创 VS2010 添加外源靜態庫

初次使用VS2010進行C/C++開發,需要引入外源庫,操作方法如下: 1. 下載所需靜態庫,按照裏面的安裝說明進行安裝或者complie 2. 新建項目,右鍵屬性 2.1 C/C++ 常規 在附加包含目錄中添加庫的.h文件的文件夾地址

原创 編譯openssl庫時出現“error C2027: use of undefined type 'in6_addr'”的解決方法

在VC平臺下編譯openssl庫步驟如下: 1. 安裝perl,用於執行後面的編譯 2. 打開openssl所在目錄,命令行輸入perl Configure VC-WIN32 --prefix=c:\some\openssl\dir 3

原创 Fabric-CA-1.0-Alpha 小結

#1. 整體概覽# 在Fabric 1.0版本中,原0.6版本中的“Membership Service”已經被“Fabric CA”所替代。 Fabric CA是Hyperledger Fabric的證書頒發機構,它提供的功能如下: 1

原创 尋找一種易於理解的一致性算法(擴展版)

轉載自:https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md 摘要 Raft 是一種爲了管理複製日誌的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是

原创 HyperLedger Fabric 1.0 Alpha版 單節點部署初探

HyperLedger Fabric 1.0的Alpha版本已經於2017年3月中旬正式發佈,其官方Docker鏡像版本也已經發出。具體地址爲[1]。 這樣,我們就可以通過拉取鏡像的方式,從官網直接拉取鏡像進行部署。 我們可能用到的鏡像包

原创 C-L簽名介紹

C-L簽名即爲Camenisch-Lysyanskaya簽名,由作者的名字命名,於2001年提出。原論文《A Signature Scheme with Efficient Protocols》,鏈接:https://link.sprin