2015-05-27 4 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) 

Is Результат == "тест", если тип шифрования AES? Или для любого другого алгоритма шифрования?

ответ

2

No. AES не является группой. Для простоты, давайте просто скажем так: шифрование AES не является коммутативным. С другой стороны, поскольку AES не является группой, нет ключа X, который шифрует ключ Y, а затем ключ Z, ключ X может дешифровать за один шаг. Нет ярлыков.

Если вы зашифруете Input с CombinedKey, то только CombinedKey расшифрует его. Использование key2 для дешифрования Step1 приведет только к мусору, а не к промежуточному результату.

+0

Это печально, но ваш ответ прекрасен. –

+0

:) На самом деле это хорошо, хотя это может быть неудобно в вашем случае использования. :) –

Смежные вопросы