導航:首頁 > 文檔加密 > 12位是由啥加密的

12位是由啥加密的

發布時間:2025-02-12 11:41:41

『壹』 6至12位數字和字母組成密碼怎麼設

如aabb89。6至12位數字和字母組成的密碼是位數要超過6位,然後需要由字母和數字組合。

如果你用bb99,少於6位,不能設置密碼。如果你用GGHJKL,也不行,都是字母,沒有數字。一定要用數字和字母組合。

(1)12位是由啥加密的擴展閱讀

密碼的加密方法:

1、替換加密法:用一個字元替換另一個字元的加密方法。

2、換位加密法:重新排列明文中的字母位置的加密法。

3、回轉輪加密法:一種多碼加密法,它是用多個回轉輪,每個回轉輪實現單碼加密。這些回轉輪可以組合在一起,在每個字母加密後產生一種新的替換模式。

4、多碼加密法:一種加密法,其替換形式是:可以用多個字母來替換明文中的一個字母。

5、夾帶法:通過隱藏消息的存在來隱藏消息的方法。

6、其它演算法,如XOR、CA (流加密法)、MD5、SHA1、(流加密法)ElGamal、Diffie-Hellman、新型橢圓曲線演算法ECC(數字簽名、公匙加密法)等。密碼可運用於電腦里的文件保護,防止泄露個人信息。

『貳』 密碼學基礎(三):非對稱加密(RSA演算法原理)

加密和解密使用的是兩個不同的秘鑰,這種演算法叫做非對稱加密。非對稱加密又稱為公鑰加密,RSA只是公鑰加密的一種。

現實生活中有簽名,互聯網中也存在簽名。簽名的作用有兩個,一個是身份驗證,一個是數據完整性驗證。數字簽名通過摘要演算法來確保接收到的數據沒有被篡改,再通過簽名者的私鑰加密,只能使用對應的公鑰解密,以此來保證身份的一致性。

數字證書是將個人信息和數字簽名放到一起,經由CA機構的私鑰加密之後生成。當然,不經過CA機構,由自己完成簽名的證書稱為自簽名證書。CA機構作為互聯網密碼體系中的基礎機構,擁有相當高級的安全防範能力,所有的證書體系中的基本假設或者前提就是CA機構的私鑰不被竊取,一旦 CA J機構出事,整個信息鏈將不再安全。

CA證書的生成過程如下:

證書參與信息傳遞完成加密和解密的過程如下:

互質關系:互質是公約數只有1的兩個整數,1和1互質,13和13就不互質了。
歐拉函數:表示任意給定正整數 n,在小於等於n的正整數之中,有多少個與 n 構成互質關系,其表達式為:

其中,若P為質數,則其表達式可以簡寫為:

情況一:φ(1)=1
1和任何數都互質,所以φ(1)=1;

情況二:n 是質數, φ(n)=n-1
因為 n 是質數,所以和小於自己的所有數都是互質關系,所以φ(n)=n-1;

情況三:如果 n 是質數的某一個次方,即 n = p^k ( p 為質數,k 為大於等於1的整數),則φ(n)=(p-1)p^(k-1)
因為 p 為質數,所以除了 p 的倍數之外,小於 n 的所有數都是 n 的質數;

情況四:如果 n 可以分解成兩個互質的整數之積,n = p1 × p2,則φ(n) = φ(p1p2) = φ(p1)φ(p2)

情況五:基於情況四,如果 p1 和 p2 都是質數,且 n=p1 × p2,則φ(n) = φ(p1p2) = φ(p1)φ(p2)=(p1-1)(p2-1)

而 RSA 演算法的基本原理就是歐拉函數中的第五種情況,即: φ(n)=(p1-1)(p2-1);

如果兩個正整數 a 和 n 互質,那麼一定可以找到整數 b,使得 ab-1 被 n 整除,或者說ab被n除的余數是1。這時,b就叫做a的「模反元素」。歐拉定理可以用來證明模反元素必然存在。

可以看到,a的 φ(n)-1 次方,就是a對模數n的模反元素。

n=p x q = 3233,3233寫成二進制是110010100001,一共有12位,所以這個密鑰就是12位。

在實際使用中,一般場景下選擇1024位長度的數字,更高安全要求的場景下,選擇2048位的數字,這里作為演示,選取p=61和q=53;

因為n、p、q都為質數,所以φ(n) = (p-1)(q-1)=60×52= 3120

注意,這里是和φ(n) 互互質而不是n!假設選擇的值是17,即 e=17;

