Ⅰ 密鑰是什麼呢
密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰。 中文名 密鑰 外文名 secret key 讀作 mì yuè 性質 密碼學常用術語 用法 名詞,少量情況用作動詞 讀法函義 密碼學中:密鑰(secret key)——秘密的鑰匙..
Ⅱ 加密演算法和密鑰的作用
一、加密演算法:將原有的明文信息轉化為看似無規律的密文。收信方需要對應的解密密鑰,採用對應的解密方法將密文還原為明文(能看懂有意義的信息)。
二、密鑰分為加密密鑰和解密密鑰,對於「對稱加密演算法」,這兩者是一樣的;而「非對稱加密演算法」的密鑰分為「公開密鑰」和「私有密鑰」,用公開密鑰加密,則需要私有密鑰解密;反之用私有密鑰加密,則需要公開密鑰解密,是可以互換的。
三、現代的計算機加密演算法比較復雜,要弄懂是需要離散數學、高等代數等知識,不可能在這里講明白。
四、以「凱撒移位密碼」這種最古來的簡單密碼來講解什麼是加密演算法和密鑰:
4.1)「凱撒密碼」在《愷撒傳》中有記載,凱撒密碼是將每一個字母用字母表中的該字母後的第三個字母代替。盡管歷史記載的凱撒密碼只用了3個位置的移位,但顯然從1到25個位置的移位我們都可以使用, 因此,為了使密碼有更高的安全性,單字母替換密碼就出現了。
若用每個字母的後11位替換當前字母,可以認為密鑰=11。
如此得到的密碼表為:
明碼表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z(即26個字母表)
密碼表 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
加密的方法很簡單,就是講明碼字母換成對應的密碼表字母。
如:明文 I LOVE YOU
密文 T WZGP JZF
在當時,這樣簡單的密碼就足夠起到保密作用;但到近代都已經很容易被破解了,更不用說現代有計算機秒破了!
4.2)其他加密演算法
有興趣可以了解更復雜的加密演算法:如近代的「維吉尼亞演算法」,還屬於字母位移加密,好懂!而現代計算機文件深度加密常用的「AES加密演算法」,原理很復雜,需要高等數學等知識才能讀懂。
Ⅲ 密鑰是什麼,什麼是加密演算法
1密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰.
2數據加密的基本過程就是對原來為明文的文件或數據按某種演算法進行處理,使其成為不可讀的一段代碼,通常稱為「密文」,使其只能在輸入相應的密鑰之後才能顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。 該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。
每次發數據給對方的時候都會用自己的私鑰加密,私鑰和公鑰是對應匹配的,公鑰是公開大家知道的,私鑰是自己的,相當於我們的簽名別人盜版不了。對方收到數據之後用公鑰解密就能得到數據。再用公鑰和私鑰設計具體的辦法就能處理好讓別人不能窺探數據 。
Ⅳ 密鑰密碼體系的公開密鑰演算法RSA
公開密鑰演算法是在1976年由當時在美國斯坦福大學的迪菲(Diffie)和赫爾曼(Hellman)兩人首先發明的(論文New Direction in Cryptography)。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同開發的,分別取自三名數學家的名字的第一個字母來構成的。
1976年提出的公開密鑰密碼體制思想不同於傳統的對稱密鑰密碼體制,它要求密鑰成對出現,一個為加密密鑰(e),另一個為解密密鑰(d),且不可能從其中一個推導出另一個。自1976年以來,已經提出了多種公開密鑰密碼演算法,其中許多是不安全的, 一些認為是安全的演算法又有許多是不實用的,它們要麼是密鑰太大,要麼密文擴展十分嚴重。多數密碼演算法的安全基礎是基於一些數學難題, 這些難題專家們認為在短期內不可能得到解決。因為一些問題(如因子分解問題)至今已有數千年的歷史了。
公鑰加密演算法也稱非對稱密鑰演算法,用兩對密鑰:一個公共密鑰和一個專用密鑰。用戶要保障專用密鑰的安全;公共密鑰則可以發布出去。公共密鑰與專用密鑰是有緊密關系的,用公共密鑰加密的信息只能用專用密鑰解密,反之亦然。由於公鑰演算法不需要聯機密鑰伺服器,密鑰分配協議簡單,所以極大簡化了密鑰管理。除加密功能外,公鑰系統還可以提供數字簽名。
公鑰加密演算法中使用最廣的是RSA。RSA使用兩個密鑰,一個公共密鑰,一個專用密鑰。如用其中一個加密,則可用另一個解密,密鑰長度從40到2048bit可變,加密時也把明文分成塊,塊的大小可變,但不能超過密鑰的長度,RSA演算法把每一塊明文轉化為與密鑰長度相同的密文塊。密鑰越長,加密效果越好,但加密解密的開銷也大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA的一個比較知名的應用是SSL,在美國和加拿大SSL用128位RSA演算法,由於出口限制,在其它地區(包括中國)通用的則是40位版本。
RSA演算法研製的最初理念與目標是努力使互聯網安全可靠,旨在解決DES演算法秘密密鑰的利用公開信道傳輸分發的難題。而實際結果不但很好地解決了這個難題;還可利用RSA來完成對電文的數字簽名以抗對電文的否認與抵賴;同時還可以利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完性。 公用密鑰的優點就在於,也許你並不認識某一實體,但只要你的伺服器認為該實體的CA是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求的。例如信用卡購物。服務方對自己的資源可根據客戶CA的發行機構的可靠程度來授權。目前國內外尚沒有可以被廣泛信賴的CA。美國Natescape公司的產品支持公用密鑰,但把Natescape公司作為CA。由外國公司充當CA在我國是一件不可想像的事情。
公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實際傳輸的數據加密解密。另外,公鑰加密也用來對專用密鑰進行加密。
在這些安全實用的演算法中,有些適用於密鑰分配,有些可作為加密演算法,還有些僅用於數字簽名。多數演算法需要大數運算,所以實現速度很慢,不能用於快的數據加密。以下將介紹典型的公開密鑰密碼演算法-RSA。
RSA演算法很好的完成對電文的數字簽名以抗對數據的否認與抵賴;利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完整性。目前為止,很多種加密技術採用了RSA演算法,比如PGP(PrettyGoodPrivacy)加密系統,它是一個工具軟體,向認證中心注冊後就可以用它對文件進行加解密或數字簽名,PGP所採用的就是RSA演算法。由此可以看出RSA有很好的應用。
Ⅳ 密演算法和密鑰的定義,
不好說,給個簡單例子:
寫一個程序,比如說是C語言.功能是將輸入的字元按A變化為B,C變化為D,Z變化為A.小寫也一樣.0變化為1,1變化為2……
這就是密演算法了.當你寫下love時,變化後的結果就是mpwf了,如果演算法足夠的復雜,就沒有人能猜到原來的love了.
密鑰,就是另一個程序,與你的密演算法相反,會變回去,這樣.當mpwf進入時,它就輸出love了.
Ⅵ 密鑰是什麼
1.密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰。
2.密鑰分為兩種:對稱密鑰與非對稱密鑰。
3.對稱密鑰加密,又稱私鑰加密或會話密鑰加密演算法,即信息的發送方和接收方用同一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快,適合於對大數據量進行加密,但密鑰管理困難。
4.非對稱密鑰加密系統,又稱公鑰密鑰加密。它需要使用不同的密鑰來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一個由用戶自己秘密保存,即私用密鑰。
5.對於普通的對稱密碼學,加密運算與解密運算使用同樣的密鑰。通常,使用的對稱加密演算法比較簡便高效,密鑰簡短,破譯極其困難,由於系統的保密性主要取決於密鑰的安全性,所以,在公開的計算機網路上安全地傳送和保管密鑰是一個嚴峻的問題。
Ⅶ 密鑰演算法
您的查詢字詞都已標明如下:公鑰加密 (點擊查詢詞,可以跳到它在文中首次出現的位置)
(網路和網頁http://www.gnupg.org/(en)/howtos/ch/GPGMiniHowto-1.html的作者無關,不對其內容負責。網路快照謹為網路故障時之索引,不代表被搜索網站的即時頁面。)
--------------------------------------------------------------------------------
下頁 上頁 目錄
--------------------------------------------------------------------------------
1. 概念
1.1 公鑰加密
加密的傳統方法只用一把密鑰加密。發出訊息者用這把鑰匙對訊息加密。接收訊息者需要有完全相同的鑰匙才能將加密了的訊息解密。這把鑰匙必須以一種其他人沒有機會得到它的方式給予接收訊息者。如果其他人得到了這把鑰匙,這種加密方式就沒用了。
使用一種稱為"公開鑰匙"的方法可以解決這個問題。公開鑰匙的概念涉及兩把鑰匙。一把鑰匙稱為"公開鑰匙"(公鑰),可以以所有方式傳遞,任何人都可以得到。另一把鑰匙稱為"隱密鑰匙"(密鑰)。這把鑰匙是秘密的,不能傳遞出去。只有它的擁有者才能接觸和使用它。如果正確實施了這種方法,從公鑰不能得出密鑰。發出訊息者以接收訊息者的公鑰將訊息加密,接收者則以自己的密鑰解密。
這個概念的關鍵之處在於密鑰必須保持秘密,不能隨便給出或讓任何除了密鑰擁有者之外的人得到。請千萬不要將你的密鑰通過Internet寄出!另外,通過telnet使用GnuPG是非常不明智的(基於使用telnet的高風險,你可以考慮絕不使用telnet)。
1.2 數字簽名
為證明一則訊息確實是宣稱發出訊息的人所發,發明了數字簽名的概念。正如其名稱顯示,發出訊息者數字化地在訊息上簽名。別人可以通過這個簽名檢驗這個訊息的真實性。使用這種方法,可以減少中"特洛伊木馬計"的風險(即一則訊息宣稱是對某個問題的補丁,實際卻包含病毒或亂動你計算機上的數據),同時信息或數據可以被確認是來自正當合法的來源,而被認為屬實。
一個數字簽名是通過密鑰和訊息本身而得來。訊息可以通過發出訊息者的公鑰來驗證。這樣,不僅可以驗證訊息是正確的發出訊息者所發,而且內容也得到驗證。這樣,得到訊息者可以確認:訊息來自該發出訊息者,而且在傳遞過程中其內容沒有改變。
1.3 信任網
公開鑰匙演算法的一個弱點在於如何傳播公開鑰匙。有可能有用戶傳遞一把有虛假身份的公開鑰匙。如果別人不知就裡,用這把公鑰加密訊息,持有該虛假鑰匙的侵入者就可以解密而讀到訊息。如果侵入者再將解密的訊息以真正的公開鑰匙加密,然後傳送出去,這種進攻無法被發現。
對此問題,PGP的解決方法(因此也自動是GnuPG的解決方法)是對公開鑰匙簽名。每把公開鑰匙都有一個相應的用戶身份。一個人的公開鑰匙可以由別人來簽名。這些簽名承認這把鑰匙確實屬於它所宣稱的用戶。至於有多信任這些簽名,完全取決於GnuPG用戶。當你信任給這把鑰匙簽名的人時,你認為這把鑰匙是可信的,並確信這把鑰匙確實屬於擁有相應用戶身份的人。只有當你信任簽名者的公開鑰匙時,你才能信任這個簽名。要想絕對確信一把鑰匙是正確和真實的,你就得在給予絕對信任之前,通過可靠渠道比較鑰匙的"指紋"。
1.4 安全邊界
如果你有數據想要保密,你所需做的遠不止選擇加密演算法這一件事。你應該統籌考慮你的系統安全。一般我們認為PGP是安全的。在作者寫本文時,尚未聽說任何PGP被破譯的事例。但這並不表示所有用PGP加密的訊息都是安全的(舉例說,如果NSA--美國國家安全局破解了PGP,它絕不會通知我。別的為真正邪惡目的破譯密碼的人也不會)。反過來說,即使PGP是完全"無法破譯"的,也可以用別的方法來損害安全。今年二月初,發現了一種"特洛伊木馬",它尋找硬碟上的密鑰,然後將其FTP出去。如果密碼選得不好,這些被盜的密鑰可以被輕易破解。
另一種可能的技術(雖然更難做到)是使用一種"特洛伊木馬"程序,它可以傳出用戶所敲的鍵。也可以(但非常困難)傳出屏幕顯示的內容。使用這些技術,就根本不需要破譯加密的訊息了。針對以上這些危險,需要制定一個好的,深思熟慮的安全計劃並付諸實施。
提到上述這些,目的並非想讓人們懷疑一切,而是想指出需要採取很多措施才能達到更安全。最重要的是意識到加密只是安全的一個步驟,而不是全部的解決方案。正如在一九九九年三月Melissa病毒事件中所顯示,許多公司並未准備好應付這類特洛伊木馬式病毒。
Ⅷ 密鑰和加密演算法是個什麼關系
密鑰是一種參數(它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的數據),加密演算法是明文轉換成密文的變換函數,同樣的密鑰可以用不同的加密演算法,得到的密文就不一樣了。
舉個很簡單的例子,比如凱撒密碼,就是將字母循環後移n位,這個n就是一個密鑰,循環後移的方法叫做演算法,雖然用的是相同的演算法,但是對明文用不同的密鑰加密的結果不一樣。
比如Run用Key=1(密鑰)的凱撒密碼,變成Svo,用Key=2(密鑰)加密就成了Twp,所以密鑰和演算法是明顯不同的,再比如現在公鑰密碼體系大多用的RSA演算法,但每個人的密鑰不一樣,密文才不同,一般來說,演算法是公開的,而密鑰是不公開的一個加密演算法正好包含兩個輸入參數,一個是明文,一個是密鑰。
1,秘密密鑰演算法:
使用極其復雜的加密演算法,即使破譯者能夠對選擇的任意數量的明文進行加密,也無法找出破譯密文的方法。秘密密鑰的一個弱點是解密密鑰必須和加密密碼相同,這就產生了如何安全地分發密鑰的問題。
2,公開密鑰演算法:
滿足三個條件:第一個條件是指將解密演算法作用於密文後就可以獲得明文;第二個條件是指不可能從密文導出解密演算法;第三個條件是指破譯者即使能加密任意數量的選擇明文,也無法破譯密碼。如果滿足以上條件,則可以公開加密演算法。