Google 發表了三個 Hash 演算法的實作

Google 發表了三個 Hash 演算法的實作:「New algorithms may lower the cost of secure computing」。

第一個是 SipHash 的加速實作,透過 AVX-2 指令集加速,看維基百科的資料,2011 後的 Intel/AMD CPU 似乎都有提供這組指令集:

Our first hash function produces the same output as SipHash, but 1.5 times as quickly thanks to AVX-2 instructions.

第二個是 SipHash 的改良版,但輸出不同 (所以不是 SipHash),但速度比 SipHash 更快:

The second improvement uses j-lanes tree hashing to process multiple inputs in parallel, which is 3 times as fast. This technique is known to be secure, but produces different output than the original SipHash and is slightly slower for short inputs.

第三個則是新的 Hash,速度比前兩者又更快了,但還需要有更多人分析才能確認安全性:

HighwayHash is based on a new way of mixing inputs with just a few AVX-2 multiply and permute instructions. We are hopeful that the result is a cryptographically strong pseudorandom function, but new cryptanalysis methods might be needed for analyzing this promising family of hash functions. HighwayHash is significantly faster than SipHash for all measured input sizes, with about 7 times higher throughput at 1 KiB.

三者的程式碼都可以在 GitHub 上的「google/highwayhash」找到,看 LICENSE 檔案是 Apache License 2.0

Oculus 的創辦人根本就是在抱怨 Mac 太慢了 XDDD

Oculus 的創辦人 Palmer Luckey 說明為什麼在 Mac 上沒有 Rift 可以用:「Oculus Founder: Rift will come to Mac if Apple “ever releases a good computer”」。

回應其實頗委婉:

[,] according to Oculus co-founder Palmer Luckey, it "is up to Apple" to change that state of affairs. Specifically, "if they ever release a good computer, we will do it," he told Shacknews recently.

但實際上就是在抱怨 Mac 太慢了 XDDD

"It just boils down to the fact that Apple doesn’t prioritize high-end GPUs," he said. "You can buy a $6,000 Mac Pro with the top-of-the-line AMD FirePro D700, and it still doesn’t match our recommended specs."

看起來 VR 會再促進硬體進步...

在瀏覽器上面用 JavaScript 進行 Side-channel attack

用 JavaScript 就可以攻擊 L3 cache,進而取得資料:「JavaScript CPU cache snooper tells crooks EVERYTHING you do online」。

論文出自「The Spy in the Sandbox – Practical Cache Attacks in Javascript」(PDF) 這篇。

不需要任何外掛或 exploit,就純粹是利用 cache 反應時間的 side-channel attack。另外由於 AMD 的 cache 架構不同,這次的攻擊實作僅對 Intel 有效:

The Intel cache micro-architecture isinclusive– all elements in the L1 cache must also exist in the L2 and L3 caches. Conversely, if a memory element is evicted fromthe L3 cache, it is also immediately evicted from the L2 and L1 cache. It should be noted that the AMD cachemicro-architecture is exclusive, and thus the attacks described in this report are not immediately applicable tothat platform.

這次的攻擊方法真變態...

因為 Google Chrome 太慢而換 CPU (以及主機板)

本來是用 AMDX4 905e,拿來跑 Ubuntu 當跳板機,偶而看看影片還算夠用,不過 Google Chrome 的速度已經影響到工作了,星期六晚上家庭聚餐結束後就去八德路上原價屋拿了一顆新的 CPU 與主機板...

換上 IntelXeon E3-1230 v3 後 Ubuntu 也不需要重裝,Google Chrome 的速度也快多了...


取自「PassMark - AMD Phenom II X4 905e - Price performance comparison


取自「PassMark - Intel Xeon E3-1230 v3 @ 3.30GHz - Price performance comparison

沒想到是因為瀏覽器而換 CPU...

AMD 的 AMD64 (以及後來 Intel 的 EM64T)...

Slashdot 上看到一段歷史:「The Chip That Changed the World: AMD's 64-bit FX-51, Ten Years Later」,以及引用的報導「The chip that changed the world: AMD’s 64-bit FX-51, ten years later」。

