CC2520 DATASHEET
2.4 GHZ IEEE 802.15.4/ZIGBEE® RF TRANSCEIVER
SWRS068 – DECEMBER 2007
Memory before
CTR/UCTR(P,K,C,N,A,E)
blocks of
16 bytes
Repeat until C bytes
have been consumed
Memory after
E+C-1
E
C bytes ciphertext
C bytes plaintext
16 bytes key
A+C-1
A
C bytes plaintext
16 bytes key
A+C-1
AES
encryption
Increment 2 least
significant bytes
A
16K+15
16K
16K+15
16K
16N+15
16N
16 bytes counter
16N+15
16N
16 bytes counter
CBC-MAC(P,K,C,A,E,M)
blocks of
16 bytes
Repeat until C bytes have
been consumed
i+1
i
truncate last
iteration
E+[NaN,3,7,15]
[0,4,8,16] bytes MIC
E
A+C-1
i=0 else
A
A+C-1
A
C bytes plaintext
16 bytes key
16K+15
16K
C bytes plaintext
16 bytes key
16K+15
16K
AES
encryption
i = block index
CCM(P,K,C,N,A,E,F,M)
A+F+C-1
A+F
A+F-1
A
C bytes plaintext
F bytes plaintext
CBC-MAC
MIC
E+C+[NaN,3,7,15]
[0,4,8,16] bytes encrypted MIC
E+C
E+C-1
E
C bytes ciphertext
C bytes plaintext
F bytes plaintext
CTR
index=0
index>0
CTR
A+F+C-1
A+F
A+F-1
A
16N+15
16N
16 bytes counter
16 bytes key
16K+15
16K
16N+15
16N
16 bytes counter
16 bytes key
16K+15
16K
Figure 37: Advanced security instructions
26.6 CTR / UCTR
The CTR instruction will perform counter mode encryption on a configurable number C of plaintext bytes. It
outputs C ciphertext bytes. The 2 least significant bytes of the counter are incremented after each 16 byte
block of plaintext has been processed.
96
WWW.TI.COM