Datasheet

Table Of Contents
42.6.3.1 GCM Operation
42.6.3.1.1 Hashkey Generation
Configure CTRLA register as follows:
1. CTRLA.STARTMODE as Manual (Auto for DMAC)
2. CTRLA.CIPHER as Encryption
3. CTRLA.KEYSIZE as per the key used
4. CTRLA.AESMODE as ECB
5. CTRLA.CTYPE as per the countermeasures required.
Set CTRLA.ENABLE
Write zero to CIPLEN reg.
Write the key in KEYWORD register
Write the zeros to DATA reg
Set CTRLB.Start.
Wait for INTFLAG.ENCCMP to be set
AES Hardware generates Hash Subkey in HASHKEY register.
42.6.3.1.2 Authentication Header Processing
Configure CTRLA register as follows:
1. CTRLA.STARTMODE as Manual
2. CTRLA.CIPHER as Encryption
3. CTRLA.KEYSIZE as per the key used
4. CTRLA.AESMODE as GCM
5. CTRLA.CTYPE as per the countermeasures required.
Set CTRLA.ENABLE
Write the key in KEYWORD register
Set CTRLB.GFMUL
Write the Authdata to DATA reg
Set CTRLB.START as1
Wait for INTFLAG.GFMCMP to be set.
AES Hardware generates output in GHASH register
Continue steps 4 to 7 for remaining Authentication Header.
Note: If the Auth data is less than 128 bit, it has to be padded with zero to make it 128 bit aligned.
SAM D5x/E5x Family Data Sheet
AES – Advanced Encryption Standard
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 1421