亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)

waterc / 3706人閱讀

摘要:由于密鑰被暴露了,所以必須換新的密鑰,元首這會(huì)兒只能走途徑告訴古德里安新的密鑰,這會(huì)兒逗逼的事情來了,如何對(duì)密鑰進(jìn)行加密。但是,有一點(diǎn)是值得說明,那就是無論是對(duì)稱加密還是非對(duì)稱加密,都頂不住用機(jī)器是強(qiáng)行暴力猜解私鑰。

懶漢

入門

這兩點(diǎn)就足以說明這篇文章不想要著有什么高端大氣的技術(shù)內(nèi)容,我跟你講,全是水。不可能有什么質(zhì)數(shù)素?cái)?shù)、橢圓曲線加密、迪菲-赫爾曼什么的,不可能有的。

首先我不懂,其次,反正你們也不懂。

不過這里還是要先說一點(diǎn)兒,就是很多泥腿子一直拿md5當(dāng)加密算法來看待,但實(shí)際上md5是一種信息摘要算法(其實(shí)就是哈希),不是加密算法,因?yàn)閙d5不可逆,但是加解密是一個(gè)可逆的過程,所以以后這種低級(jí)錯(cuò)誤還是不要犯的為好。

加密技術(shù)一直是技術(shù)圈中的一個(gè)獨(dú)特領(lǐng)域和分支,其一些原理并不是隨隨便便就可以理解的來的。如果沒有良好的數(shù)學(xué)底子,怕是很難研究下去。但是,作為一篇水文,不研究原理,僅僅來用一用來實(shí)踐一把,還是沒什么大問題的。

加密分為兩大類:

對(duì)稱加密,常見算法有DES、3DES、AES等等,據(jù)說AES是比較屌的最新最常用的算法

非對(duì)稱加密,RSA、DSA、ECDH等等

對(duì)稱加密用粗話說就是用同一個(gè)密鑰對(duì)信息加解密。比如元首要操作東線戰(zhàn)場了,給古德里安發(fā)了一段電報(bào),大概意思就是“你給我閃開,讓我操作!立馬南下打基輔!”,但是元首又怕朱可夫給看到這段消息,于是元首就用了一個(gè)強(qiáng)壯的密鑰123456來加密這段話,然后這段話就變成akjdslfjalwjglajwg了。古德里安收到這坨亂七八糟的玩意后,用123456來解密一下,得到明文“你給我閃開,讓我操作!立馬南下打基輔!”,然而朱可夫由于抓破腦殼也想不到這個(gè)超級(jí)密鑰123456,所以朱可夫注定一臉懵逼,最終導(dǎo)致基輔60萬蘇軍被奸!但是這里面有一個(gè)問題就是元首是如何告訴古德里安私鑰是123456的。

兩個(gè)人提前就商量好了,1941年6月22日的前一天偷偷商量好了。。。

兩個(gè)人不是提前商量好的,而是古德里安到東線后,元首通過打電話、發(fā)電報(bào)、QQ、微信。。。 。。。

對(duì)于朱可夫來說,如果對(duì)方采用了方案1,那么他也沒啥好辦法,只能等潛伏在古德里安身邊的特工臥底返回123456。由于密鑰被暴露了,所以必須換新的密鑰,元首這會(huì)兒只能走途徑2告訴古德里安新的密鑰,這會(huì)兒逗逼的事情來了,如何對(duì)密鑰進(jìn)行加密。答案是不能,此時(shí)問題陷入到欲要加密,必先加密的矛盾中。所以,這個(gè)密鑰是注定要通過明文傳輸了,只要是明文傳輸,朱可夫就一定有機(jī)會(huì)把密鑰搞到手。

非對(duì)稱加密就是解決這個(gè)難題而生。密鑰換來換去還想不暴露,扯犢子。還是元首和古德里安,這會(huì)兒他倆分別生成一對(duì)自己的公鑰和私鑰。這里需要強(qiáng)調(diào)的是:

公鑰和私鑰是成雙成對(duì)生成的,二者之間通過某種神秘的數(shù)學(xué)原理連接著,具體是啥,我也不知道