當年 Intel 決定以 Itanium 架構為主,不相容於原來的 x86 架構,而 AMD 則是針對 x86 相容開發出 AMD64,而 AMD 的第一顆 AMD64 CPU 就是 FX-51。

這個決策改變了整個產業的發展,也讓 AMD 在當時的市占率追近 Intel 不少,逼的 Intel 後來推出與 AMD64 相容的 EM64T。十年過去,現在看不到 Itanium 了...

一段歷史...

jQuery 1.11 Beta 1 與 2.1 Beta 1...

特地寫是因為 jQuery 1.11 將會是第一個完整切換到 AMD (Asynchronous Module Definition) 架構的版本:「jQuery 1.11 and 2.1 Beta 1 Released」。

雖然對 AMD 並不是全正面的看法,不過畢竟是一個通用的標準...

最大消耗 220W 的 CPU...

這幾天在找桌機 CPU 資料的時候發現的,AMD 在今年 (2013) 七月的時候發行了兩顆 CPU:FX-9370 與 FX-9590 (參考「AMD FX Model Number Comparison」)。

耗電量也破紀錄了啊,我第一次在 x86 上看到量產最大功耗 220W 的 CPU 啊...

剛剛查了「List of Intel Xeon microprocessors」,最高也才 165W,Intel 輸了啊... (噴飯)

以這個速率來看,價錢意外的低啊,FX-9590 居然只要 USD$900...

暴力法破解密碼...

MD5SHA-1 或是前陣子通過的 SHA-3,都不是設計用來單向儲存密碼用的。bcrypt 或是 PBKDF2 比較接近這個需求。

針對使用 Cryptographic hash function 儲存密碼的行為,除了可以用 Rainbow table 攻擊外,最近流行使用 GPU 加速暴力運算...

前幾天看到的 cluster 相當威猛,可以在 5.5 小時內計算出「所有 8 個字元的組合」(NTLM):「25-GPU cluster cracks every standard Windows password in <6 hours」。

這個 cluster 用了 25 張 AMD Radeon 卡,如果是針對 SHA-1 計算,每秒可以計算 630 億次,如果是 MD5 的話則可以到每秒 1800 億次,NTLM 則是每秒 3500 億次。

不過算一算也是吃電大怪物... XD

修主機板...

前天回到家發現電腦是關的,本來以為是停電,但同樣接在 UPS 上的 Mac Mini 卻好好的,打開電腦一進 Ubuntu 就發現 Psensor 在警告過熱,看了一下說明,是 CPU 過熱... 以為是假警報,結果過沒多久就自己關機了 XD


(圖複製自 Psensor 官網)

拆開電腦發現 CPU 風扇卡榫掛了,CPU 風扇無法貼住... 第一個想法是自己買來換,查了一下看起來是不貴,但想到要好幾天才能用就懶...

後來想了一下,先查一下官網資料。華碩M4A87TD/USB3 主機板保固三年,我是 2010 年買的,所以還在保固內... 而光華的維修中心星期六白天有開,應該是,就星期六睡飽過去...。


(圖複製自 ASUS 官網)

我自己看損壞的狀況,應該是四個螺絲拆下來,換個底座再鎖上去就好了,所以應該是拿給他之後去吃個飯,然後回來收個工本費就可以收工... 不過在現場交件的時候直接請我等兩分鐘馬上拿 (不收工本費),害我愣了一下...

拿回家接上後把散熱膏弄一弄就繼續快樂的服役了... XD

AMD CPU bug 問題...

去年年底時 Matthew DillonDragonFly BSD mailing list 上的說明:「Buildworld loop seg-fault update -- I believe it is hardware」,以及今年三月從 AMD 確認問題「AMD cpu bug update -- AMD confirms! (additional info)」。

可以從 mailing list 上看到他想辦法重製問題的方法 (從兩天才能重製,到小於 60 秒就能重製),讓他覺得最棘手的原因是無法引入工具:

Debugging the issue in userland (and kernelland) is extremely difficult because most debugging mechanisms caused the problem to stop occuring.

當故事看還蠻... 有趣?(當事人大概不這麼覺得)