轉密鑰授權
Ⅰ 如何將字元串轉換為加密密鑰
#include<stdio.h>voidfun(char*s,charx){while(*s){*s^=x;s++;}}voidmain(){charstr[256],x;printf("請輸入字元串:");gets(str);printf("請輸入密鑰:");scanf("%d",&x);fun(str,x);printf("加密後版的權字元串[%s] ",str);fun(str,x);printf("解密後的字元串[%s] ",str);}Ⅱ 怎麼了密鑰 怎麼轉化成密碼
開密鑰密碼體制是現代密碼學的最重要的發明和進展。一般理解密碼學(Cryptography)就是保護信息傳遞的機密性。但這僅僅是當今密碼學主題的一個方面。對信息發送與接收人的真實身份的驗證、對所發出/接收信息在事後的不可抵賴以及保障數據的完整性是現代密碼學主題的另一方面。
公開密鑰密碼體制對這兩方面的問題都給出了出色的解答,並正在繼續產生許多新的思想和方案。在公鑰體制中,加密密鑰不同於解密密鑰。人們將加密密鑰公之於眾,誰都可以使用;而解密密鑰只有解密人自己知道。迄今為止的所有公鑰密碼體系中,RSA系統是最著名、使用最廣泛的一種。
1976年提出公共密鑰密碼體制,其原理是加密密鑰和解密密鑰分離。這樣,一個具體用戶就可以將自己設計的加密密鑰和演算法公諸於眾,而只保密解密密鑰。任何人利用這個加密密鑰和演算法向該用戶發送的加密信息,該用戶均可以將之還原。公共密鑰密碼的優點是不需要經安全渠道傳遞密鑰,大大簡化了密鑰管理。它的演算法有時也稱為公開密鑰演算法或簡稱為公鑰演算法。
1978年提出公共密鑰密碼的具體實施方案,即RSA方案。
1991年提出的DSA演算法也是一種公共密鑰演算法,在數字簽名方面有較大的應用優勢。
公鑰體系結構中的概念
公鑰體系結構中的一些基本概念與結構組成。
密鑰對在基於公鑰體系的安全系統中,密鑰是成對生成的,每對密鑰由一個公鑰和一個私鑰組成。在實際應用中,私鑰由擁有者自己保存,而公鑰則需要公布於眾。為了使基於公鑰體系的業務(如電子商務等)能夠廣泛應用,一個基礎性關鍵的問題就是公鑰的分發與管理。
公鑰本身並沒有什麼標記,僅從公鑰本身不能判別公鑰的主人是誰。
在很小的范圍內,比如A和B這樣的兩人小集體,他們之間相互信任,交換公鑰,在互聯網上通訊,沒有什麼問題。這個集體再稍大一點,也許彼此信任也不成問題,但從法律角度講這種信任也是有問題的。如再大一點,信任問題就成了一個大問題。
證書
互聯網路的用戶群決不是幾個人互相信任的小集體,在這個用戶群中,從法律角度講用戶彼此之間都不能輕易信任。所以公鑰加密體系採取了另一個辦法,將公鑰和公鑰的主人名字聯系在一起,再請一個大家都信得過有信譽的公正、權威機構確認,並加上這個權威機構的簽名。這就形成了證書。
由於證書上有權威機構的簽字,所以大家都認為證書上的內容是可信任的;又由於證書上有主人的名字等身份信息,別人就很容易地知道公鑰的主人是誰。
CA(Certificate Authority)
前面提及的權威機構就是電子簽證機關(即CA)。CA也擁有一個證書(內含公鑰),當然,它也有自己的私鑰,所以它有簽字的能力。網上的公眾用戶通過驗證CA的簽字從而信任CA,任何人都應該可以得到CA的證書(含公鑰),用以驗證它所簽發的證書。
如果用戶想得到一份屬於自己的證書,他應先向CA提出申請。在CA判明申請者的身份後,便為他分配一個公鑰,並且CA將該公鑰與申請者的身份信息綁在一起,並為之簽字後,便形成證書發給那個用戶(申請者)。
如果一個用戶想鑒別另一個證書的真偽,他就用CA的公鑰對那個證書上的簽字進行驗證(如前所述,CA簽字實際上是經過CA私鑰加密的信息,簽字驗證的過程還伴隨使用CA公鑰解密的過程),一旦驗證通過,該證書就被認為是有效的。
CA除了簽發證書之外,它的另一個重要作用是證書和密鑰的管理。
由此可見,證書就是用戶在網上的電子個人身份證,同日常生活中使用的個人身份證作用一樣。CA相當於網上公安局,專門發放、驗證身份證。
公開密鑰演算法-RSA
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來完成對電文的數字簽名以抗對電文的否認與抵賴;同時還可以利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完整性。
通常信息安全的目標可以概括為解決信息的以下問題:
保密性(Confidentiality)保證信息不泄露給未經授權的任何人。
完整性(Integrity)防止信息被未經授權的人篡改。
可用性(Availability)保證信息和信息系統確實為授權者所用。
可控性(Controllability)對信息和信息系統實施安全監控,防止非法利用信息和信息系統。
密碼是實現一種變換,利用密碼變換保護信息秘密是密碼的最原始的能力,然而,隨著信息和信息技術發展起來的現代密碼學,不僅被用於解決信息的保密性,而且也用於解決信息的完整性、可用性和可控性。可以說,密碼是解決信息安全的最有效手段,密碼技術是解決信息安全的核心技術。
公用密鑰的優點就在於,也許你並不認識某一實體,但只要你的伺服器認為該實體的CA是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求的。例如信用卡購物。服務方對自己的資源可根據客戶CA的發行機構的可靠程度來授權。目前國內外尚沒有可以被廣泛信賴的CA。美國Natescape公司的產品支持公用密鑰,但把Natescape公司作為CA。由外國公司充當CA在我國是一件不可想像的事情。
公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實際傳輸的數據加密解密。另外,公鑰加密也用來對專用密鑰進行加密。
在這些安全實用的演算法中,有些適用於密鑰分配,有些可作為加密演算法,還有些僅用於數字簽名。多數演算法需要大數運算,所以實現速度很慢,不能用於快的數據加密。以下將介紹典型的公開密鑰密碼演算法-RSA。
RSA演算法很好的完成對電文的數字簽名以抗對數據的否認與抵賴;利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完整性。目前為止,很多種加密技術採用了RSA演算法,比如PGP(PrettyGoodPrivacy)加密系統,它是一個工具軟體,向認證中心注冊後就可以用它對文件進行加解密或數字簽名,PGP所採用的就是RSA演算法。由此可以看出RSA有很好的應用。
密鑰的產生
1. 選擇兩個大素數,p 和q 。
2. 計算: n = p * q (p,q分別為兩個互異的大素數,p,q 必須保密,一般要求p,q為安全素數,n的長度大於512bit ,這主要是因為RSA演算法的安全性依賴於因子分解大數問題)。有歐拉函數 (n)=(p-1)(q-1)。
3. 然後隨機選擇加密密鑰e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互質。
4. 最後,利用Euclid 演算法計算解密密鑰d, 滿足de≡1(mod φ(n))。其中n和d也要互質。數e和n是公鑰,d是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。
加密與解密
1. 加密信息 m(二進製表示)時,首先把m分成等長數據塊 m1 ,m2,..., mi ,塊長s,其中 2^s <= n, s 盡可能的大。
2. 對應的密文是:ci ≡mi^e ( mod n ) ( a )
3. 解密時作如下計算:mi ≡ci^d ( mod n ) ( b ) RSA 可用於數字簽名,方案是用 ( a ) 式簽名, ( b )式驗證
Ⅲ win10怎樣把批量密鑰轉為零售密鑰
使用「Win+R」快捷鍵打開「運行」窗口,輸入"slmgr.vbs /dlv"。回車後請注意彈出窗口中第三行內專容「屬Windows(R) Operating System, ********* channel」,其中的星號部分便代表著你的系統密鑰類型。其中Retail代表零售密鑰、VOLUME代表批量授權密鑰。
如果是區分密鑰,可以使用pidgen這個工具檢測,Retail代表零售密鑰、VOLUME代表批量授權密鑰
Ⅳ 怎麼把pem密鑰轉為key pub
將密鑰上傳到一台自己的linux主機,下面舉例文件名為
key.pemchmod
600
key.pem改寫密鑰格式為
OpenSSH,如果詢問回passphrase可以留空(直接回車)答ssh-keygen
-p
-f
key.pem生成公密鑰
.pub
文件。使用公密鑰時,SecureCRT會詢問私密鑰或者.pem文件ssh-keygen
-e
-f
key.pem
>>
key.pem.pub現在可以在
SecureCRT
中使用剛生成的公密鑰了。
查看原帖>>
Ⅳ 密鑰 (Hex)轉換
code unsigned char HEX_table[]=
{
''''
};
這樣就是ASCII了.
Ⅵ 求microsoft office system 2007試用版轉換為完整版的產品密鑰
你去下個完整版的!!! 我以前和你一樣, 傻乎乎的去網上密鑰 把密鑰打上去後 讓我重啟內, 重啟了容N次, 激活向導都不好使, 結果 什麼都幹不了了
你現在就應該把Microsoft Office 2007試用版徹底刪除 下個完整版的 然後在安裝就行了 你去這個網站下個吧 我記得我那陣就是在這下的 http://58.251.57.206/down?cid=&t=2&fmt=&usrinput=office 2007 vista&dt=2004000&ps=0_0&rt=0kbs&plt=0
Ⅶ windows10密鑰,想把企業版轉換成專業版或者家庭版的密鑰
我是在淘寶買過幾個不同系統的密鑰都很好用,2-10元都買過,您進入搜索您需要系統的密鑰就可以了。
密鑰是一機一號,用過就不能在用。
Ⅷ 只有地址和密鑰怎麼轉移ustd
不能 微軟公司說的是 一個序列號只能裝一次系統,似乎用了相當高級的技術記住最開始安裝win7電腦的硬碟或某個地址。。
Ⅸ 如何把putty里ppk密鑰轉換成 linux下的open ssh密鑰
在Linux 主機下產生的私鑰文件putty是不認識的,putty只認識自己的ppk格式,要在這兩種格式之內間轉容換,需要PuTTYgen這個程序。 puttygen是putty的配套程序,putty的安裝包和winscp的安裝包都包含了這個程序,當然你也可以在
Ⅹ win7密鑰能夠轉到另一台電腦上嗎
零售授權可以做5次硬體變更,我自己沒有弄過,都是給微軟客服打電話進行咨詢的,咨詢電話:800-830-1832