模反元素就是指有一個整數 d,可以使得 ed 被 φ(n) 除的余數為1。表示為:(ed-1)=φ(n) y --> 17d=3120y+1,算出一組解為(2753,15),即 d=2753,y=-15,也就是(17 2753-1)/3120=15。

注意,這里不能選擇3119,否則公私鑰相同??

公鑰:(n,e)=(3233,2753)
私鑰:(n,d)=(3233,17)

公鑰是公開的,也就是說m=p*q=3233是公開的,那麼怎麼求e被?e是通過模反函數求得,17d=3120y+1,e是公開的等於17,這時候想要求d就要知道3120,也就是φ(n),也就是φ(3233),說白了,3233是公開的,你能對3233進行因數分解,你就能知道d,也就能破解私鑰。

正常情況下,3233我們可以因數分解為61*53,但是對於很大的數字,人類只能通過枚舉的方法來因數分解,所以RSA安全性的本質就是:對極大整數做因數分解的難度決定了RSA演算法的可靠性。換言之,對一極大整數做因數分解愈困難,RSA演算法愈可靠。

人類已經分解的最大整數是:

這個人類已經分解的最大整數為232個十進制位,768個二進制位,比它更大的因數分解,還沒有被報道過,因此目前被破解的最長RSA密鑰就是768位。所以實際使用中的1024位秘鑰基本安全,2048位秘鑰絕對安全。

網上有個段子:

已經得出公私鑰的組成:
公鑰:(n,e)=(3233,2753)
私鑰:(n,d)=(3233,17)
加密的過程就是

解密過程如下:

其中 m 是要被加密的數字,c 是加密之後輸出的結果,且 m < n ,其中解密過程一定成立可以證明的,這里省略證明過程。

總而言之,RSA的加密就是使用模反函數對數字進行加密和求解過程,在實際使用中因為 m < n必須成立,所以就有兩種加密方法:

對稱加密存在雖然快速,但是存在致命的缺點就是秘鑰需要傳遞。非對稱加密雖然不需要傳遞秘鑰就可以完成加密和解密,但是其致命缺點是速度不夠快,不能用於高頻率,高容量的加密場景。所以才有了兩者的互補關系,在傳遞對稱加密的秘鑰時採用非對稱加密,完成秘鑰傳送之後採用對稱加密,如此就可以完美互補。

『叄』 資料庫應用多少位存md5加密後的密碼例如12位密碼加密後也是12位嗎

常見的有16位和32位.......12位數如果是用16位加密.顯示的是16位.32也一樣.

『肆』 ★sql server資料庫里什麼加密演算法加密後為12位數字

for i = 1 to len
p_pass = string(asc(mid(parent.sle_2.text,i,1))) + p_pass
next
//的意思是從左到右依次取出parent.sle_2.text內的字元,將他們轉換為asc碼後,從右到左存入p_pass中(先取出的先存進)
解密就是,把asc碼轉換為字元,再倒序就是密碼了.
關鍵在於找出數字密碼中正確的asc碼.
理論上ASCⅡ碼是從0-127,但是實際上只用判斷33-126。
密碼的asc碼范圍在33-126中,所以只用判斷每兩位的首位是否大於1,大於1則取兩位,否則取3位,然後從剩下位置的開始從新判斷

定義數組a //用於存入數字密碼
定義數組b //用於保存結果,
定義ii = 0 //數組b下標,初始化為0
定義函數f(i) //參數i為數組a下標
f(0) //調用函數,初始參數為0
f(i) //函數實現
{
判斷a[i]是否為空,不為空則
{
判斷如果a[i]>1
b[ii]=a[i]+a[i+1]
ii++
f(i+1)
否則
b[ii]=a[i]+a[i+1]+a[i+2]
ii++
f(i+2)
}
否則a[i]為空,退出函數
}
得到數組b每個元素保存的就是正確的asc碼,
將asc碼轉換為對應字元,倒序,就是你要的結果了.

由於不清楚使用的什麼語言,所以我沒有直接寫出代碼,不過上面的解釋已經夠清楚了吧,
另:這個加密演算法非常簡單,
但是如果不是我想的這么簡單,mid(),asc(),string()被重載過了,很遺憾你必須找出他們的重載函數,才能對症下葯,我這里的方法就要改變了

『伍』 非對稱加密之-RSA加密

對一個大整數進行因數分解,在高等數學中叫做費馬大定理,至今沒有被破解
RSA演算法是最流行的公鑰密碼演算法,使用長度可以變化的密鑰。RSA是第一個既能用於數據加密也能用於數字簽名的演算法。

這是目前地球上最重要的加密演算法

