2012-12-30 63 views
2

我目前正在嘗試爲存儲在Android設備上的文件提供透明的加密/解密層。我需要隨機訪問每個文件(搜索算法所必需的)。該層需要爲程序的其餘部分提供RandomAccessFile或FileChannel。有沒有辦法在Android中設置對加密數據的隨機訪問?

我對加密的基本理解表明,像ECB,CTR,XEX和XTR等某些密碼模式可以方便隨機訪問,但我寧願在重新開始之前使用其他人的工具。將密碼留給專家更好。

理想的解決方案是使用Java庫可以訪問的加密磁盤映像,但是我沒有找到任何可以用於Android的東西。

有沒有辦法讓我隨機訪問加密文件?這感覺就像很多人想要在他們的應用中一樣!

回答

0

隨機讀取訪問非常簡單:使用點擊率,但要確保您擁有正確的密鑰和nonce用法。隨機寫入訪問可能也一樣容易,但如果您更改任何區塊,CTR都會及時泄漏信息。因此,如果攻擊者只是簡單地獲取一個文件的單個視圖,那麼您就可以,否則您會直接泄漏有關純文本的信息。

你有一個特定的使用場景。如果有任何庫爲你做這個,我還沒有看到它們。此外,密鑰管理通常也是特定於應用程序的。恐怕你將不得不面對威脅情況。

歐洲央行不應該用於相關信息,如字符串或文件。 XEX(或XTS)通常在Java加密庫(例如Oracle JCE或Bouncy)中不可用。

+0

我的答案有什麼問題,尼克? –

相關問題