Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
pickbox @ OSDC.tw 2013 Lightning Talk
Search
Szu-Kai Hsu (brucehsu)
April 20, 2013
Programming
0
65
pickbox @ OSDC.tw 2013 Lightning Talk
Szu-Kai Hsu (brucehsu)
April 20, 2013
Tweet
Share
More Decks by Szu-Kai Hsu (brucehsu)
See All by Szu-Kai Hsu (brucehsu)
Running Life Lean
brucehsu
0
180
Core Unleashed Part II: Introduction to GobiesVM (and STM) @ RubyKaigi 2014
brucehsu
0
2.1k
[RubyConf.tw 2014] Cores unleashed - Exploiting Parallelism in Ruby with STM
brucehsu
0
2.3k
用 Go 打造程式語言執行環境:實例剖析 [OSDC.tw 2014]
brucehsu
3
2.4k
Building Web 2.0 APIs
brucehsu
1
150
由Spanner來看Google資料庫的前世今生
brucehsu
4
300
Rapid Web Development by Example
brucehsu
3
3.1k
TechWed@CCU #0
brucehsu
2
530
Chromium OS
brucehsu
2
210
Other Decks in Programming
See All in Programming
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
140
クラウドに依存しないS3を使った開発術
simesaba80
0
220
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
710
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
640
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
39k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
690
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
110
Cap'n Webについて
yusukebe
0
160
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
330
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
460
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
36
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Faster Mobile Websites
deanohume
310
31k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
880
Code Review Best Practice
trishagee
74
19k
Building AI with AI
inesmontani
PRO
1
620
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
エンジニアに許された特別な時間の終わり
watany
106
220k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
[SF Ruby Conf 2025] Rails X
palkan
0
710
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
The Language of Interfaces
destraynor
162
26k
Transcript
pickbox Szu-Kai Hsu (brucehsu) ⼤大家好,我今天的喉嚨有點不舒服,因為我昨天跑去跟⼈人夜唱⼀一整晚沒睡,所以還請⼤大家多包涵 我要講的題⺫⽬目是pickbox,光看標題可能沒⼈人知道這是什麼。
pickbox Szu-Kai Hsu (brucehsu) yet another Dropbox copycat 其實它就是另外⼀一個⼭山寨版的Dropbox
Before you pull my plug 在你們想說⼜又來⼀一個佔lightning talk位置的,準備跑上來拔我插頭之前還請各位留步,要講的當然不是如何⼭山 寨⼀一個dropbox這種被講到爛的東⻄西
因為市⾯面上已經太多這種東⻄西了,除了Dropbox本⾝身,我們還有Box、前陣⼦子很紅的copy,還有微軟的 skydrive以及sugarsync。但是⽐比起這些,pickbox技術上會更接近另外⼀一個服務
因為市⾯面上已經太多這種東⻄西了,除了Dropbox本⾝身,我們還有Box、前陣⼦子很紅的copy,還有微軟的 skydrive以及sugarsync。但是⽐比起這些,pickbox技術上會更接近另外⼀一個服務
因為市⾯面上已經太多這種東⻄西了,除了Dropbox本⾝身,我們還有Box、前陣⼦子很紅的copy,還有微軟的 skydrive以及sugarsync。但是⽐比起這些,pickbox技術上會更接近另外⼀一個服務
因為市⾯面上已經太多這種東⻄西了,除了Dropbox本⾝身,我們還有Box、前陣⼦子很紅的copy,還有微軟的 skydrive以及sugarsync。但是⽐比起這些,pickbox技術上會更接近另外⼀一個服務
因為市⾯面上已經太多這種東⻄西了,除了Dropbox本⾝身,我們還有Box、前陣⼦子很紅的copy,還有微軟的 skydrive以及sugarsync。但是⽐比起這些,pickbox技術上會更接近另外⼀一個服務
那就是bitcasa,或許在座有些⼈人有聽過這個名字
它們號稱提供無限的儲存空間,實際上只是提供的空間⼤大到應該還沒有⼈人⽤用得完這樣,像是從這張網路上找到 的圖就可以看到它有500多tb可以⽤用這樣。當然,bitcasa除了砸錢買storage之外,⼀一定還有其它的撇步才能 夠提供這麼多的空間。
Convergent Encryption File content security De-duplication 這個技術就是convergent encryption,⼀一來保證了檔案內容的安全性,同時也讓重複檔案所佔的容量降到最 低
Traditional Encryption 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello
OSDC!這句話
Traditional Encryption 5566 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher
text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello OSDC!這句話
Traditional Encryption test.txt 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher
text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello OSDC!這句話
Traditional Encryption test.txt Hello OSDC! 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm
function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello OSDC!這句話
Traditional Encryption 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello
OSDC!這句話
Traditional Encryption 7b21fefc9f4aee23d4f69731fde08924 我們就先從傳統的加密⽅方式看起。⾸首先我們要有⼀一把key,通常就是⽤用密碼這種只有⾃自⼰己知道的字串,像是在這 個例⼦子裡就是不能亡的56;再來就是要加密的內容,在這裡當然就是⼀一個檔案,像是內容為Hello OSDC!的 test.txt;把這兩者傳⼊入⼀一個encryption algorithm function中,像是AES-256後,我們就可以得到⼀一串作為 結果的cipher
text,⽽而只有知道key是5566的⼈人才能把這串⻤⿁鬼畫符轉回Hello OSDC!這句話
Traditional Encryption 但是如果拿這種⽅方法來作服務加密就會遇到⼀一個很⼤大的問題,假設說有兩個使⽤用者都擁有⼀一個相同的檔案,除 ⾮非兩個⼈人都⽤用1234當密碼,不然的話cipher text就會因為key的不⼀一樣⽽而產⽣生兩份不同的結果,如果這個檔案 很⼤大的話,⽐比⽅方說29.7GB,那就會多浪費了29.7GB的空間。
Traditional Encryption 但是如果拿這種⽅方法來作服務加密就會遇到⼀一個很⼤大的問題,假設說有兩個使⽤用者都擁有⼀一個相同的檔案,除 ⾮非兩個⼈人都⽤用1234當密碼,不然的話cipher text就會因為key的不⼀一樣⽽而產⽣生兩份不同的結果,如果這個檔案 很⼤大的話,⽐比⽅方說29.7GB,那就會多浪費了29.7GB的空間。
Traditional Encryption 更慘的是,如果這個檔案⾮非常地熱⾨門,那這樣浪費的空間就會很多很多……
Convergent Encryption 所以,這時候就是convergent encryption出場的時機了。既然我們知道說只要key不⼀一樣,產⽣生的cipher text 就會不⼀一樣,那這樣只要找個共同的東⻄西作為key就好了嘛,既然我們是為了處理file duplication,那最直覺 的⽅方法,就是直接拿檔案的hash來當key,這樣相同的檔案產⽣生出來的cipher text就都會⼀一樣了,只要儲存到 server時再⽤用cipher
text的hash作為檔名以便同步就功德圓滿了
Convergent Encryption 所以,這時候就是convergent encryption出場的時機了。既然我們知道說只要key不⼀一樣,產⽣生的cipher text 就會不⼀一樣,那這樣只要找個共同的東⻄西作為key就好了嘛,既然我們是為了處理file duplication,那最直覺 的⽅方法,就是直接拿檔案的hash來當key,這樣相同的檔案產⽣生出來的cipher text就都會⼀一樣了,只要儲存到 server時再⽤用cipher
text的hash作為檔名以便同步就功德圓滿了
Convergent Encryption 嗎?假設說有⼈人剛好不知怎麼取得了這個file的hash,那他也就可以decrypt這個檔案,如果是像這張圖⼀一樣⼀一 般的檔案還沒關係,如果是有著機密內容的⽂文件,像是政府預算的使⽤用什麼的,那就有點危險了。
Convergent Encryption 所以當我們得到hash之後,我們還要再⽤用傳統的⽅方式把這個hash加密起來,這樣儲存後就算流出了還是⽐比較安 全,除⾮非你的密碼也跟著被幹⾛走了。
Convergent Encryption 所以當我們得到hash之後,我們還要再⽤用傳統的⽅方式把這個hash加密起來,這樣儲存後就算流出了還是⽐比較安 全,除⾮非你的密碼也跟著被幹⾛走了。
https://github.com/brucehsu/pickbox Thank you for listening! 以上就是convergent encryption⼀一個簡單的介紹,感謝⼤大家沒有拔我的插頭,雖然我不知道有沒有⼈人irc上開 炮。如果想看source code的話可以在github上找得到,不過因為當時是在趕project的死線寫得有點醜就是 了,再次謝謝⼤大家沒有在我初登板的時候就把我戰爆XD。