瑣碎的學習 關於資料加密模型

2021-09-01 14:12:20 字數 1571 閱讀 4634

首先介紹資料加密演算法(data encryption algorithm,dea),它屬於對稱金鑰密碼體制.

des是一種分組金鑰,加密前先對整個明文分組,每個分組64位長的二進位制。然後對每個64位二進位制加密處理,產生一組64位密文,最後將所有密文拼接起來就是整個密文。使用的金鑰是64位(實際金鑰長56位,有8位用於奇偶校驗)

des的保密性僅取決於對金鑰的保密,演算法是公開的,des加密演算法足夠複雜而且計算量大,而破解des只能靠窮舉金鑰的方法。由於現在計算能力已經突飛猛進,標準的des已經不夠用了,後來出現了idea加密演算法以及三重des加密演算法。

加密模型大致如下:(k金鑰,e加密演算法,d解密演算法)

a明文x -> 計算密文y=ek(x) -> internet -> 解密明文x=dk(y) -> b獲取明文x

這是典型的對稱金鑰密碼體制,另外還有個公鑰密碼體制,後者的產生有下面幾個原因

1,對稱金鑰密碼體制的金鑰分配問題(需要高度安全的分配中心)

2,對數字簽名的需求

3,對稱金鑰密碼體制中,如果通訊參與者有n個,則需要n(n-1)個對稱金鑰,金鑰數量比較大

公鑰密碼體制中,加密金鑰pk(public key)是向公眾開放,解密金鑰sk(secret key)是需要保密的,加密演算法e和解密演算法d都是公開的。

通訊流程如下:

1,金鑰對產生器產生接受者b的一堆金鑰:加密金鑰pkb以及解密金鑰skb

2,傳送者a用pkb對明文x加密,epkb(x) -> 密文y

3,接受者b用skb對密文y解密,dskb(y) -> 明文x

注意:a,雖然計算機可以容易產生成對的pkb和skb,但從已知的pkb不能推導出skb,從pkb到skb「計算上不可能」

b,雖然公鑰pkb可用於加密,但不能用來解密dpkb(epkb(x))!=x

c,先後對x進行d運算和e運算或進行e運算和d運算結果一樣epkb(dskb(x))=dskb(epkb(x))=x

任何加密方法的安全性取決於金鑰的長度以及攻破密文所需的計算量,由於公鑰加密演算法開銷大,傳統加密演算法也是不可或缺的。

數字簽名必須保證能實現下面三點功能

1,報文鑑別——接受者能核實傳送者對報文的簽名,不是偽造的簽名

2,報文完整性——收到的資料和傳送的資料一樣,未被篡改

3,不可否認——傳送者事後不能抵賴對報文的簽名

現有多種數字簽名的方法,採用公鑰演算法比採用對稱金鑰演算法更容易實現。

a明文x -> y=dska(x) -> internet -> x=epka(y) -> b獲取明文x

1,除a外沒有人擁有ska,所以沒人能產生dska(x)——實現報文鑑別

2,其他人篡改報文後不能用ska加密,b拿到的是不可讀明文,知道被篡改過——報文完整性

3,若a抵賴未傳送報文,則b可以把x和dska(x)出示給公證人,後者可以用pka證實a傳送x給b——不可否認

上面只是對報文簽名,並未加密,下面方法可以同時做到簽名和加密

a明文x -> y=epkb(dska(x)) -> internet -> x=epka(dskb(y)) -> b獲取明文x

關於資料模型

1 在資料庫設計中,設計的目標就是要建立e r圖 實體 關係圖 2 powerdesigner中,建立概念模型或者邏輯模型。1.確認核心實體 實體分為兩部分 標識 主鍵 和屬性。在確認乙個實體的過程中,首先就是要確認實體的主鍵。乙個資料庫模型中一般會有1 2個實體作為整個模型的核心實體,核心實體一般...

關於資料加密問題(4)

本文介紹rsa,aes加密方式。rsa是一種非對稱加密演算法,使用rsa加密需要一對金鑰 公鑰,私鑰,公鑰公開,私鑰只能自己知道。關於rsa存在兩種使用方式。aes是一種對稱加密方式,加密與解密使用同一種金鑰即可。1.公鑰加密私鑰解密 裝置a存在公鑰與私鑰,將公鑰開放給裝置b,b裝置需要傳送資料,使...

32點關於Java的瑣碎知識點

1.對於類中的final型別屬性,一般在宣告的時候直接寫 final int a 1 但也可以在建構函式中進行賦值 如 final int a a a 1 但要注意 需要每乙個建構函式都賦值,且不能巢狀。而 如果想寫static final int a 則必須在宣告時進行初始化,static fin...