As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com.

Changes

Jump to: navigation, search

CW308T-SAM4L

1,897 bytes added, 02:29, 31 October 2017
no edit summary
This board supports the Atmel SAM4L microcontroller. The default build has the Atmel ATSAM4LC2AA-AU, which has 128KB flash and 32KB SRAM.
 
== Power Supply ==
 
The Atmel SAM4L has an internal 1.8V regulator. This regulator is not used in the board, instead power for the core is supplied by an external LDO on the UFO board. Be sure to enable the 1.8V and 3.3V regulators on the UFO board for the SAM4L board to function.
== Hardware AES ==
== SimpleSerial Program ==
The SimpleSerial-AES program can be built for this target. This can use either hardware crypto or a software AES. This project is currently built via the Atmel Studio IDE, and the project file is located at [https://github.com/newaetech/chipwhisperer/tree/develop/hardware/victims/firmware/simpleserial-aes/ide_projects/asf/sam4l-simpleserial-aes hardware/victims/firmware/simpleserial-aes/ide_projects/asf/sam4l-simpleserial-aes] with the ChipWhisperer release.  If an Atmel ICE is attached as above, you should be able to build and run the example in 'debug' mode: After this, you
This uses the SAM4L HAL that is part of the build process. An automatically generated makefile can be modified to built in Linux, but currently has not been integrated into the rest of the system.
 
=== Adjusting Hardware AES ===
 
Inside the file ''hwaes.c'' you will find the AES hardware initilization. This is given in the following code sample:
 
<syntaxhighlight lang=c>
void aes_init(void)
{
periclk_aesa_init();
SCIF->SCIF_GCCTRL[AESA_GCLK_NUM].SCIF_GCCTRL = SCIF_GCCTRL_OSCSEL(GENCLK_SRC_CLK_CPU) | SCIF_GCCTRL_CEN;
 
/* AES Enable */
AESA->AESA_CTRL = AESA_CTRL_ENABLE | AESA_CTRL_NEWMSG; /* Enable, auto-accept new messages */
//Use with debugger to check PARAMETER register value
//volatile uint32_t param = AESA->AESA_PARAMETER;
/* AES Mode */
AESA->AESA_MODE = AESA_MODE_ENCRYPT | (AESA_MODE_CTYPE(0x0F)); /* Encrypt Mode, with all countermeasures */
//AESA->AESA_MODE = AESA_MODE_ENCRYPT; /* Encrypt Mode, without countermeasures */
/* Setup random seed for countermeasures to work */
AESA->AESA_DRNGSEED = 0xDEADBEEF; //A very random number
}
</syntaxhighlight>
 
Note there are two options shown, where countermeasures can be enabled or disabled. You can see the SAM4L datasheet for a description of the countermeasures. The following compares the power traces with and without countermeasures:
 
The following shows countermeasures enabled, you can see various execution paths taken during the encryption:
[[File:sam4l_wcountermeasures.png|600px]]
 
Compare this to the countermeasures disabled:
[[File:sam4l_nocountermeasures.png|600px]]
 
The following shows no countermeasures enabled, note the consistent execution path:
 
== Schematic ==
Approved_users, bureaucrat, administrator
1,956
edits

Navigation menu