原创 C++ 編程題總結

好久沒有代碼,感覺自己好多東西東忘了,這兩天上牛客網刷了幾道題。 成績排序 查找和排序 題目:輸入任意(用戶,成績)序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。 示例: jack 70

原创 ElGamal、Schnorr數字簽名方案

數字簽名方案-ElGamal、Schnorr數字簽名方案 數字簽名簡介 特徵 它必須能驗證簽名者、簽名日期和時間 它必須能夠認證被籤的消息內容 簽名應能由第三方仲裁,以解決爭執 因此數字簽名具有認證功能 攻擊和僞造

原创 幾種獲取字符串和字符數組長度的函數的區別

幾種獲取字符串和字符數組長度的函數的區別 sizeof()、 length()、 strlen()、 size() strlen(str)和str.length()和str.size()都可以用來求字符串的長度 str.length(

原创 計算機組成原理的基本知識

計算機組成原理的基本知識 計算機的分類 個人計算機(personal computer) 用於個人使用的計算機,通常包含圖形顯示器,鍵盤和鼠標等 服務器(server) 用於爲多用戶運行大型程序的計算機,通常由多個用戶並行使用,

原创 存儲器分類

存儲器分類 爲了縮小存儲器與處理器兩者之間在性能方面的差距,通常在計算機內部把各種不同容量和不同存取速度的存儲器按一定的結構郵寄地組織在一起,以形成層次化的存儲器體系結構。 通常存儲器的速度越快則容量越小,就越將其靠近CPU。因此,最快

原创 高速緩存cache

高速緩存cache cache的基本原理 cache是一種小容量高速緩衝存儲器,由快速SRAM組成。在CPU和貯存之間設置cache,總是把主存中被頻繁訪問的活躍程序塊和數據塊複製到cache。 cache是爲了解決CPU與主存

原创 密鑰管理和分發

密鑰管理和分發 密鑰管理要求 對於一個密鑰加密方案,雙方必須共享同一密鑰 必須保護密鑰不被其他人訪問 鑰匙應該定期更換 密鑰分發的可能方式 A選擇一個密鑰後以物理的方式傳遞給B 第三方選擇密鑰後物理地傳給A和B 如果A和B先前或

原创 分組密碼的工作模式

對稱密碼體制-分組密碼的工作模式 分組密碼的輸入具有b位固定長度的明文分組和密鑰,輸出爲b爲密文。明文長度若大於b位,則可簡單將其分成b位一組的塊。工作模式是一項增強密碼算法或者使算法適應具體應用的技術。 電碼本模式(ECB) 需要加密的

原创 求解乘法逆元

求解乘法逆元 基本定義 記a的關於模p的逆元爲a^-1,則a^-1滿足aa^-1≡ 1(mod p) 在mod p的運算中,a存在乘法逆元當且僅當a與p互質。一般題目給的是一個大質數,所以只要a不是p的倍數,就以求乘法逆元。 例題

原创 PGP郵件系統

PGP郵件系統 PGP簡介 PGP(Pretty Good Privacy),是一個基於RSA公匙加密體系的郵件加密軟件。可以用它對郵件保密以防止非授權者閱讀,它還能對郵件加上數字簽名從而使收信人可以確認郵件的發送者,並能確信郵件沒有被篡

原创 網絡安全知識

安全套接層(SSL) 安全套接層(SSL) SSL是一個通用服務,由依賴於TCP的一組協議實現。 SSL體系結構 SSL爲TCP提供可靠的端到端安全服務。SSL實部簡單的單個協議而是兩層協議: SSL記錄協議爲高層協議提供基

原创 完整性和認證性

完整性和認證性 密碼學Hash函數 Hash函數H將可變長度的數據塊M作爲輸入,產生固定長度的Hash值 h = H(M)。一個“好”的Hash函數具有以下的特點: 對於大的輸入集合使用該函數,產生的輸出結果均勻地分佈且看起來隨機。即H

原创 公鑰密碼學的基本原理

公鑰密碼學的基本原理 基本概念問題 公鑰密碼學與傳統密碼學的區別 公鑰算法是基於數學函數;傳統密碼學算法是基於代替和置換 公鑰密碼是非對稱的,它使用兩個獨立的密鑰;傳統密碼學使用一個密鑰 任何加密方法的安全性依賴於密鑰的長度和