1

Я шифрую свои данные с помощью AES с ключом и случайным IV. Этот ключ я шифрую с помощью RSA и включаю его в свой EncryptedData, как показано ниже. Мне также нужно включить IV, но как включить его с синтаксисом шифрования XML, поскольку элемент KeyInfo уже занят элементом EncryptedKey?Как обеспечить вектор инициализации синтаксисом шифрования XML

<?xml version='1.0' encoding='UTF-8'?> 
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" 
    xmlns="http://www.w3.org/2001/04/xmlenc#"> 
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbf" /> 
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
     <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> 
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> 
       <KeySize>256</KeySize> 
       <OAEPparams>AA==</OAEPparams> 
       <DigestMethod xmlns="http://www.w3.org/2000/09/xmldsig#" 
        Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
      </EncryptionMethod> 
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
       <KeyName>client provided public key</KeyName> 
      </KeyInfo> 
      <CipherData> 
       <CipherValue>...</CipherValue> 
      </CipherData> 
     </EncryptedKey> 
    </KeyInfo> 
    <CipherData> 
     <CipherValue>...</CipherValue> 
    </CipherData> 
</EncryptedData> 

ответ

1

В соответствии с XMLEnc (см 5.2.2) ХВ помещаются в передней части зашифрованных данных и не включаются в качестве части ключа. Ни в спецификации XMLEnc ничего не говорится о включении IV с ключом во время процедуры KeyTransport или KeyWrap.

+0

Да, этот параграф меня немного смутил, особенно «IV, если таковые имеются, может быть указано как с данными шифрования, как элемент содержимого алгоритма или где-либо еще». часть. Итак, я просто добавляю IV к элементу CipherValue Element, разделенному пробелом? – DarsVaeda

+0

@ 4485670 для пользовательских алгоритмов. В специфицированных алгоритмах IV идет перед зашифрованными данными, как говорится в следующем абзаце. Так что это совершенно ясно. –

+0

Хорошо, спасибо за это. – DarsVaeda

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