至此,所有計算完成。
將 n和e封裝成公鑰 , n和d封裝成私鑰 。

回顧上面的密鑰生成步驟,一共出現六個數字:

這六個數字之中,公鑰用到了兩個(n和e),其餘四個數字都是不公開的。其中最關鍵的是d,因為n和d組成了私鑰,一旦d泄漏,就等於私鑰泄漏。
那麼, 有無可能在已知n和e的情況下,推導出d?

最終轉換成->結論: 如果n可以被因數分解,d就可以算出,也就意味著私鑰被破解。

第一步 :首先生成秘鑰對

第二步 :公鑰加密

第三步 :私鑰解密

幾個全局變數解說:

關於加密填充方式:之前以為上面這些操作就能實現rsa加解密,以為萬事大吉了,呵呵,這事還沒完,悲劇還是發生了, android這邊加密過的數據,伺服器端死活解密不了, ,這造成了在android機上加密後無法在伺服器上解密的原因,所以在實現的時候這個一定要注意

實現分段加密:搞定了填充方式之後又自信的認為萬事大吉了,可是意外還是發生了,RSA非對稱加密內容長度有限制,1024位key的最多隻能加密127位數據,否則就會報錯(javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes) ,RSA 是常用的非對稱加密演算法。最近使用時卻出現了「不正確的長度」的異常,研究發現是由於待加密的數據超長所致。RSA 演算法規定:待加密的位元組數不能超過密鑰的長度值除以 8 再減去 11(即:KeySize / 8 - 11),而加密後得到密文的位元組數,正好是密鑰的長度值除以 8(即:KeySize / 8)。

愛麗絲選擇了61和53。(實際應用中,這兩個質數越大,就越難破解。)

愛麗絲就把61和53相乘

n的長度就是密鑰長度。3233寫成二進制是110010100001,一共有12位,所以這個密鑰就是12位。實際應用中,RSA密鑰一般是1024位,重要場合則為2048位

愛麗絲算出φ(3233)等於60×52,即3120。

愛麗絲就在1到3120之間,隨機選擇了17。(實際應用中,常常選擇65537。)

所謂 "模反元素" 就是指有一個整數d,可以使得ed被φ(n)除的余數為1。

這個式子等價於

於是,找到模反元素d,實質上就是對下面這個二元一次方程求解。

已知 e=17, φ(n)=3120,

至此所有計算完成

在愛麗絲的例子中,n=3233,e=17,d=2753,所以公鑰就是 (3233,17),私鑰就是(3233, 2753)。

實際應用中,公鑰和私鑰的數據都採用 ASN.1 格式表達

回顧上面的密鑰生成步驟,一共出現六個數字:

這六個數字之中,公鑰用到了兩個(n和e),其餘四個數字都是不公開的。其中最關鍵的是d,因為n和d組成了私鑰,一旦d泄漏,就等於私鑰泄漏。
那麼,有無可能在已知n和e的情況下,推導出d?

結論:如果n可以被因數分解,d就可以算出,也就意味著私鑰被破解。

可是,大整數的因數分解,是一件非常困難的事情。目前,除了暴力破解,還沒有發現別的有效方法。維基網路這樣寫道

舉例來說,你可以對3233進行因數分解(61×53),但是你沒法對下面這個整數進行因數分解。

它等於這樣兩個質數的乘積

事實上,RSA加密的方式原理是一個高等數學中沒有被解決的難題,所有沒有可靠的RSA的破解方式

閱讀全文

與12位是由啥加密的相關的資料

熱點內容
megawin單片機 瀏覽:685
以色列加密貨幣監督 瀏覽:907
程序員前端現在怎麼樣 瀏覽:497
伺服器和介面地址ping不通 瀏覽:555
linux命令返回上級目錄 瀏覽:897
移動花卡寶藏版為什麼不能選免流app 瀏覽:255
速騰carplay怎麼用安卓 瀏覽:13
紅塔銀行app怎麼樣 瀏覽:564
農行app怎麼開網銀 瀏覽:651
java迭代器遍歷 瀏覽:303
閩政通無法請求伺服器是什麼 瀏覽:48
怎麼做積木解壓神器 瀏覽:205
王者榮耀解壓玩具抽獎 瀏覽:49
12位是由啥加密的 瀏覽:871
程序員編迷你世界代碼 瀏覽:898
php取現在時間 瀏覽:248
單片機高吸收 瀏覽:430
怎麼區分五代頭是不是加密噴頭 瀏覽:246
hunt測試伺服器是什麼意思 瀏覽:511
2013程序員考試 瀏覽:641