公鑰加密的數(shù)據(jù),只能通過相應(yīng)的私鑰解密;私鑰加密的數(shù)據(jù),只能通過對(duì)應(yīng)的公鑰解密

公鑰可以頒發(fā)給任何人,然而私鑰你自己偷偷摸摸藏到自己褲襠里,別弄丟了

這會(huì)兒就簡單了,元首把自己公鑰給古德里安,然后古德里安把自己公鑰給元首,然后都偷偷摸摸保存好自己的私鑰。有一天,元首告訴古德里安“你丫別干了,天天不聽我操作!”,然后用古德里安頒發(fā)的公鑰加密好了,然后讓空軍到東線直接仍傳單,扔的滿地都是,古德里安看到后從褲襠里拿出自己的私鑰解密,然后就立馬請(qǐng)假回家休息了,回去前用元首的公鑰加密了如下消息“傻逼,老子還不伺候了!”,然后讓空軍回去撒了柏林一地,元首看到后從褲襠里拿出自己的私鑰一解密:“臥槽。。?!?。雖然這雙方都是大大咧咧的發(fā)傳單,但是朱可夫只能在旁邊一臉懵逼、生無可戀。因?yàn)橛糜诮饷艿乃借€從來不會(huì)在外流通,所以,泄露的可能性是0。

但是,有一點(diǎn)是值得說明,那就是無論是對(duì)稱加密還是非對(duì)稱加密,都頂不住用機(jī)器是強(qiáng)行暴力猜解私鑰。一年不行兩年,兩年不行二十年,二十年不行一百年,總是能猜出來的,這是沒有辦法的一件事情。大家可以搜一搜關(guān)于768bit RSA被KO的事件,是吧。

下面我們從gayhub上扒了一個(gè)對(duì)稱加密的庫下來,嘗試一把a(bǔ)es對(duì)稱加密算法,地址如下:

https://github.com/ivantcholakov/gibberish-aes-php

直接git clone到目錄中,然后測試代碼如下:


保存為test.php,運(yùn)行一下結(jié)果如下:

然后我們將上面代碼反復(fù)運(yùn)行100,000次,看看耗費(fèi)多長時(shí)間:

require "GibberishAES.php";
$pass   = "123456";
$string = "你好,古德里安,我是希特勒,你趕緊給我滾回來...";
GibberishAES::size(256);
$start_time = microtime( true );
for( $i = 1; $i <= 100000; $i++ ) {
  $encrypted_string = GibberishAES::enc( $string, $pass );
  $decrypted_string = GibberishAES::dec( $encrypted_string, $pass );
}
$end_time = microtime( true );
echo "一共耗時(shí):".( $end_time -  $start_time ).PHP_EOL;

保存為test.php,運(yùn)行一下結(jié)果如下:

然后,我們?cè)偃ayhub上扒一個(gè)非對(duì)稱加密的library,比如這個(gè):

https://github.com/vlucas/pik...

我們把代碼扒下來,然后自己寫個(gè)demo試一下,如下:

encrypt( $data );
$decrypted = $rsa->decrypt( $encrypted );
echo "加密過后的:".$encrypted.PHP_EOL;
echo "解密過后的:".$decrypted.PHP_EOL;

保存為test.php運(yùn)行一下,如下圖所示:

然后我們將上面代碼反復(fù)運(yùn)行100,000次,看看耗費(fèi)多長時(shí)間,這里只貼關(guān)鍵部分代碼:

encrypt( $data );
  $decrypted = $rsa->decrypt( $encrypted );
}
$end = microtime( true );
echo "一共耗時(shí):".( $end - $start ).PHP_EOL;

然后,運(yùn)行結(jié)果如下圖所示(實(shí)際上由于等待時(shí)間太長了,我索性去刷牙洗臉了):

不用驚訝,鈦合金狗眼是否已被亮瞎?瞎也沒用,這是真的,代碼也沒有問題,就是要這么長時(shí)間,沒有辦法。

那么問題來了,挖掘機(jī)學(xué)... ...對(duì)稱加密不安全,非對(duì)稱加密要人命,有沒有什么好的辦法?

廢話,當(dāng)然有... ...

