<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN</id>
	<title>Crypto-Hardware unter Sun für OpenVPN - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN"/>
	<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;action=history"/>
	<updated>2026-06-15T17:44:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8694&amp;oldid=prev</id>
		<title>Schrade at 06:57, 5 October 2009</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8694&amp;oldid=prev"/>
		<updated>2009-10-05T06:57:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:57, 5 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png|thumb|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;400px &lt;/del&gt;UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png|thumb|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;200px|&lt;/ins&gt;UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schrade</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8693&amp;oldid=prev</id>
		<title>Schrade at 06:56, 5 October 2009</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8693&amp;oldid=prev"/>
		<updated>2009-10-05T06:56:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:56, 5 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png| UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;thumb|400px&lt;/ins&gt; UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 80:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 80:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Benchmarks (OpenSSL) ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Benchmarks (OpenSSL) ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Bench.png|center&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;|AES-256CBC ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Bench.png|center|AES-256CBC ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== rest kommt noch ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== rest kommt noch ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schrade</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8692&amp;oldid=prev</id>
		<title>Schrade at 06:55, 5 October 2009</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8692&amp;oldid=prev"/>
		<updated>2009-10-05T06:55:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:55, 5 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|thumb|400px&lt;/del&gt;| UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Niagra.png| UltraSparc T2 ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Bibliothek &#039;pkcs11_kernel.so&#039; stellt eine Schnittstelle zu den im Kernel verfuegbaren hardware-beschleunigten Algorithmen bereit, (es werden auch Third-Party Provider unterstuetzt, das SCF ist also beliebig erweiterbar) welche damit im User-Level benutzt werden koennen.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Bibliothek &#039;pkcs11_kernel.so&#039; stellt eine Schnittstelle zu den im Kernel verfuegbaren hardware-beschleunigten Algorithmen bereit, (es werden auch Third-Party Provider unterstuetzt, das SCF ist also beliebig erweiterbar) welche damit im User-Level benutzt werden koennen.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Scf.png|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;thumb|400px&lt;/del&gt;| Solaris Cryptographic Framework ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Scf.png|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;center&lt;/ins&gt;| Solaris Cryptographic Framework ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Demonstration ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Demonstration ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 80:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 80:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Benchmarks (OpenSSL) ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Benchmarks (OpenSSL) ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Bench.png|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;thumb&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;400px| &lt;/del&gt;AES-256CBC ]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Bench.png|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;center &lt;/ins&gt;|AES-256CBC ]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== rest kommt noch ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== rest kommt noch ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schrade</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8691&amp;oldid=prev</id>
		<title>Schrade at 06:50, 5 October 2009</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Crypto-Hardware_unter_Sun_f%C3%BCr_OpenVPN&amp;diff=8691&amp;oldid=prev"/>
		<updated>2009-10-05T06:50:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Vorueberlegungen ==&lt;br /&gt;
