2013-12-10 43 views
0

無論如何精確加密和解​​碼文件都無所謂。我使用文件作爲字符海量,一切都很好,直到我得到的文件,其大小不分爲8個字節。由於我可以每輪加密解碼文件8個字節,因爲算法的特殊性(塊的大小必須是64位)。如何在編碼和解碼時正確使用文件?

那麼,例如,我面對.jpg,並試圖簡單地添加空格到文件結尾,結果文件無法打開(與.txt文件ofc。文件沒有什麼不好發生)。

這裏有什麼出路嗎?

如果您想了解有關算法http://en.wikipedia.org/wiki/GOST_(block_cipher)的信息。

UPD:我無法存儲添加了多少字節,因爲可以刪除或移動初始文件。而且,我們假設要做的事情是,我們只知道密鑰並擁有加密文件。

+4

添加填充,直到文件大小合適,並記住填充了多少。 – this

+2

你是什麼意思的「初始可以刪除或移動」 – Michael

回答

1

你需要填充。 這樣做的最好方法是使用PKCS#7

但是GOST不太好,最好使用AES-CBC。 「python-channel」中有類似的discussion

+1

關於「更好地使用AES-CBC」的詳細說明? [Wikipedia](http://en.wikipedia.org/wiki/GOST_(block_cipher))有如下聲明(不知道它是否正確):截至2012年12月,最有名的GOST攻擊(2^{101})與廣受使用的高級加密標準中最爲人所知的攻擊(基於Nicolas Courtois指出的另一弱點的2^{100})相當。 – Bobrovsky

+0

只需引用維基百科:「GOST沒有太多公開的密碼分析,但粗略的一瞥表明它看起來很安全。」和「它甚至被Nicolas Courtois稱爲」一個有缺陷的密碼「。密碼學是一個非常棘手的領域,AES是我們今天分析得最多的算法,仍然有些人完全不信任它。你如何相信尚未完全分析的東西? – smeso

+0

此外,如果您完全閱讀了您鏈接的文章,您會發現其他一些原因,因爲它不「很好」。 – smeso

相關問題