Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
pickbox @ OSDC.tw 2013 Lightning Talk
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Szu-Kai Hsu (brucehsu)
April 20, 2013
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
pickbox @ OSDC.tw 2013 Lightning Talk
Szu-Kai Hsu (brucehsu)
April 20, 2013
More Decks by Szu-Kai Hsu (brucehsu)
See All by Szu-Kai Hsu (brucehsu)
Running Life Lean
brucehsu
0
190
Core Unleashed Part II: Introduction to GobiesVM (and STM) @ RubyKaigi 2014
brucehsu
0
2.2k
[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
170
由Spanner來看Google資料庫的前世今生
brucehsu
4
330
Rapid Web Development by Example
brucehsu
3
3.2k
TechWed@CCU #0
brucehsu
2
590
Chromium OS
brucehsu
2
240
Other Decks in Programming
See All in Programming
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
720
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
430
Java 27新機能 / Java 27 new features
kishida
2
150
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
Are APIs Still Relevant in the AI Era?
soyuka
0
240
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
250
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
290
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
110
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
290
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
750
Docker and Python
trallard
47
4.2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Google's AI Overviews - The New Search
badams
0
1.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Mobile First: as difficult as doing things right
swwweet
225
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Optimising Largest Contentful Paint
csswizardry
37
4k
Product Roadmaps are Hard
iamctodd
55
13k
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。