文章內容

article_man_pic

密碼學原理(Cryptography)

Hightech   2016-10-05    A20161005025
點閱 1648
評論 1
基礎
article_pic

 

❒ 密碼學的特性
使用密碼加密資料來保護資訊安全的主要目的是確保資訊的四種特性:
➤完整性(Integrity):確保網路所傳輸的資訊與原來的一致,沒有被竄改或偽造。
➤鑑別性(Authentication):確認網路的使用者或資料傳送者的身份。
➤不可否認性(Non-repudiation):傳送端不可否認其傳送的資料或完成的交易行為。
➤機密性(Confidentiality):保護資料內容不讓非法使用者得知。
上述四種特性中,機密性可以使用「加密技術(Encryption technology)」,完整性、鑑別性、不可否認性可以使用「數位簽章(Digital signature)」。知識力www.ansforce.com。

 

❒ 密碼學的原理
密碼學(Cryptography)由希臘文「kryptos(隱藏)」與「graphein(寫字)」兩個字組成,代表「隱藏的字」,是指利用數學運算對資料加密和解密的科學。密碼系統是由明文、加密演算法、加密與解密金鑰、密文、解密演算法組合而成,「加密(Encrypt)」是將明文經由金鑰與加密演算法運算以後得到密文;「解密(Decipher)」是將密文經由金鑰與解密演算法運算以後得到明文,如<圖一>所示:
➤明文(Plaintext):是指加密前的原始資料。
➤加密演算法(Encryption algorithm):利用金鑰對明文進行加密運算的數學公式。
➤金鑰(Key):用來和加密演算法產生特定密文的數字或符號字串。
➤密文(Ciphertext):是指加密後的資料,如果不知道金鑰那開啟後就是一堆亂碼。
➤解密演算法(Decryption algorithm):利用金鑰對密文進行解密運算的數學公式。

 

圖一 密碼系統的組成。

 

❒ 金鑰(Key)
加密技術的強度愈高,則破解密碼所需要花費的時間與資源愈多,加密強度的高低通常由演算法強度、金鑰保密機制、金鑰長度等因素來決定,柯克霍夫斯原理(Kerckhoff principle)提到密碼學的重要觀念:密碼系統的安全性不在於演算法的保密,而是取決於金鑰(Key)的保密,所以金鑰(密碼)的保密才是關鍵。

 

「金鑰(Key)」是用來和加密演算法產生密文的數字或符號字串,通常具有相當的長度,長度通常以位元(bit)為單位,通常金鑰的長度越長,密文就越安全,金鑰通常是演算法裡的一個變數,所以相同的明文與不同的金鑰進行加密會產生不同的密文。密碼學最基本的概念是:沒有一種百分之百安全的加密技術,任何加密技術都是可以破解的,因此加密系統安全與否的衡量標準在於破解者需要花費多少時間與成本才能破解?只要破解密碼所需要的成本高於這個資料的價值,或是破解密碼所需要的時間超過這個金鑰的使用壽命,則攻擊者都會放棄破解,如此就達到密碼保護資料的目的了。

 

❒ 資料加密的方式
目前資料加密的方式主要分為「資料區段加密」與「資料流加密」兩大類:
➤資料區段加密(Block cipher):先將資料(明文)切割成許多的「區段(Block)」,再針對每一個區段使用相同的金鑰與加密演算法進行加密得到密文。
➤資料流加密(Stream cipher):一次加密資料流的一個位元或一個位元組,可以將較短的加密金鑰延展成無限長、近似亂碼的一長串「金鑰串流(Key stream)」,再將金鑰串流和資料(明文)經過「互斥或(XOR)」運算後,產生密文。知識力www.ansforce.com。

 

【請注意】上述內容經過適當簡化以適合大眾閱讀,與產業現狀可能會有差異,若您是這個領域的專家想要提供意見,請自行聯絡作者;若有產業與技術問題請參與社群討論。

 

【延伸閱讀】其他詳細內容請參考「雲端通訊與多媒體產業,全華圖書公司」。<我要買書