Microchip Technology Inc

AN1044

Title:
Data Encryption Routines for PIC24 and dsPIC Devices
Name:
AN1044
Date:
03/01/2013
Author:
David Flowers, Howard Schlunder
Description:
Currently, there are three data encryption standards approved for use in the Federal Information Processing Standards (FIPS). This application note discusses the implementation of two of these for PIC24 and dsPIC devices: Triple Data Encryption Standard (TDES) and Advanced Encryption Standard (AES). Source code for this application note is available through the "Data Encryption Libraries" in the download section below.
Keywords:
TDE, DES, AES, Encryption, PIC24, dsPIC30F, dsPIC33F, PIC32
 
 Application Notes & Source Code
 Last Updated
Size
 
  AN1044
  03/01/2013
  347KB
 Silicon Products
Last Updated
  dsPIC30F1010
  09/20/2012
  dsPIC30F2010
  09/21/2012
  dsPIC30F2011
  09/21/2012
  dsPIC30F2012
  06/21/2006
  dsPIC30F2020
  09/21/2012
  dsPIC30F2023
  09/21/2012
  dsPIC30F3010
  09/21/2012
  dsPIC30F3011
  09/21/2012
  dsPIC30F3012
  09/21/2012
  dsPIC30F3013
  09/21/2012
  dsPIC30F3014
  09/21/2012
  dsPIC30F4011
  09/21/2012
  dsPIC30F4012
  09/21/2012
  dsPIC30F4013
  09/21/2012
  dsPIC30F5011
  09/21/2012
  dsPIC30F5013
  09/21/2012
  dsPIC30F5015
  09/22/2012
  dsPIC30F5016
  09/22/2012
  dsPIC30F6010
  06/21/2006
  dsPIC30F6010A
  09/22/2012
  dsPIC30F6011
  10/14/2007
  dsPIC30F6011A
  09/22/2012
  dsPIC30F6012
  06/21/2006
  dsPIC30F6012A
  09/22/2012
  dsPIC30F6013
  10/14/2007
  dsPIC30F6013A
  06/21/2006
  dsPIC30F6014
  03/15/2010
  dsPIC30F6014A
  09/22/2012
  dsPIC30F6015
  09/22/2012
  dsPIC33FJ128GP202
  09/25/2012
  dsPIC33FJ128GP204
  09/25/2012
  dsPIC33FJ128GP206
  04/30/2010
  dsPIC33FJ128GP206A
  09/25/2012
  dsPIC33FJ128GP306
  04/30/2010
  dsPIC33FJ128GP306A
  09/25/2012
  dsPIC33FJ128GP310
  04/30/2010
  dsPIC33FJ128GP310A
  09/25/2012
  dsPIC33FJ128GP706
  04/30/2010
  dsPIC33FJ128GP706A
  09/25/2012
  dsPIC33FJ128GP708
  04/30/2010
  dsPIC33FJ128GP708A
  09/25/2012
  dsPIC33FJ128GP710
  04/30/2010
  dsPIC33FJ128GP710A
  09/25/2012
  dsPIC33FJ128GP802
  09/25/2012
  dsPIC33FJ128GP804
  09/25/2012
  dsPIC33FJ128MC202
  09/26/2012
  dsPIC33FJ128MC204
  09/26/2012
  dsPIC33FJ128MC506
  04/30/2010
  dsPIC33FJ128MC506A
  09/26/2012
  dsPIC33FJ128MC510
  05/12/2010
  dsPIC33FJ128MC510A
  09/26/2012
  dsPIC33FJ128MC706
  05/19/2010
  dsPIC33FJ128MC706A
  09/26/2012
  dsPIC33FJ128MC708
  05/19/2010
  dsPIC33FJ128MC708A
  09/27/2012
  dsPIC33FJ128MC710
  05/19/2010
  dsPIC33FJ128MC710A
  09/27/2012
  dsPIC33FJ128MC802
  09/27/2012
  dsPIC33FJ128MC804
  09/27/2012
  dsPIC33FJ12GP201
  09/10/2007
  dsPIC33FJ12GP202
  07/14/2011
  dsPIC33FJ12MC201
  10/05/2012
  dsPIC33FJ12MC202
  10/05/2012
  dsPIC33FJ16GP101
  10/05/2012
  dsPIC33FJ16GP102
  10/05/2012
  dsPIC33FJ16GP304
  10/05/2012
  dsPIC33FJ16MC101
  10/05/2012
  dsPIC33FJ16MC102
  10/07/2012
  dsPIC33FJ16MC304
  10/07/2012
  dsPIC33FJ256GP506
  05/19/2010
  dsPIC33FJ256GP506A
  09/27/2010
  dsPIC33FJ256GP510
  05/19/2010
  dsPIC33FJ256GP510A
  09/13/2011
  dsPIC33FJ256GP710
  05/19/2010
  dsPIC33FJ256GP710A
  03/01/2011
  dsPIC33FJ256MC510
  05/19/2010
  dsPIC33FJ256MC510A
  10/07/2012
  dsPIC33FJ256MC710
  05/19/2010
  dsPIC33FJ256MC710A
  10/07/2012
  dsPIC33FJ32GP202
  10/07/2012
  dsPIC33FJ32GP204
  10/07/2012
  dsPIC33FJ32GP302
  10/07/2012
  dsPIC33FJ32GP304
  10/07/2012
  dsPIC33FJ32MC202
  10/07/2012
  dsPIC33FJ32MC204
  10/07/2012
  dsPIC33FJ32MC302
  10/07/2012
  dsPIC33FJ32MC304
  10/07/2012
  dsPIC33FJ64GP202
  10/07/2012
  dsPIC33FJ64GP204
  10/05/2012
  dsPIC33FJ64GP206
  05/19/2010
  dsPIC33FJ64GP206A
  10/05/2012
  dsPIC33FJ64GP306
  05/19/2010
  dsPIC33FJ64GP306A
  10/05/2012
  dsPIC33FJ64GP310
  05/19/2010
  dsPIC33FJ64GP310A
  10/05/2012
  dsPIC33FJ64GP706
  05/19/2010
  dsPIC33FJ64GP706A
  10/05/2012
  dsPIC33FJ64GP708
  05/19/2010
  dsPIC33FJ64GP708A
  10/05/2012
  dsPIC33FJ64GP710
  05/19/2010
  dsPIC33FJ64GP710A
  10/04/2012
  dsPIC33FJ64GP802
  10/04/2012
  dsPIC33FJ64GP804
  10/04/2012
  dsPIC33FJ64MC202
  10/04/2012
  dsPIC33FJ64MC204
  10/04/2012
  dsPIC33FJ64MC506
  05/19/2010
  dsPIC33FJ64MC506A
  10/04/2012
  dsPIC33FJ64MC508
  05/19/2010
  dsPIC33FJ64MC508A
  10/04/2012
  dsPIC33FJ64MC510
  05/19/2010
  dsPIC33FJ64MC510A
  10/04/2012
  dsPIC33FJ64MC706
  05/19/2010
  dsPIC33FJ64MC706A
  10/04/2012
  dsPIC33FJ64MC710
  05/19/2010
  dsPIC33FJ64MC710A
  10/04/2012
  dsPIC33FJ64MC802
  10/04/2012
  dsPIC33FJ64MC804
  10/03/2012
  PIC24F04KA200
  09/27/2012
  PIC24F04KA201
  09/27/2012
  PIC24F04KL100
  10/26/2012
  PIC24F04KL101
  10/26/2012
  PIC24F08KA101
  09/27/2012
  PIC24F08KA102
  09/27/2012
  PIC24F08KL200
  10/26/2012
  PIC24F08KL201
  10/26/2012
  PIC24F08KL301
  10/26/2012
  PIC24F08KL302
  10/25/2012
  PIC24F08KL401
  10/25/2012
  PIC24F08KL402
  10/25/2012
  PIC24F08KM101
  03/28/2013
  PIC24F08KM102
  03/28/2013
  PIC24F08KM202
  03/28/2013
  PIC24F08KM204
  03/28/2013
  PIC24F16KA101
  09/27/2012
  PIC24F16KA102
  09/27/2012
  PIC24F16KA301
  09/27/2012
  PIC24F16KA302
  09/27/2012
  PIC24F16KA304
  09/27/2012
  PIC24F16KL401
  10/25/2012
  PIC24F16KL402
  10/25/2012
  PIC24F16KM102
  03/28/2013
  PIC24F16KM104
  03/28/2013
  PIC24F16KM202
  03/28/2013
  PIC24F16KM204
  03/27/2013
  PIC24F32KA301
  08/09/2011
  PIC24F32KA302
  09/27/2012
  PIC24F32KA304
  09/26/2012
  PIC24FJ128GA006
  09/26/2012
  PIC24FJ128GA008
  09/26/2012
  PIC24FJ128GA010
  09/26/2012
  PIC24FJ128GA106
  09/26/2012
  PIC24FJ128GA108
  09/26/2012
  PIC24FJ128GA110
  01/19/2012
  PIC24FJ128GA202
  06/23/2014
  PIC24FJ128GA204
  06/23/2014
  PIC24FJ128GA306
  09/26/2012
  PIC24FJ128GA308
  09/26/2012
  PIC24FJ128GA310
  09/26/2012
  PIC24FJ128GA406
  07/07/2015
  PIC24FJ128GA410
  07/07/2015
  PIC24FJ128GA412
  07/21/2015
  PIC24FJ128GB106
  09/26/2012
  PIC24FJ128GB108
  09/26/2012
  PIC24FJ128GB110
  09/26/2012
  PIC24FJ128GB202
  06/23/2014
  PIC24FJ128GB204
  06/11/2014
  PIC24FJ128GB406
  07/07/2015
  PIC24FJ128GB410
  07/07/2015
  PIC24FJ128GB412
  07/21/2015
  PIC24FJ16GA002
  09/26/2012
  PIC24FJ16GA004
  09/26/2012
  PIC24FJ192GA106
  09/26/2012
  PIC24FJ192GA108
  09/26/2012
  PIC24FJ192GA110
  09/26/2012
  PIC24FJ192GB106
  09/26/2012
  PIC24FJ192GB108
  09/26/2012
  PIC24FJ192GB110
  09/26/2012
  PIC24FJ256GA106
  09/26/2012
  PIC24FJ256GA108
  09/26/2012
  PIC24FJ256GA110
  09/26/2012
  PIC24FJ256GA406
  07/07/2015
  PIC24FJ256GA410
  07/07/2015
  PIC24FJ256GA412
  07/21/2015
  PIC24FJ256GB106
  09/26/2012
  PIC24FJ256GB108
  09/26/2012
  PIC24FJ256GB110
  09/26/2012
  PIC24FJ256GB406
  07/07/2015
  PIC24FJ256GB410
  07/07/2015
  PIC24FJ256GB412
  06/29/2015
  PIC24FJ32GA002
  09/26/2012
  PIC24FJ32GA004
  09/26/2012
  PIC24FJ32GA102
  09/25/2012
  PIC24FJ32GA104
  09/25/2012
  PIC24FJ32GB002
  09/25/2012
  PIC24FJ32GB004
  09/25/2012
  PIC24FJ48GA002
  09/25/2012
  PIC24FJ48GA004
  09/25/2012
  PIC24FJ64GA002
  09/25/2012
  PIC24FJ64GA004
  09/25/2012
  PIC24FJ64GA006
  09/25/2012
  PIC24FJ64GA008
  06/08/2009
  PIC24FJ64GA010
  09/25/2012
  PIC24FJ64GA102
  09/25/2012
  PIC24FJ64GA104
  09/25/2012
  PIC24FJ64GA106
  09/25/2012
  PIC24FJ64GA108
  01/19/2012
  PIC24FJ64GA110
  09/25/2012
  PIC24FJ64GA202
  06/23/2014
  PIC24FJ64GA204
  06/23/2014
  PIC24FJ64GA306
  09/25/2012
  PIC24FJ64GA308
  09/25/2012
  PIC24FJ64GA310
  09/25/2012
  PIC24FJ64GA406
  07/07/2015
  PIC24FJ64GA410
  07/07/2015
  PIC24FJ64GA412
  07/21/2015
  PIC24FJ64GB002
  09/25/2012
  PIC24FJ64GB004
  09/25/2012
  PIC24FJ64GB106
  09/25/2012
  PIC24FJ64GB108
  09/25/2012
  PIC24FJ64GB110
  09/25/2012
  PIC24FJ64GB202
  06/23/2014
  PIC24FJ64GB204
  06/23/2014
  PIC24FJ64GB406
  07/07/2015
  PIC24FJ64GB410
  07/07/2015
  PIC24FJ64GB412
  07/21/2015
  PIC24FJ96GA006
  09/25/2012
  PIC24FJ96GA008
  09/25/2012
  PIC24FJ96GA010
  09/25/2012
  PIC24HJ128GP202
  09/25/2012
  PIC24HJ128GP204
  09/25/2012
  PIC24HJ128GP206
  05/19/2010
  PIC24HJ128GP206A
  09/25/2012
  PIC24HJ128GP206A
  09/25/2012
  PIC24HJ128GP210
  05/19/2010
  PIC24HJ128GP210A
  09/25/2012
  PIC24HJ128GP306
  05/19/2010
  PIC24HJ128GP306A
  09/25/2012
  PIC24HJ128GP306A
  09/25/2012
  PIC24HJ128GP310
  05/19/2010
  PIC24HJ128GP310A
  09/25/2012
  PIC24HJ128GP502
  09/23/2012
  PIC24HJ128GP504
  09/23/2012
  PIC24HJ128GP506
  05/19/2010
  PIC24HJ128GP506A
  09/23/2012
  PIC24HJ128GP510
  05/19/2010
  PIC24HJ128GP510A
  09/23/2012
  PIC24HJ12GP201
  09/23/2012
  PIC24HJ12GP202
  09/23/2012
  PIC24HJ16GP304
  02/02/2011
  PIC24HJ256GP206
  05/19/2010
  PIC24HJ256GP210
  05/19/2010
  PIC24HJ256GP210A
  09/22/2012
  PIC24HJ256GP610
  05/19/2010
  PIC24HJ256GP610A
  09/22/2012
  PIC24HJ32GP202
  02/02/2011
  PIC24HJ32GP204
  02/02/2011
  PIC24HJ32GP302
  09/22/2012
  PIC24HJ32GP304
  09/22/2012
  PIC24HJ64GP202
  09/21/2012
  PIC24HJ64GP204
  09/21/2012
  PIC24HJ64GP206
  05/19/2010
  PIC24HJ64GP206A
  09/21/2012
  PIC24HJ64GP210
  05/19/2010
  PIC24HJ64GP210A
  09/21/2012
  PIC24HJ64GP502
  09/13/2011
  PIC24HJ64GP504
  09/21/2012
  PIC24HJ64GP506
  05/19/2010
  PIC24HJ64GP506A
  09/21/2012
  PIC24HJ64GP510
  05/19/2010
  PIC24HJ64GP510A
  09/21/2012
  PIC32MX110F016B
  09/21/2012
  PIC32MX110F016D
  09/21/2012
  PIC32MX120F032B
  11/19/2012
  PIC32MX120F032D
  11/20/2012
  PIC32MX120F064H
  11/05/2014
  PIC32MX130F064B
  09/21/2012
  PIC32MX130F064C
  09/21/2012
  PIC32MX130F064D
  09/28/2012
  PIC32MX130F128H
  11/05/2014
  PIC32MX130F128L
  11/05/2014
  PIC32MX150F128B
  11/20/2012
  PIC32MX150F128C
  11/20/2012
  PIC32MX150F128D
  11/20/2012
  PIC32MX150F256H
  11/05/2014
  PIC32MX150F256L
  11/05/2014
  PIC32MX170F256B
  06/25/2014
  PIC32MX170F256D
  05/26/2014
  PIC32MX170F512H
  11/05/2014
  PIC32MX170F512L
  11/05/2014
  PIC32MX210F016B
  12/19/2011
  PIC32MX210F016D
  12/15/2011
  PIC32MX220F032B
  11/20/2012
  PIC32MX220F032D
  11/20/2012
  PIC32MX230F064B
  10/10/2012
  PIC32MX230F064C
  09/21/2012
  PIC32MX230F064D
  09/28/2012
  PIC32MX230F128H
  11/05/2014
  PIC32MX230F128L
  11/05/2014
  PIC32MX250F128B
  11/20/2012
  PIC32MX250F128C
  11/20/2012
  PIC32MX250F128D
  04/03/2013
  PIC32MX250F256H
  11/05/2014
  PIC32MX250F256L
  11/05/2014
  PIC32MX270F256B
  06/25/2014
  PIC32MX270F256D
  06/25/2014
  PIC32MX270F512H
  11/05/2014
  PIC32MX270F512L
  11/05/2014
  PIC32MX320F032H
  09/28/2012
  PIC32MX320F064H
  09/28/2012
  PIC32MX320F128H
  09/28/2012
  PIC32MX320F128L
  09/28/2012
  PIC32MX330F064L
  04/10/2013
  PIC32MX340F128H
  09/28/2012
  PIC32MX340F128L
  09/28/2012
  PIC32MX340F256H
  09/28/2012
  PIC32MX340F512H
  09/28/2012
  PIC32MX350F128H
  06/17/2013
  PIC32MX350F128L
  06/18/2013
  PIC32MX350F256H
  01/01/2005
  PIC32MX350F256L
  06/17/2013
  PIC32MX360F256L
  09/28/2012
  PIC32MX360F512L
  09/28/2012
  PIC32MX370F512H
  06/18/2013
  PIC32MX370F512L
  10/22/2013
  PIC32MX420F032H
  09/28/2012
  PIC32MX430F064H
  06/27/2013
  PIC32MX430F064L
  06/13/2013
  PIC32MX440F128H
  09/28/2012
  PIC32MX440F128L
  09/28/2012
  PIC32MX440F256H
  09/12/2011
  PIC32MX440F512H
  09/28/2012
  PIC32MX450F128H
  06/18/2013
  PIC32MX450F128L
  06/18/2013
  PIC32MX450F256H
  06/18/2013
  PIC32MX450F256L
  06/18/2013
  PIC32MX460F256L
  09/28/2012
  PIC32MX460F512L
  09/28/2012
  PIC32MX470F512H
  10/22/2013
  PIC32MX470F512L
  10/22/2013
  PIC32MX530F128H
  10/15/2014
  PIC32MX530F128L
  10/15/2014
  PIC32MX534F064H
  04/17/2013
  PIC32MX534F064L
  04/17/2013
  PIC32MX550F256H
  10/15/2014
  PIC32MX550F256L
  10/15/2014
  PIC32MX564F064H
  04/17/2013
  PIC32MX564F064L
  04/17/2013
  PIC32MX564F128H
  04/17/2013
  PIC32MX564F128L
  04/17/2013
  PIC32MX570F512H
  10/15/2014
  PIC32MX570F512L
  10/13/2014
  PIC32MX575F256H
  09/28/2012
  PIC32MX575F256L
  09/28/2012
  PIC32MX575F512H
  09/28/2012
  PIC32MX575F512L
  09/28/2012
  PIC32MX664F064H
  04/17/2013
  PIC32MX664F064L
  04/17/2013
  PIC32MX664F128H
  04/17/2013
  PIC32MX664F128L
  04/17/2013
  PIC32MX675F256H
  09/28/2012
  PIC32MX675F256L
  09/28/2012
  PIC32MX675F512H
  09/28/2012
  PIC32MX675F512L
  09/28/2012
  PIC32MX695F512H
  09/12/2011
  PIC32MX695F512L
  09/12/2011
  PIC32MX764F128H
  04/17/2013
  PIC32MX764F128L
  04/17/2013
  PIC32MX775F256H
  09/12/2011
  PIC32MX775F256L
  09/12/2011
  PIC32MX775F512H
  09/12/2011
  PIC32MX775F512L
  09/12/2011
  PIC32MX795F512H
  09/12/2011
  PIC32MX795F512L
  04/22/2013