最近開了一個(gè)微信公眾號(hào),所有文章都先發(fā)這里

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/31317.html

相關(guān)文章

  • 關(guān)于PHP解密青年抬高(API安全強(qiáng)二)

    摘要:實(shí)際上這一篇和上一篇均可以看作是關(guān)于加解密的懶漢入門篇安全加強(qiáng)篇一的后續(xù),只不過側(cè)重點(diǎn)在于安全上?;氐缴掀Y(jié)果提到的問題,就是對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。 為什么標(biāo)題總是要帶上API安全關(guān)鍵字呢?因?yàn)槲蚁胛覙芬狻?實(shí)際上這一篇和上一篇均可以看作是《關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)》》)的后續(xù),只不過...

    wujl596 評(píng)論0 收藏0
  • 關(guān)于PHP解密青年抬高(API安全強(qiáng)二)

    摘要:實(shí)際上這一篇和上一篇均可以看作是關(guān)于加解密的懶漢入門篇安全加強(qiáng)篇一的后續(xù),只不過側(cè)重點(diǎn)在于安全上?;氐缴掀Y(jié)果提到的問題,就是對(duì)稱加密的安全性要人命,非對(duì)稱加密的性能非常要人命。元首作為高智商罪犯,這種低級(jí)錯(cuò)誤是不可能犯的。 為什么標(biāo)題總是要帶上API安全關(guān)鍵字呢?因?yàn)槲蚁胛覙芬狻?實(shí)際上這一篇和上一篇均可以看作是《關(guān)于PHP加解密的懶漢入門篇(API安全加強(qiáng)篇一)》》)的后續(xù),只不過...

    付倫 評(píng)論0 收藏0
  • 關(guān)于PHP解密之終扯到ECDH了(API安全強(qiáng)三)

    摘要:很明顯,非對(duì)稱加密的極大的消耗成了一種瓶頸。其中,利用非對(duì)稱加密的方案大概就是我前面說的那樣,偽代碼已經(jīng)展示過了。 其實(shí),前面兩篇翻來覆去只為叨逼叨叨逼叨兩件事情: 對(duì)稱加解密,典型算法有AES、DES、3DES等等 非對(duì)稱加解密,典型的算法有RSA、DSA、ECDH等等 但是,我知道大家最討厭在看這種文章的時(shí)候冒出來的一坨橢圓曲線、素?cái)?shù)、質(zhì)數(shù)等等這樣的玩意,反正看也看不懂,理解也...

    lcodecorex 評(píng)論0 收藏0
  • 我發(fā)誓這真是最后一關(guān)于ECDH文兒?。?em>API安全強(qiáng)四)

    摘要:這種神奇的算法可以讓你服務(wù)器和客戶端在不傳輸該對(duì)稱密鑰的情況下就可以通過心有靈犀地方式各自計(jì)算出一個(gè)對(duì)稱密鑰,而且可以一樣,避免了該密鑰在網(wǎng)絡(luò)上流通,而且你可以隨意更換,過期時(shí)間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問題。 首先是前段時(shí)間我在公眾號(hào)里被人批(dui)評(píng)(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素?cái)?shù)啥的,你就說這玩意實(shí)際項(xiàng)目中怎么用就完了,我...

    IntMain 評(píng)論0 收藏0
  • 我發(fā)誓這真是最后一關(guān)于ECDH文兒?。?em>API安全強(qiáng)四)

    摘要:這種神奇的算法可以讓你服務(wù)器和客戶端在不傳輸該對(duì)稱密鑰的情況下就可以通過心有靈犀地方式各自計(jì)算出一個(gè)對(duì)稱密鑰,而且可以一樣,避免了該密鑰在網(wǎng)絡(luò)上流通,而且你可以隨意更換,過期時(shí)間定為分鐘,可謂是狠毒至極我們引入就是為了解決上面的問題。 首先是前段時(shí)間我在公眾號(hào)里被人批(dui)評(píng)(gang)了,大概意思就是:你別老整那ECDH又是橢圓又是素?cái)?shù)啥的,你就說這玩意實(shí)際項(xiàng)目中怎么用就完了,我...

    Barrior 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<