密碼學
密碼學(英語:Cryptography)可分為古典密碼學和現代密碼學。在西歐語文中,密碼學一詞源于希臘語kryptós“隐藏的”,和gráphein“書寫”。
古典密碼學主要關注信息的保密書寫和傳遞,以及與其相對應的破譯方法。
而現代密碼學不隻關注信息保密問題,還同時涉及信息完整性驗證(消息驗證碼)、信息發布的不可抵賴性(數字簽名)、以及在分布式計算中産生的來源于内部和外部的攻擊的所有信息安全問題。
古典密碼學與現代密碼學的重要區别在于,古典密碼學的編碼和破譯通常依賴于設計者和敵手的創造力與技巧,作為一種實用性藝術存在,并沒有對于密碼學原件的清晰定義。
而現代密碼學則起源于20世紀末出現的大量相關理論,這些理論使得現代密碼學成為了一種可以系統而嚴格地學習的科學。n密碼學是數學和計算機科學的分支,同時其原理大量涉及信息論。
著名的密碼學者羅納德·李維斯特解釋道:“密碼學是關于如何在敵人存在的環境中通信”,自工程學的角度,這相當于密碼學與純數學的差異。
密碼學的發展促進了計算機科學,特别是在于電腦與網絡安全所使用的技術,如訪問控制與信息的機密性。密碼學已被應用在日常生活:包括自動櫃員機的芯片卡、電腦用戶訪問密碼、電子商務等等。
加密
在密碼學中,加密(英語:Encryption)是将明文信息改變為難以讀取的密文内容,使之不可讀。隻有擁有解密方法的對象,經由解密過程,才能将密文還原為正常可讀的内容。
曆史
雖然加密作為通信保密的手段已經存在了幾個世紀,但是隻有那些對安全要求特别高的組織和個人才會使用它。
在1970年代中期,“強加密”(Strong Encryption)的使用開始從政府保密機構延伸至公共領域,并且已經成為保護許多廣泛使用系統的方法,比如因特網電子商務、手機網絡和銀行自動取款機等。
應用
加密可以用于保證安全性,但是其它一些技術在保障通信安全方面仍然是必須的,尤其是關于數據完整性和信息驗證。例如,信息驗證碼(MAC)或者數字簽名。另一方面的考慮是為了應付流量分析。
相關軟件
加密或軟件編碼隐匿(Code Obfuscation)同時也在軟件版權保護中,用于對付反向工程,未授權的程序分析,破解和軟件盜版及數字内容的數字版權管理(DRM)等。
加密算法
加密算法就是加密的方法。
加密算法可以分為兩類:對稱加密和非對稱加密。在密碼學中,加密是将明文信息隐匿起來,使之在缺少特殊信息時不可讀。
對稱加密就是将信息使用一個密鑰進行加密,解密時使用同樣的密鑰,同樣的算法進行解密。
非對稱加密,又稱公開密鑰加密,是加密和解密使用不同密鑰的算法,廣泛用于信息傳輸中。



















