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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Szu-Kai Hsu (brucehsu)
April 20, 2013
Programming
0
69
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
310
Rapid Web Development by Example
brucehsu
3
3.1k
TechWed@CCU #0
brucehsu
2
540
Chromium OS
brucehsu
2
210
Other Decks in Programming
See All in Programming
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.9k
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
240
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
120
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
570
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
320
20260315 AWSなんもわからん🥲
chiilog
2
160
SourceGeneratorのマーカー属性問題について
htkym
0
200
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.6k
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Code Reviewing Like a Champion
maltzj
528
40k
The agentic SEO stack - context over prompts
schlessera
0
700
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
83
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
120
Ruling the World: When Life Gets Gamed
codingconduct
0
180
Speed Design
sergeychernyshev
33
1.6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
310
Unsuck your backbone
ammeep
672
58k
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。