GPcode

一隻新的惡意程式利用 RSA 1024 bits 把文件加密後留下勒索 e-mail 位置要求付「贖金」。

這不是什麼新的新聞 (以前就有過用 660 bits 加密的事情),這次的重點在於 尋求分散式運算,直接破這次加密所使用的 RSA 1024 bits:

目前對 RSA key 最好的分解演算法是 (因為函式庫在產生金鑰時會避開 可以分解的數字),但目前 GNFS 最好的紀錄是 2005 年解開的 ,金鑰的長度約 663bits,使用的 CPU time 約單台 2.2Ghz 七十五年的時間。(關於紀錄的部份,可以參考 這篇)

如果這次打算用 GNFS,那麼即使全世界的電腦大規模的參與,也不太可能在一兩年內解出來。

另外一個 也有提到的問題 (),如果今天寫這隻惡意程式的人不是為了錢,而故意拿 SSL Root Certificated Key 來加密,今天還是要試著去破嗎?

把被加密過的檔案當作被刪除損毀處理,也許是比較好的方法...。

Google Code 更新 SSL Certificate

公告在這邊:

主要是 svn 會發現 ssl certificate 改變而跳出警告,所以特地公告出來。

另外,我發現 Repository 還是有不少問題,像是 branch 出來後修改,再 merge 回 master 後,再 git-svn dcommit 上去後可能會有問題。而 git-svn 的 manpage 裡就直接建議在開發時儘量保持 linear... XD

就是要 branch 才好用啊啊啊啊啊...

所以我有一些比較小的 project 又改回 svn client 了...

Hash 用在...

寫過不少文章以及書籍,常以 "Dive into ..." 作為名稱,像是 ,他現在人在

剛剛在他的 blog 上看到他把 hash function 用在很特殊的地方,他把預測美國總統大選的文字先丟進 hash function,然後把 hash value 貼上來,等時間到了後再公開,然後鼓勵其他人也把預測的文字丟進 hash function,然後貼到他的 comment (或是 trackback 到他的 blog 上):

非常有趣的應用,不過很有 geek 的風格... XD

TypePad AntiSpam

上看到他們把本來使用 的 Plugin 換成 提供的 ,然後發現效果不錯:

TypePad AntiSpam 使用的 API 與 Akismet 一樣,所以,library 本身如果有可以設定 API url 的地方,就可以直接換到 TypePad AntiSpam,像是

不過我自己還是用 好了 :p

FreeBSD src 部份由 CVS 轉換到 Subversion

這兩天在 上有人提到目前 -src tree 準備要換到 上。剛剛在 mailing list 上看到第一個轉換過去的 commit log:。(被 指正,這不是第一個,第一個是「」)

上也有提到這件事情 (他就是上面那個 commit log 裡的 remko):

目前是透過 hook,把 Subversion 變更的內容同步到 CVS 上,然後把 CVS 上的整套工具慢慢換過去。目前的 Subversion Server 是 ,看起來還在建制中...

Update

MySQL UDF (User-defined function) 與 memcached

以往 + 的作法是由 application 端「拉」資料後再塞到 memcached 上,這會產生幾個問題:

  • 資料不同步:MySQL 上的資料更新了,但 memcached 裡的 cache 因為還沒過期而尚未更新。
  • 第一次的 Race Condition:同時有很多 client 向 memcached 要一份目前還不存在的 cache,這時候這些 client 都會跑到 MySQL 要資料再放一份到 memcached 上。

這兩個問題都有在 MySQL UDF + memcached 出來之前都有解法:前者可以在更新 MySQL 時順便更新 memcached 裡的資料;後者可以靠 memcached lock 的技巧避免突然有大量 Query 造成後端 MySQL 負荷過重。這兩個方法需要 application (client) 配合,不是很完美,但在實際應用上還算堪用。(一個很簡單的場景:如果公司內同時使用 ,那麼就必須維護這兩個 library)

除了 client 自己推資料到 memcached 上,也有人研究,當 MySQL 上的資料更新時,由 MySQL server 自動到 memcached 上更新資料,也就是把資料「推」到 memcached 上的方法。資料更新時的觸發動作可以用 做到,而寫入到 memcached 的部份透過強者的 處理:

btw, 也用 libmemcache 寫過類似的東西: 這篇的下方 (「MySQL and memcached」的部份)

從 Twitter 換到 Jaiku

因為 爛太久了,所以搬到被 買下的 ... (關於 Jaiku 可以參考這篇:)

另外,Jaiku 目前正搬移到自家的 上,如果 Twitter 再不趕快修好就沒機會了:

Update:才剛搬過去就看到這個... XD