2015-05-27 248 views
2

考慮這種情況:加密AES密鑰?

Key1 = random key 
Key2 = random key 
CombinedKey = Key1.encrypt (Key2) 

Input = "test" 
Step1 = CombinedKey.encrypt (Input) 
Step2 = key2.decrypt (step1) 
Result = key1.decrypt (step2) 

是結果== 「測試」 如果加密類型是AES?或者對於任何其他加密算法?

回答

2

號AES是不是一個組。爲了簡單起見,我們只是這樣說:AES加密不可交換。換句話說,由於AES不是一個組,因此不存在密鑰X,使用密鑰Y和密鑰Z進行加密,密鑰X可以一步解密。沒有捷徑。

如果你使用CombinedKey加密Input,那麼只有CombinedKey將解密它。使用key2來解密Step1將導致只有垃圾,而不是中間結果。

+0

這很傷心,但你的答案是完美的。 –

+0

:)這實際上是一件好事,雖然它在您的使用情況下可能不方便。 :) –