=== Projekt ===&lt;br /&gt;
Ziel des Projektes war es, OpenVPN zur Benutzung der auf Sun Niagra2-CPU&amp;#039;s verfuegbaren Crypto-Hardware zu bewegen, in der Hoffnung, mit dieser Hardware einen OpenVPN-Server aufsetzen zu koennen. Mit der, durch hardware-beschleunigte Kryptographie, einhergehenden Entlastung der Integer-Einheiten, wuerde sich dessen Leistungsfaehigkeit/Durchsatz unter Umstaenden deutlich steigern lassen.&lt;br /&gt;
&lt;br /&gt;
=== Projektumfeld ===&lt;br /&gt;
==== Hardware ====&lt;br /&gt;
Es stand ein root-Account auf einer Sun T5220 mit installiertem Solaris 10 zur Verfuegung. Die CPU (Sun Niagra2) dieser Maschine hat 8 Cores, wobei jeder Core neben Festkomma- und Fliesskommaeinheiten zusaetzlich eine sogenannte MAU (ModularArithmeticsUnit) und eine SPU (StreamProcessingUnit) mitbringt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Niagra.png|thumb|400px| UltraSparc T2 ]]&lt;br /&gt;
&lt;br /&gt;
MAU`s implementieren Potenzierung/Multiplikation modulo n in Hardware, und eignen sich daher fuer:&lt;br /&gt;
* RSA, DSA, Diffie-Hellman (Schluessellaengen bis 2048bit)&lt;br /&gt;
SPU`s eignen sich hingegen sowohl fuer Block/Stromchiffren, als auch fuer diverse Hash-Algorithmen:&lt;br /&gt;
* DES, AES, RC4 (diverse Schluessellaengen)&lt;br /&gt;
* SHA1, SHA256, MD5&lt;br /&gt;
&lt;br /&gt;
Die beiden Einheiten koennen von Solaris mittels der Treiber &amp;#039;ncp&amp;#039; und &amp;#039;n2cp&amp;#039; (NiagraCryptoProvider) angesteuert werden. Zur optimalen Ausnutzung, ist ein LoadBalancer vorangestellt, der versucht die 8 Einheiten gleichmaessig (und fuer die darueberliegenden Anwendungen/Bibliotheken vollkommen transparent) mit Anfragen/Daten zu versorgen.&lt;br /&gt;
&lt;br /&gt;
==== Software ====&lt;br /&gt;
Die Crypto-Services unter Solaris 10 werden durch das Solaris Cryptographic Framework zur Verfuegung gestellt. Das SCF ermoeglicht es einer Anwendung (&amp;#039;Consumer&amp;#039;), mittels einer einzigen Library (libpkcs11.so), auf die von Bibliotheken (&amp;#039;Provider&amp;#039;) implementierten Algorithmen (&amp;#039;Mechanism&amp;#039;) zu zugreifen. Neue Algorithmen in Software und/oder z.B. Crypto-Hardware (&amp;#039;Devices&amp;#039;) koennen beliebig hinzugefuegt werden.&lt;br /&gt;
Welche Mechanismen von welchen Providern wirklich durch die Consumer benutzbar sind, kann durch das Konfigurationstool &amp;#039;cryptoadm&amp;#039; gesteuert werden.&lt;br /&gt;
Die Bibliothek &amp;#039;pkcs11_kernel.so&amp;#039; stellt eine Schnittstelle zu den im Kernel verfuegbaren hardware-beschleunigten Algorithmen bereit, (es werden auch Third-Party Provider unterstuetzt, das SCF ist also beliebig erweiterbar) welche damit im User-Level benutzt werden koennen.&lt;br /&gt;
&lt;br /&gt;
[[Image:Scf.png|thumb|400px| Solaris Cryptographic Framework ]]&lt;br /&gt;
&lt;br /&gt;
== Demonstration ==&lt;br /&gt;
=== Benutzte Tools/Programme ===&lt;br /&gt;
==== kstat ====&lt;br /&gt;
&amp;#039;kstat&amp;#039; liest statistische Daten aus, welche vom Kernel gesammelt werden. Hier interressant sind natuerlich die von den Treibern &amp;#039;ncp&amp;#039; und &amp;#039;n2cp&amp;#039; bereitgestellten Daten. Fuer jede MAU/SPU wird von Diesen eine Statistik ueber die Anzahl der ver/entschluessulungen und/oder signs/verifies (seit letztem Boot) gefuehrt. Im Prinzip ist dies auch die einzige Moeglichkeit als Anwender wirklich zu erkennen, ob die Harware-Einheiten ueberhaupt benutzt wurden.&lt;br /&gt;
&lt;br /&gt;
Mit&lt;br /&gt;
 kstat -n n2cp0&lt;br /&gt;
lassen sich z.B. die Daten aller SPU&amp;#039;s anzeigen.&lt;br /&gt;
&lt;br /&gt;
==== Cryptoadm ====&lt;br /&gt;
Mittels &amp;#039;cryptoadm&amp;#039; kann das SCF administriert werden. Insbesondere koennen crytographische Mechanismen aktiviert/deaktiviert, und neue &amp;#039;Provider&amp;#039; hinzugefuegt oder entfernt werden. Dadurch koennen also alle &amp;#039;Consumer&amp;#039; dazu gezwungen werden,  z.B. eine DES-Verschluesselung in Hardware auszufuehren.&lt;br /&gt;
&lt;br /&gt;
Anzeige aller verfuegbaren Provider:&lt;br /&gt;
 cryptoadm list -p&lt;br /&gt;
Anzeige aller verfuegbaren Mechanismen:&lt;br /&gt;
 cryptoadm list -m&lt;br /&gt;
&amp;#039;In/Destallation&amp;#039; eines kompletten Providers:&lt;br /&gt;
 cryptoadm uninstall provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so&lt;br /&gt;
 cryptoadm install provider=/usr/lib/security/\$ISA/pkcs11_kernel.so&lt;br /&gt;
Auch einzelne Mechanismen eines Providers koennen (de)aktiviert werden:&lt;br /&gt;
 cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \&lt;br /&gt;
 mechanism=CKM_SSL3_PRE_MASTER_KEY_GEN&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
Mit OpenSSL lassen sich bekanntermassen Daten ver/entschluesseln. Das ganze natuerlich &amp;#039;nur&amp;#039; in Software, es besteht jedoch die Moeglichkeit, ueber sogenannte &amp;#039;Engines&amp;#039; auch Hardware-Einheiten zu benutzen. Unter anderem kann unter Solaris die oben beschriebene libpkcs11 als Engine verwendet werden. Diese Funktionalitaet ist essentiell, da OpenVPN auf OpenSSL aufsetzt, und damit in der Lage waere, alle vom SCF bereitgestellen (und von OpenSSL unterstuetzten) Mechanismen zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Anzeige aller unterstuetzten Engines und deren Mechanismen:&lt;br /&gt;
 openssl engine -c -t&lt;br /&gt;
Beispiel fuer letztendliches Verwenden der libpkcs11 (der Parameter kann praktisch bei allen ver/entschluesselnden Aktionen benutzt werden):&lt;br /&gt;
 openssl speed -engine pkcs11 aes128&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== OpenVPN ====&lt;br /&gt;
Die unter OpenSSL verfuegbaren Engines koennen auch in OpenVPN benutzt werden (einfacher Kommandozeilenparameter) . Da OpenVPN nur DES, AES und Blowfish benutzt, sollte Hardware-Beschleunigung zumindest fuer DES und AES moeglich sein.&lt;br /&gt;
&lt;br /&gt;
== Durchfuehrung ==&lt;br /&gt;
&lt;br /&gt;
=== Kompilieren ===&lt;br /&gt;
Da die Version von OpenSSL auf dem Testsystem veraltet war, wurde zuerst eine neue heruntergeladen und kompiliert.&lt;br /&gt;
Zu diesem Zeitpunkt war 0.9.8i die neueste Ausgabe der Sourcen. Leider ist standardmaessig kein Support der libpkcs11 vorhanden, weshalb dieser nachtraeglich eingepatcht werden muss - ein [http://blogs.sun.com/janp/resource/pkcs11/pkcs11_engine-0.9.8h.patch.2008-08-01.gz Patch] ([http://blogs.sun.com/janp/resource/pkcs11/README.pkcs11-0.9.8h_2008-08-01 README dazu]) war damals jedoch nur fuer 0.9.8h vorhanden, weshalb auf also auf letztere Version zurueckgegriffen wurde. &lt;br /&gt;
Inzwischen existiert auch fuer 0.9.8i ein [http://blogs.sun.com/janp/resource/pkcs11/pkcs11_engine-0.9.8i.patch.2008-12-02.gz Patch] &lt;br /&gt;
([http://blogs.sun.com/janp/resource/pkcs11/README.pkcs11-0.9.8i_2008-12-02 README dazu]). &lt;br /&gt;
Mehr und aktuelleres gibt es in [http://blogs.sun.com/janp/ Jan Pechanec&amp;#039;s weblog].&lt;br /&gt;
&lt;br /&gt;
Jetzt ist libcrypto.so auf dem System vorhanden, und kann von OpenVPN benutzt werden.&lt;br /&gt;
Auch OpenVPN musste neu kompiliert werden, es wurde das Release 2.1_rc15 verwendet.&lt;br /&gt;
&lt;br /&gt;
Da OpenVPN auf ein TUN-device aufsetzt, musste der dafuer benoetigte Treiber nachtraeglich installiert werden:&lt;br /&gt;
(link fehlt noch).&lt;br /&gt;
&lt;br /&gt;
Beim Kompilieren kommt es zu Fehlern, das ./configure-Skript erkennt offenbar nicht richtig das es sich bei der Sun um eine 64bit-Maschine handelt. Ein kurzes editieren des Makefile behebt den Fehler jedoch schnell.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Benchmarks (OpenSSL) ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Bench.png|thumb|400px| AES-256CBC ]]&lt;br /&gt;
&lt;br /&gt;
== rest kommt noch ==&lt;/div&gt;</summary>
		<author><name>Schrade</name></author>
	</entry>
</feed>