blob: 033591222301959d7d7198e3a057fdc790c615b0 [file] [log] [blame]
<html xmlns:sec="http://www.xml-sicherheit.de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../format.css">
</head>
<body>
<h1>Das EncryptionMethod Element</h1>
<p>Das optionale Element <strong>EncryptionMethod</strong> bestimmt mit dem Attribut <em>Algorithm</em> den verwendeten Verschlüsselungsalgorithmus und mögliche zugehörige Parameter. Fehlt dieses Element muss dem Empfänger oder
der verarbeitenden Applikation der zur Verschlüsselung verwendete Algorithmus bekannt sein.
</p>
<p>Zwei der möglichen Kindelemente sind <strong>KeySize</strong> und <strong>OAEPparams</strong> die den verwendeten Algorithmus durch Angabe der Schlüssellänge und weiterer Parameter näher beschreiben. Welche Kindelemente
jeweils erlaubt bzw. erforderlich sind hängt vom gewählten Algorithmus ab der über das <em>Algorithm</em> Attribut bestimmt wird.
</p>
<p>Das <em>Algorithm</em> Attribut der <strong>EncryptionMethod</strong> kann u.a. die in der folgenden Tabelle aufgeführten URIs annehmen.
</p>
<table cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>URI</th>
<th>Implementierung</th>
</tr>
</thead>
<tbody>
<tr class="uneven">
<td>
AES 128
</td>
<td>http://www.w3.org/2001/04/xmlenc#aes128-cbc</td>
<td>erforderlich</td>
</tr>
<tr class="even">
<td>
AES 192
</td>
<td>http://www.w3.org/2001/04/xmlenc#aes192-cbc</td>
<td>optional</td>
</tr>
<tr class="uneven">
<td>
AES 256
</td>
<td>http://www.w3.org/2001/04/xmlenc#aes256-cbc</td>
<td>erforderlich</td>
</tr>
<tr class="even">
<td>
TRIPLEDES
</td>
<td>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</td>
<td>erforderlich</td>
</tr>
</tbody>
</table>
<p>Zum Kodieren von geheimen Schlüsseln dienen die symmetrischen Algorithmen mit dem Zusatz <em>Key Wrap</em> in der folgenden Tabelle. <strong>EncryptionMethod</strong> muss dazu ein Kindelement von <a href="encryption_syntax_keyinfo.html#EncryptedKey">EncryptedKey</a> sein.
</p>
<table cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>URI</th>
<th>Implementierung</th>
</tr>
</thead>
<tbody>
<tr class="uneven">
<td>
AES-128 Key Wrap
</td>
<td>http://www.w3.org/2001/04/xmlenc#kw-aes128</td>
<td>erforderlich</td>
</tr>
<tr class="even">
<td>
AES-192 Key Wrap
</td>
<td>http://www.w3.org/2001/04/xmlenc#kw-aes192</td>
<td>optional</td>
</tr>
<tr class="uneven">
<td>
AES-256 Key Wrap
</td>
<td>http://www.w3.org/2001/04/xmlenc#kw-aes256</td>
<td>erforderlich</td>
</tr>
<tr class="even">
<td>
TRIPLEDES Key Wrap
</td>
<td>http://www.w3.org/2001/04/xmlenc#kw-tripledes</td>
<td>erforderlich</td>
</tr>
</tbody>
</table>
<p>Die RSA Algorithmen <em>RSA-v1.5</em> und <em>RSA-OAEP</em> sind asymmetrische Algorithmen zum sicheren Schlüsseltransport. Diese Algorithmen können nur verwendet werden, wenn <strong>EncryptionMethod</strong> ein Kindelement von <a href="encryption_syntax_keyinfo.html#EncryptedKey">EncryptedKey</a> ist.
</p>
<table cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>URI</th>
<th>Implementierung</th>
</tr>
</thead>
<tbody>
<tr class="uneven">
<td>
RSA-v1.5
</td>
<td>http://www.w3.org/2001/04/xmlenc#rsa-1\_5</td>
<td>erforderlich</td>
</tr>
<tr class="even">
<td>
RSA-OAEP
</td>
<td>http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p</td>
<td>erforderlich</td>
</tr>
</tbody>
</table>
<p>Prinzipiell können beliebige weitere Algorithmen verwendet werden. Dies ist von der konkreten Implementierung abhängig. Die
Empfehlung des W3C lässt dabei offen, ob symmetrische oder asymmetrische Algorithmen verwendet werden.
</p>
</body>
</html>