一起來讀書351 應用密碼學 第一章 基礎知識

2021-10-08 08:37:40 字數 1587 閱讀 9573

密碼學專業術語介紹

1.明文(plaintext):訊息

2.密文(ciphertext):被加密後的訊息

3.加密(encryption):用某種方法偽裝訊息以隱藏他的內容

4.解密(decryption):把密文轉變成明文的過程

5.無條件保密(unconditionally secure):不論密碼分析者有多少密文,都沒有足夠的資訊恢復出明文

6.蠻力攻擊(brute_force attack):只要簡單地乙個接乙個地去嘗試每種可能的秘鑰,並且檢查所的明文是否有意義

7.隱寫術(steganography):將秘密訊息隱藏在其他訊息中,這樣真正存在的秘密被隱藏

有時又叫做傳統密碼演算法,就是加密秘鑰能從解密秘鑰中推算出來,反過來也成立;

對稱演算法分類:

用作加密的秘鑰不同於用作解密的秘鑰,而且解密秘鑰不能根據加密秘鑰計算出來;加密秘鑰叫做公開金鑰(public-key, 簡稱公鑰),解密秘鑰叫做私人秘鑰(private key, 簡稱私鑰)

1.唯密文攻擊(ciphertext-only attack):密碼分析者有一些訊息的密文,這些訊息都用相同加密演算法加密。

2.已知明文攻擊(known-plaintext attack):密碼分析者不僅可得到一些訊息的密文,而且也知道這些訊息的明文。

3.選擇明文攻擊(chosen-plaintext acctack):分析者不僅可得到一些訊息的密文和相應的明文,而且他們也可以選擇被加密的明文。

4.自適應選擇明文攻擊(adaptive-chosen-plaintext attack):這是選擇明文攻擊的特殊情況。分析者不僅能選擇被加密的明文,而且也能基於以前加密的結果修正這個選擇。

5.選擇密文攻擊(chosen-ciphertext attack):密碼分析者能選擇不同的被加密的密文,並可得到對應的解密的明文。

6.選擇秘鑰攻擊(chosen-key attack):這種攻擊並不表示密碼分析者能夠選擇秘鑰,它只表示密碼分析者具有不同秘鑰之間關係的有關知識。

7.軟磨硬泡攻擊(rubber-hose cryptanalysis):密碼分析者威脅,勒索,或者折磨某人,直到他給出秘鑰為止。

明文中每乙個字元被替換成密文中的另乙個字元,接收者對密文進行逆替換就可以恢復明文。

1.重合碼計數法(counting coincidence):用密文異或相對其本身的各種位元組的位移,統計那些相等的位元組數。

2.按此長度移動密文,並且與自身進行異或。這樣就消除了秘鑰,留下明文和移動了秘鑰長度的明文的異或。

1.des(data encryption standard) 資料加密標準:對稱演算法,加密和解密的金鑰是相同的。

2.rsa:公開金鑰演算法,用作加密和數字簽名。

3.dsa(digital signature algorithm) 數字簽名演算法:用做數字簽名標準的一部分,是另一種公開金鑰演算法,他不能用做加密,只用做數字簽名

一起來學React Refs學習(一)

在dom中我們獲取乙個節點元素只需要getelementbyid即可,那麼在react中該怎麼做呢 定義refs提供了一種訪問dom節點或在render方法中建立的react元素的方法。這是官方的解釋,那麼這段話到底什麼意思呢?意思是說通過refs可以訪問dom節點或者建立react元素 注意是re...

一起來學SQL(二)

insert into 語句用於向 中插入新的行。語法 insert into 表名稱 values 值1,值2,也可以指定所要插入資料的列 insert into table name 列1,列2,values 值1,值2,e.g.1 插入新的行 insert into persons value...

一起來學SQL(三)

create database 用於建立資料庫。sql create database 語法 create database database name create table 語句用於建立資料庫中的表。sql create table 語法 create table 表名稱 列名稱1 資料型別,...