<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=AESDECRYPT%2Fde</id>
		<title>AESDECRYPT/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=AESDECRYPT%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AESDECRYPT/de&amp;action=history"/>
		<updated>2026-05-10T11:09:56Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=AESDECRYPT/de&amp;diff=2033&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AESDECRYPT/de&amp;diff=2033&amp;oldid=prev"/>
				<updated>2013-02-15T19:12:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:12, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=AESDECRYPT/de&amp;diff=2032&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  This statement of function uses the Xmega AES encryption engine to decrypt a block of data.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=AESDECRYPT/de&amp;diff=2032&amp;oldid=prev"/>
				<updated>2013-02-06T22:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  This statement of function uses the Xmega AES encryption engine to decrypt a block of data.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
This statement of function uses the Xmega AES encryption engine to decrypt a block of data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;AESDECRYPT&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;amp;nbsp;key, var , size&lt;br /&gt;
&lt;br /&gt;
targ =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;AESDECRYPT (&amp;lt;/span&amp;gt;&amp;amp;nbsp;key, var , size&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
key&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The name of a label that contains 16 bytes of key data. Or an array holding 16 bytes of key data.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A variable or array containing the data to be encrypted. When you use the statement, this variable will contains the encrypted data after the conversion.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
size&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The number of bytes to encrypt. Encryption is done with blocks of 16 bytes. So the size should be a multiple of 16. If you supply only 14 bytes this is ok too, but the result will still be 16 bytes.&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]It is important that your array is big enough to hold the result.&lt;br /&gt;
&lt;br /&gt;
Without the full 16 byte result, you can not decrypt the data.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 81px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
targ&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
In case you use the function, this variable will hold the result.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function only works for Xmega chips that have an AES encryption unit.&lt;br /&gt;
&lt;br /&gt;
128 bit encryption is used.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
You can either use a label with a fixed key, or use a variable.&lt;br /&gt;
&lt;br /&gt;
You should use the same key data for encryption and decryption.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;[[AESENCRYPT]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'----------------------------------------------------------------&lt;br /&gt;
' (c) 1995-2010, MCS&lt;br /&gt;
' xm128-AES.bas&lt;br /&gt;
' This sample demonstrates the Xmega128A1 AES encryption/decryption&lt;br /&gt;
'-----------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;xm128a1def.dat&amp;quot;&lt;br /&gt;
$crystal = 32000000&lt;br /&gt;
$hwstack = 64&lt;br /&gt;
$swstack = 40&lt;br /&gt;
$framesize = 40&lt;br /&gt;
 &lt;br /&gt;
'include the following lib and code, the routines will be replaced since they are a workaround&lt;br /&gt;
$lib &amp;quot;xmega.lib&amp;quot;&lt;br /&gt;
$external _xmegafix_clear&lt;br /&gt;
$external _xmegafix_rol_r1014&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'first enable the osc of your choice&lt;br /&gt;
Config Osc = Enabled , 32mhzosc = Enabled&lt;br /&gt;
 &lt;br /&gt;
'configure the systemclock&lt;br /&gt;
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1&lt;br /&gt;
 &lt;br /&gt;
Config Com1 = 38400 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8&lt;br /&gt;
 &lt;br /&gt;
'$external _aes_enc&lt;br /&gt;
 &lt;br /&gt;
Dim Key(16) As Byte ' room for key&lt;br /&gt;
Dim Ar(34) As Byte&lt;br /&gt;
Dim Arenc(34) As Byte&lt;br /&gt;
Dim J As Byte&lt;br /&gt;
Print &amp;quot;AES test&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Restore Keydata&lt;br /&gt;
For J = 1 To 16 ' load a key to memory&lt;br /&gt;
 Read Key(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
'load some data&lt;br /&gt;
For J = 1 To 32 ' fill some data to encrypt&lt;br /&gt;
 Ar(j) = J&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Aesencrypt Keydata , Ar(1) , 32&lt;br /&gt;
Print &amp;quot;Encrypted data&amp;quot;&lt;br /&gt;
For J = 1 To 32 ' fill some data to encrypt&lt;br /&gt;
Print Ar(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Aesdecrypt Keydata , Ar(1) , 32&lt;br /&gt;
Print &amp;quot;Decrypted data&amp;quot;&lt;br /&gt;
For J = 1 To 32 ' fill some data to encrypt&lt;br /&gt;
Print Ar(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
Print &amp;quot;Encrypt function&amp;quot;&lt;br /&gt;
Arenc(1) = Aesencrypt(keydata , Ar(1) , 32)&lt;br /&gt;
For J = 1 To 32 ' fill some data to encrypt&lt;br /&gt;
Print Ar(j) ; &amp;quot;-&amp;quot; ; Arenc(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
Print &amp;quot;Decrypt function&amp;quot;&lt;br /&gt;
Ar(1) = Aesdecrypt(keydata , Arenc(1) , 32)&lt;br /&gt;
 &lt;br /&gt;
For J = 1 To 32&lt;br /&gt;
Print J ; &amp;quot;&amp;gt;&amp;quot; ; Ar(j) ; &amp;quot;-&amp;quot; ; Arenc(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Keydata:&lt;br /&gt;
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM_Language_Reference/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>