ong演算法
⑴ 數字簽名相關知識
首先應該知道,什麼是數字簽名.
簡單地說,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,目前主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標准(DSS)。一些國家如法國和德國已經制定了數字簽名法。
實現數字簽名有很多方法,目前數字簽名採用較多的是公鑰加密技術,如基於RSA Date Security 公司的PKCS(Public Key Cryptography Standards)、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy)。1994年美國標准與技術協會公布了數字簽名標准而使公鑰加密技術廣泛應用。公鑰加密系統採用的是非對稱加密演算法。
目前的數字簽名是建立在公共密鑰體制基礎上,它是公用密鑰加密技術的另一類應用。它的主要方式是,報文的發送方從報文文本中生成一個128位的散列值(或報文摘要)。發送方用自己的私人密鑰對這個散列值進行加密來形成發送方的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給報文的接收方。報文的接收方首先從接收到的原始報文中計算出128位的散列值(或報文摘要),接著再用發送方的公用密鑰來對報文附加的數字簽名進行解密。如果兩個散列值相同、那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現對原始報文的鑒別。
在書面文件上簽名是確認文件的一種手段,其作用有兩點:第一,因為自己的簽名難以否認,從而確認了文件已簽署這一事實;第二,因為簽名不易仿冒,從而確定了文件是真的這一事實。
數字簽名與書面文件簽名有相同之處,採用數字簽名,也能確認以下兩點:第一,信息是由簽名者發送的;第二,信息自簽發後到收到為止未曾作過任何修改。這樣數字簽名就可用來防止電子信息因易被修改而有人作偽,或冒用別人名義發送信息。或發出(收到)信件後又加以否認等情況發生。
應用廣泛的數字簽名方法主要有三種,即:RSA簽名、DSS簽名和Hash簽名。這三種演算法可單獨使用,也可綜合在一起使用。數字簽名是通過密碼演算法對數據進行加、解密變換實現的,用DES算去、RSA演算法都可實現數字簽名。但三種技術或多或少都有缺陷,或者沒有成熟的標准。
用RSA或其它公開密鑰密碼演算法的最大方便是沒有密鑰分配問題(網路越復雜、網路用戶越多,其優點越明顯)。因為公開密鑰加密使用兩個不同的密鑰,其中有一個是公開的,另一個是保密的。公開密鑰可以保存在系統目錄內、未加密的電子郵件信息中、電話黃頁(商業電話)上或公告牌里,網上的任何用戶都可獲得公開密鑰。而私有密鑰是用戶專用的,由用戶本身持有,它可以對由公開密鑰加密信息進行解密。
RSA演算法中數字簽名技術實際上是通過一個哈希函數來實現的。數字簽名的特點是它代表了文件的特徵,文件如果發生改變,數字簽名的值也將發生變化。不同的文件將得到不同的數字簽名。一個最簡單的哈希函數是把文件的二進制碼相累加,取最後的若干位。哈希函數對發送數據的雙方都是公開的只有加入數字簽名及驗證才能真正實現在公開網路上的安全傳輸。加入數字簽名和驗證的文件傳輸過程如下:
發送方首先用哈希函數從原文得到數字簽名,然後採用公開密鑰體系用發達方的私有密鑰對數字簽名進行加密,並把加密後的數字簽名附加在要發送的原文後面;
發送一方選擇一個秘密密鑰對文件進行加密,並把加密後的文件通過網路傳輸到接收方;
發送方用接收方的公開密鑰對密秘密鑰進行加密,並通過網路把加密後的秘密密鑰傳輸到接收方;
接受方使用自己的私有密鑰對密鑰信息進行解密,得到秘密密鑰的明文;
接收方用秘密密鑰對文件進行解密,得到經過加密的數字簽名;
接收方用發送方的公開密鑰對數字簽名進行解密,得到數字簽名的明文;
接收方用得到的明文和哈希函數重新計算數字簽名,並與解密後的數字簽名進行對比。如果兩個數字簽名是相同的,說明文件在傳輸過程中沒有被破壞。
如果第三方冒充發送方發出了一個文件,因為接收方在對數字簽名進行解密時使用的是發送方的公開密鑰,只要第三方不知道發送方的私有密鑰,解密出來的數字簽名和經過計算的數字簽名必然是不相同的。這就提供了一個安全的確認發送方身份的方法。
安全的數字簽名使接收方可以得到保證:文件確實來自聲稱的發送方。鑒於簽名私鑰只有發送方自己保存,他人無法做一樣的數字簽名,因此他不能否認他參與了交易。
數字簽名的加密解密過程和私有密鑰的加密解密過程雖然都使用公開密鑰體系,但實現的過程正好相反,使用的密鑰對也不同。數字簽名使用的是發送方的密鑰對,發送方用自己的私有密鑰進行加密,接收方用發送方的公開密鑰進行解密。這是一個一對多的關系:任何擁有發送方公開密鑰的人都可以驗證數字簽名的正確性,而私有密鑰的加密解密則使用的是接收方的密鑰對,這是多對一的關系:任何知道接收方公開密鑰的人都可以向接收方發送加密信息,只有唯一擁有接收方私有密鑰的人才能對信息解密。在實用過程中,通常一個用戶擁有兩個密鑰對,一個密鑰對用來對數字簽名進行加密解密,一個密鑰對用來對私有密鑰進行加密解密。這種方式提供了更高的安全性
⑵ 拼音分詞演算法 C語言
#include <stdio.h>
#define M_JUZI 200
// 樹圖的鏈表驗證結構
// 用圖的鏈式存儲來構造樹,子樹均記錄串的靜態位置(索引)
typedef struct ST_FenCi{
int LeiBie; // 連什麼類別?1 : 韻母,2 : 聲母
int SuoYin; // 聲母後的韻母索引 或者 詞語中韻母後一個字的聲母索引
struct ST_FenCi *pN; // 兄弟
} FenCi;
typedef struct ST_Ci{
int SuoYin; // 在原始串內的子串(字)索引
int Chang; // 子串長度
} Ci; // 記錄結果的結構
typedef struct ST_ShengMu {
char Pin[3]; // 聲母字元串
FenCi *pLian; // 分詞樹的子樹
} ShengMu; // 用來定義聲母的靜態集合
typedef struct ST_YunMu {
char Yin[5]; // 韻母字元串,區別於聲母
FenCi *pLian; // 分詞樹的子樹
} YunMu; // 用來定義韻母的靜態集合
// 聲母開字頭
ShengMu smJiHe[29] = {{""},{"b"},{"c"},{"d"},{""},{"f"},{"g"},
{"h"},{""},{"j"},{"k"},{"l"},{"m"},{"n"},
{""},{"p"},{"q"},{"r"},{"s"},{"t"},{""},
{""},{"w"},{"x"},{"y"},{"z"},{"ch"},{"sh"},{"zh"}};
// 韻母收字尾
YunMu ymJiHe[24] = {{"a"},{"o"},{"e"},{"i"},{"u"},{"v"},
{"ai"},{"ei"},{"ui"},{"ao"},{"ou"},
{"iu"},{"ie"},{"ue"},
{"er"},
{"an"},{"en"},{"in"},{"un"},{"vn"},
{"ang"},{"eng"},{"ing"},{"ong"}};
// 關於分字樹,完全可以按照「現代漢語詞典」的音節表來構造
// 某分字子樹的構造
void InitFenZiShu0() {
}
int main() {
char JuZi[M_JUZI];
//scanf("%s",JuZi);
// 演算法1. 首字哈希查找,鏈表連字,鏈表連詞
// 如果需要查找的表有限,可以用if ,else,也可以用哈希查找
// 待解決的問題:
// 1.1. 聲母頭與聲母尾的混淆,兩個字頭之間至少相差三個位置
// 1.2. 韻母尾與聲母頭的混淆,上下文,回退
// 1.3. 超前搜索,首先,如果韻母可以擴展到更長的另一個韻母,
// 1.3.1 從韻母收字的時候,
// 不僅要嘗試韻母的"擴展",而且要判斷擴展後新韻母的後綴,
// 如果這個後綴為聲母頭,那麼在聲母頭的後面是否有合適的韻母構成一個新字?
// 如果有,就需要記錄這種可能,而且做好提前收尾的准備
// 如果沒有,理所當然要把新的韻母繼續"擴展"
// 這樣的韻母比如:e->er, a->an->ang, e->en->eng, i->in->ing, u->un,
// 這樣的聲母比如:e, r, g
// 1.3.2 從聲母找字的時候,
// 如果後面找不到聲母頭鏈表裡所有的韻母,就可以擴展匹配更長的聲母
// 演算法2. 漸進地找到所有聲母點,上下文分析,修正,分析到結構,顯示
// 演算法2.1 對原文的每個字,逐個匹配已知聲母
// 演算法2.2 已知聲母,在一定范圍里搜集在原文里出現的每個聲母點
getchar(); // enter
return 1;
}
⑶ 怎樣使用搜狗輸入四種音節
搜狗輸入法攻略—智能音節切分
搜狗輸入法攻略(4)——智能音節切分
過去使用其他輸入法的時候,您有沒有遇到過這樣的情況:明明想打「方案」,輸入拼音「fangan」後卻找不到「方案」,候選列表裡只有「反感」。類似的情況也會發生在「西安」上面(候選都是「先」的同音字)。這是怎麼回事呢?
原因在於,「方案」和「反感」的拼音寫出來都是「fangan」,只是音節切分的位置不同導致混淆。「西安」和「先」也一樣,都是「xian」。在國家《漢語拼音方案》中規定,「a,o,e開頭的音節連接在其它音節後面的時候,如果音節的界限發生混淆,用隔音符號(')隔開」。根據《方案》中的規定,標準的隔音符號應當使用單引號。因此,「方案」和「西安」的拼音分別應當寫成「fang'an」和「xi'an」;而「反感」和「先」則不需要使用隔音符號,直接寫成「fangan」和「xian」就可以了。
同樣的原因,打下面這些詞的時候需要在合適的位置插入隔音符號,否則無法輸入(出來的候選只有括弧中的詞):
主啊(抓) 西安(先) 西安市(顯示) 里昂(兩) 湖岸(換) 皮襖(票)
飢餓(借) 余額(月) 方案(反感) 親愛的() 恩愛() 晚安() 趾高氣昂()
除了上面這些詞,你還可能在輸入短語的時候遇到類似的問題,比如
我[去安]排一下(勸)
[迎奧]運(音高)
雖然《方案》作了這樣的要求,但很多人卻意識不到可能發生的音節混淆。只有當輸入法給不出所需要的選項後才知道要移動游標插入隔音符號(少數用戶則會束手無策)。而對於「晚安」這個例子,非要將「wanan」切成[wa][nan]其實沒什麼實際意義,因為後者不對應任何有意義的詞(瓦南?)。有輸入法允許將韻母「ong」簡寫作「on」,這本來是為了方便用戶使用,卻導致「gongan 公安」被解釋成「gon'gan 公幹」進一步增加了對隔音符號的要求。
不過在搜狗輸入法中,這個問題已經不存在了。
遇到可能混淆的切分,我們會將其按照同音詞處理——為什麼同音詞一定要是讀音相同的詞呢?當您輸入「fangan」的時候,我們會同時把「方案」和「反感」都列出來供您選擇。我想,沒有人會願意回頭補隔音符號吧。輸入「xian」也一樣,「先」和「西安」都會出現在候選項中。只是因為詞頻不夠高,默認情況下「西安」被放到了第六個選項,需要翻頁才能看到。
在智能組詞中,這種處理方式的好處就更加明顯。例如「一個好的方案」和「讓我非常反感」,搜狗知道這里的「fangan」究竟是「方案」還是「反感」。對於前面的例子「我去安排一下」,系統會自動將「quan」切分成兩個音節[qu][an];而在「我去勸勸他」中則不會把「quan」切開。Ahman大師曾提到搜狗會把「我勸著他」打成「我去按著他」,這個錯誤其實是受智能組詞演算法的限制,畢竟我們現在還做不到每句話都對。不過,搜狗仍然會把「我勸」放到候選列表中,你可以通過造詞的方式打出這個句子而不必修改所輸入的拼音。
當然,您如果願意的話,也可以繼續使用隔音符號。例如「xi'an」第一個候選項就是「西安」;打「fang'an」也不會再把「反感」這樣的選項列出來了。
在搜狗輸入法中這種對歧義音節的處理方式除了能夠參與智能組詞,還能夠參與詞頻調整。第一次輸入「西安」「飢餓」「余額」這些詞可能需要花一些力氣,比如到候選列表中找,或者手工插入隔音符號,或者手工造詞。但只要啟用了詞頻調整功能,第二次再輸入這個詞就不會這么麻煩了。即使你不再使用隔音符號,但因為以前曾經輸入過,系統仍然會將其提到前面去,大大方便了用戶的使用。
其實事情本來就該這樣,為什麼非要扯出個隔音符號呢。好,大家繼續享受輸入吧。
找的別人的答案跟你復制的。。不知道是不是你想要的。。
分割符號:』
⑷ 簽名演算法怎麼來的
數字簽名演算法分析與Hash簽名
序:這篇文章我用了近一周的時間完成,其中涉及到的RSA演算法已經在上一篇《公鑰密碼體系》中詳細的介紹過,目前數字簽名中人們使用很多的還是512位與1024位的RSA演算法。
摘要: 數字簽字和認證機構是電子商務的核心技術。數字簽名作為目前Internet中電子商務重要的技術,不斷地進行改進,標准化。本文從數字簽名的意義出發,詳細介紹了數字簽名中涉及到的內容與演算法,並自行結合進行改進。
關鍵詞:Internet公鑰加密 Hash函數 電子商務加密數字簽名
數字簽名簡介
我們對加解密演算法已經有了一定理解,可以進一步討論"數字簽名"(注意不要與數字認證混淆)的問題了,即如何給一個計算機文件進行簽字。數字簽字可以用對稱演算法實現,也可以用公鑰演算法實現。但前者除了文件簽字者和文件接受者雙方,還需要第三方認證,較麻煩;通過公鑰加密演算法的實現方法,由於用秘密密鑰加密的文件,需要靠公開密鑰來解密,因此這可以作為數字簽名,簽名者用秘密密鑰加密一個簽名(可以包括姓名、證件號碼、簡訊息等信息),接收人可以用公開的、自己的公開密鑰來解密,如果成功,就能確保信息來自該公開密鑰的所有人。
公鑰密碼體制實現數字簽名的基本原理很簡單,假設A要發送一個電子文件給B,A、B雙方只需經過下面三個步驟即可:
1. A用其私鑰加密文件,這便是簽字過程
2. A將加密的文件送到B
3. B用A的公鑰解開A送來的文件
這樣的簽名方法是符合可靠性原則的。即:
簽字是可以被確認的,
簽字是無法被偽造的,
簽字是無法重復使用的,
文件被簽字以後是無法被篡改的,
簽字具有無可否認性,
數字簽名就是通過一個單向函數對要傳送的報文進行處理得到的用以認證報文來源並核實報文是否發生變化的一個字母數字串。用這幾個字元串來代替書寫簽名或印章,起到與書寫簽名或印章同樣的法律效用。國際社會已開始制定相應的法律、法規,把數字簽名作為執法的依據。
數字簽名的實現方法
實現數字簽名有很多方法,目前數字簽名採用較多的是公鑰加密技術,如基於RSA Data Security公司的PKCS(Public Key Cryptography Standards)、DSA(Digital Signature Algorithm)、x.509、PGP(Pretty Good Privacy)。1994年美國標准與技術協會公布了數字簽名標准(DSS)而使公鑰加密技術廣泛應用。同時應用散列演算法(Hash)也是實現數字簽名的一種方法。
非對稱密鑰密碼演算法進行數字簽名
演算法的含義:
非對稱密鑰密碼演算法使用兩個密鑰:公開密鑰和私有密鑰,分別用於對數據的加密和解密,即如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能進行解密;如果用私有密鑰對數據進行加密,則只有用對應的公開密鑰才能解密。
使用公鑰密碼演算法進行數字簽名通用的加密標准有: RSA,DSA,Diffie-Hellman等。
簽名和驗證過程:
發送方(甲)首先用公開的單向函數對報文進行一次變換,得到數字簽名,然後利用私有密鑰對數字簽名進行加密後附在報文之後一同發出。
接收方(乙)用發送方的公開密鑰對數字簽名進行解密交換,得到一個數字簽名的明文。發送方的公鑰可以由一個可信賴的技術管理機構即認證中心(CA)發布的。
接收方將得到的明文通過單向函數進行計算,同樣得到一個數字簽名,再將兩個數字簽名進行對比,如果相同,則證明簽名有效,否則無效。
這種方法使任何擁有發送方公開密鑰的人都可以驗證數字簽名的正確性。由於發送方私有密鑰的保密性,使得接受方既可以根據結果來拒收該報文,也能使其無法偽造報文簽名及對報文進行修改,原因是數字簽名是對整個報文進行的,是一組代表報文特徵的定長代碼,同一個人對不同的報文將產生不同的數字簽名。這就解決了銀行通過網路傳送一張支票,而接收方可能對支票數額進行改動的問題,也避免了發送方逃避責任的可能性。
對稱密鑰密碼演算法進行數字簽名
演算法含義
對稱密鑰密碼演算法所用的加密密鑰和解密密鑰通常是相同的,即使不同也可以很容易地由其中的任意一個推導出另一個。在此演算法中,加、解密雙方所用的密鑰都要保守秘密。由於計算機速度而廣泛應用於大量數據如文件的加密過程中,如RD4和DES,用IDEA作數字簽名是不提倡的。
使用分組密碼演算法數字簽名通用的加密標准有:DES,Tripl-DES,RC2,RC4,CAST等。
簽名和驗證過程
Lamport發明了稱為Lamport-Diffle的對稱演算法:利用一組長度是報文的比特數(n)兩倍的密鑰A,來產生對簽名的驗證信息,即隨機選擇2n個數B,由簽名密鑰對這2n個數B進行一次加密交換,得到另一組2n個數C。
發送方從報文分組M的第一位開始,依次檢查M的第I位,若為0時,取密鑰A的第i位,若為1則取密鑰A的第i+1位;直至報文全部檢查完畢。所選取的n個密鑰位形成了最後的簽名。
接受方對簽名進行驗證時,也是首先從第一位開始依次檢查報文M,如果M的第i位為0時,它就認為簽名中的第i組信息是密鑰A的第i位,若為1則為密鑰A的第i+1位;直至報文全部驗證完畢後,就得到了n個密鑰,由於接受方具有發送方的驗證信息C,所以可以利用得到的n個密鑰檢驗驗證信息,從而確認報文是否是由發送方所發送。
這種方法由於它是逐位進行簽名的,只有有一位被改動過,接受方就得不到正確的數字簽名,因此其安全性較好,其缺點是:簽名太長(對報文先進行壓縮再簽名,可以減少簽名的長度);簽名密鑰及相應的驗證信息不能重復使用,否則極不安全。
結合對稱與非對稱演算法的改進
對稱演算法與非對稱演算法各有利弊,所以結合各自的優缺點進行改進,可以用下面的模塊進行說明:
Hash演算法進行數字簽名
Hash演算法也稱作散列演算法或報文摘要,Hash演算法將在數字簽名演算法中詳細說明。
Hash演算法數字簽字通用的加密標准有: SHA-1,MD5等。
數字簽名演算法
數字簽名的演算法很多,應用最為廣泛的三種是: Hash簽名、DSS簽名、RSA簽名。這三種演算法可單獨使用,也可綜合在一起使用。數字簽名是通過密碼演算法對數據進行加、解密變換實現的,常用的HASH演算法有MD2、MD5、SHA-1,用DES演算法、RSA演算法都可實現數字簽名。但或多或少都有缺陷,或者沒有成熟的標准。
Hash簽名
Hash簽名是最主要的數字簽名方法,也稱之為數字摘要法(digital digest)、數字指紋法(digital finger print)。它與RSA數字簽名是單獨的簽名不同,該數字簽名方法是將數字簽名與要發送的信息緊密聯系在一起,它更適合於電子商務活動。將一個商務合同的個體內容與簽名結合在一起,比合同和簽名分開傳遞,更增加了可信度和安全性。下面我們將詳細介紹Hash簽名中的函數與演算法。
⑸ 為什麼不能暴漏 介面的簽名演算法
我們對api查詢產品介面進行優化:
1.給app分配對應的key、secret
2.Sign簽名,調用API 時需要對請求參數進行簽名驗證,簽名方式如下:
a. 按照請求參數名稱將所有請求參數按照字母先後順序排序得到:keyvaluekeyvalue...keyvalue 字元串如:將arong=1,mrong=2,crong=3 排序為:arong=1, crong=3,mrong=2 然後將參數名和參數值進行拼接得到參數字元串:arong1crong3mrong2。
b. 將secret加在參數字元串的頭部後進行MD5加密 ,加密後的字元串需大寫。即得到簽名Sign
⑹ 西門子安全PLC數字簽名不一致
編譯的出來的Settings.apk和系統上的Settings.apk的簽名不一致導致的。
數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。數字簽名,就是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。數字簽名是非對稱密鑰加密技術與數字摘要技術的應用。
簡單地說,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標准(DSS)。
⑺ 你了解哪些數據加密技術 結合相關資料進行簡單介紹
加密技術是電子商務採取的主要安全保密措施,是最常用的安全保密手段,利用技術手段把重要的數據變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。常見加密技術分類有:對稱加密、非對稱加密、專用密鑰、公開密鑰。
1.對稱加密。
對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,密鑰較短,且破譯困難。
除了數據加密標准(DES),另一個對稱密鑰加密系統是國際數據加密演算法(IDEA),它比DES的加密性好,而且對計算機功能要求也沒有那麼高。IDEA加密標准由PGP(Pretty Good Privacy)系統使用。
2.加密技術非對稱。
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。相對於「對稱加密演算法」這種方法也叫做「非對稱加密演算法」。
與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰 (privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
(7)ong演算法擴展閱讀:
常規密碼的優點是有很強的保密強度,且經受住時間的檢驗和攻擊,但其密鑰必須通過安全的途徑傳送。因此,其密鑰管理成為系統安全的重要因素。
在公鑰密碼中,收信方和發信方使用的密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼演算法有:RSA、背包密碼、McEliece密碼、Diffe,Hellman、Rabin、Ong?Fiat?Shamir、零知識證明的演算法、橢圓曲線、EIGamal演算法等等。最有影響的公鑰密碼演算法是RSA,它能抵抗到目前為止已知的所有密碼攻擊。
⑻ 電子版手寫簽名怎麼弄
首先打開電腦,將簽名導入空白文檔中;圖片導入成功後點擊滑鼠右鍵,設置浮於文字上方;點擊工具欄中的格式,點擊顏色,設置透明顏色,電子版簽名就設置好了。
數字版
簡介
簡單地說,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。
它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。
普通數字簽名演算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。
特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、消息恢復功能的簽名等,它與具體應用環境密切相關。
顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標准(DSS)。一些國家如法國和德國已經制定了數字簽名法。
以上內容參考:網路-簽名
⑼ 數字簽名的概念是什麼啊
簡單地說,所謂數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網路中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,目前主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。顯然,數字簽名的應用涉及到法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標准(DSS)。
數字簽名(Digital Signature)技術是不對稱加密演算法的典型應用。數字簽名的應用過程是,數據源發送方使用自己的私鑰對數據校驗和或其他與數據內容有關的變數進行加密處理,完成對數據的合法「簽名」,數據接收方則利用對方的公鑰來解讀收到的「數字簽名」,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性。數字簽名技術是在網路系統虛擬環境中確認身份的重要技術,完全可以代替現實過程中的「親筆簽字」,在技術和法律上有保證。在公鑰與私鑰管理方面,數字簽名應用與加密郵件PGP技術正好相反。在數字簽名應用中,發送者的公鑰可以很方便地得到,但他的私鑰則需要嚴格保密。
數字簽名主要的功能是:保證信息傳輸的完整性、發送者的身份認證、防止交易中的抵賴發生。
數字簽名包括普通數字簽名和特殊數字簽名。普通數字簽名演算法有RSA、ElGmal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名演算法、Des/DSA,橢圓曲線數字簽名演算法和有限自動機數字簽名演算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等,它與具體應用環境密切相關。
數字簽名技術是將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發送的公鑰才能解密被加密的摘要信息,然後用HASH函數對收到的原文產生一個摘要信息,與解密的摘要信息對比。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改,否則說明信息被修改過,因此數字簽名能夠驗證信息的完整性。
⑽ 網路數據加密的網路數據加密
在常規密碼中,收信方和發信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價的。比較著名的常規密碼演算法有:美國的DES及其各種變形,比如Triple DES、GDES、New DES和DES的前身Lucifer;歐洲的IDEA;日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代換密碼和轉輪密碼為代表的古典密碼等。在眾多的常規密碼中影響最大的是DES密碼。
常規密碼的優點是有很強的保密強度,且經受住時間的檢驗和攻擊,但其密鑰必須通過安全的途徑傳送。因此,其密鑰管理成為系統安全的重要因素。
在公鑰密碼中,收信方和發信方使用的密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼演算法有:RSA、背包密碼、McEliece密碼、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知識證明的演算法、橢圓曲線、EIGamal演算法等等。最有影響的公鑰密碼演算法是RSA,它能抵抗到目前為止已知的所有密碼攻擊。
公鑰密碼的優點是可以適應網路的開放性要求,且密鑰管理問題也較為簡單,尤其可方便的實現數字簽名和驗證。但其演算法復雜,加密數據的速率較低。盡管如此,隨著現代電子技術和密碼技術的發展,公鑰密碼演算法將是一種很有前途的網路安全加密體制。
當然在實際應用中人們通常將常規密碼和公鑰密碼結合在一起使用,比如:利用DES或者IDEA來加密信息,而採用RSA來傳遞會話密鑰。如果按照每次加密所處理的比特來分類,可以將加密演算法分為序列密碼和分組密碼。前者每次只加密一個比特而後者則先將信息序列分組,每次處理一個組。
密碼技術是網路安全最有效的技術之一。一個加密網路,不但可以防止非授權用戶的搭線竊聽和入網,而且也是對付惡意軟體的有效方法之一。
一般的數據加密可以在通信的三個層次來實現鏈路加密、節點加密和端到端加密。