SlideShare a Scribd company logo
Performance of State-of-the-Art Cryptography
on ARM-based Microprocessors
Hannes Tschofenig∗, Manuel Pegourie-Gonnard†
∗ARM Limited, Email: Hannes.Tschofenig@arm.com
†ARM Limited, Email: manuel.pegourie-gonnard@arm.com
I. EXTENDED ABSTRACT
ARM has designed many processors, and has extended its product portfolio by diversifying its CPU
development. This resulted in the new processor family with the name ”Cortex”. There are three profiles
in this family, namely
1) Cortex-A: Application processors that are designed to handle complex applications, such as high-end
embedded operating systems. Example products include high-end smart phones, tables, home gateways,
televisions, drones, etc. The Raspberry Pi also uses the Cortex-A processor.
2) Cortex-R: Real-time, high-performance processors targeted primarily at the higher end of the real-
time market. Example products are hard drive controllers, baseband controllers for cellular radio
communciation, and automotive systems.
3) Cortex-M: Processors targeting applications where low cost, and energy efficiency play an important role.
Currently, there are the following Cortex-M processors on the market: Cortex-M0, M0+, M3, M4 and
the recently released M7). Each of these processors provides different capabilities for different market
segments [1].
Cortex-A and Cortex-R processors are very powerful and do not require special attention from a performance
point of view. As mentioned, they are able to perform complex tasks without any problems and are not
considered ’constrained’ with respect to their computational capabilities. Widely used high-end operating system
are available for these processors.
The situation for Cortex-M processors is, however, different since these processors do not offer a memory
management unit (MMU) (but a memory protection unit (MPU) instead), contain a less powerful but more
energy efficient CPU, and are equipped with less RAM and flash memory. Many modern operating systems
assume the presence of a MMU and the limited RAM / flash memory resources often prohibit the use of
sophisticated operating systems1
.
POSITION PAPER FOR THE ’NIST LIGHTWEIGHT CRYPTOGRAPHY WORKSHOP’, 20th AND 21st JULY 2015, GAITHERSBURG, US.
1Note that we assume a platform with 256 KB of flash memory and 32 KB of RAM for use with our new mbed operating system, see [2].
mbed OS also requires a memory protection unit to provide memory access permissions for different memory regions thus improving OS
security. In particular, this prevents applications from corrupting/accessing memory used by other applications or by the hypervisor.
April 1, 2015 DRAFT
2
Cortex-M processors are very popular with Internet of Things (IoT) products and the ability to offer an online
development environment, an operating system, as well as the Internet protocol stack (including standardized
security protocols) lowers the barrier of entry for small, innovative companies. Our efforts are therefore focused
on ensuring suitable performance for the Cortex-M processor family. Without stating real-world hardware
requirements it is difficult to offer meaningful performance numbers and goals for optimization efforts.
For evaluating the performance of an entire IoT product it is, however, also necessary to refer to a reference
design since there are many different design patterns in use under the umbrella of IoT. The basic design
patterns are described in RFC 7452 [3]. A presentation at the IETF 92 plenary by the Internet Architecture
Board summarized the key differences of various design patterns [4]. While it will ultimately be most useful
to measure performance in context of the different design patterns no such extended performance analysis has
been conducted to our knowledge.
We have focused our performance investigations so far on the most demanding computations required by
[5], namely on elliptic curve cryptography. While our work is still ongoing a preliminary presentation has been
given to the IETF audience, see [6], with the intention to solicit feedback and to encourage others to offer their
performance data. Without proper performance data it is difficult to decide whether cryptographic algorithms
available today are (in-)sufficient for a given task. Note that [5] has been written with TLS/DTLS usage with
IoT applications and hence the choice of ciphersuites and protocol extensions differs from the use in a typical
Web/smart phone app scenario.
While the results are documented in detail in [6] it is useful to summarize a few key aspects. Note that
we have used an open source TLS/DTLS library, namely mbedTLS [7], without any hardware optimization or
ARM-assembly instructions.
1) ECC requires performance-demanding computations and those take time. What an acceptable delay is
depends on the application. Many applications only need to run public key cryptographic operations
during the initial (session) setup phase and infrequently afterwards. With session resumption DTLS/TLS
uses symmetric key cryptography most of the time.
2) The performance of symmetric key cryptography (keyed hash functions, encryption functions) is
negligible.
3) Detailed performance figures depend on the enabled performance optimizations (and indirectly the
available RAM size), the key size, the type of curve, and CPU speed. Choosing the right microprocessor
based on the expected usage environment is important.
4) Different curves offer quite some differences in performance. The Brainpool curves were slower than
NIST curves and Curve25519 shows promise to be even faster than NIST curves.
5) ECDSA signature operation is faster than ECDSA verify operation. ECDH is only slightly faster than
ECDHE (when fixed point optimization is enabled). Taking this fact into account can play a role in the
overal system design.
6) ECC key sizes above 256 bits are substantially slower than ECC curves with key size 192, 224, and
256. Key sizes around 224 bits are roughly similiar in speed. It is important to note that the chosen key
size has to be based on the state of the art recommendations rather than on the pre-selected hardware
April 1, 2015 DRAFT
3
platform. Quite often asymmetric cryptography is used on hardware that is not fit for the task and key
sizes have to be chosen that are ridiculously small.
7) CPU speed has a significant impact on the crypto performance. Faster CPU speeds often also have
a positive impact on energy efficiency because the CPU can finish computations much faster and the
sleeping cycles can be longer.
8) Optimizations, such as NIST curve optimization and fixed point optimization, have a significant influence
on the performance. There is a performance - RAM usage tradeoff: increased performance comes at the
expense of additional RAM usage. We believe that the additional RAM is well spent.
9) An ECC library increases code size (compared to a pure shared secret-based approach).
Since various optimizations have not been utilized so far we believe that asymmetric cryptography using our
mbedTLS stack can be used with all processors in the Cortex M family, particularly in context of TLS/DTLS,
without noticable delay for most applications. For those applications that require very fast response times (for
example due to user interactions) the Cortex-M3 and M4 processors provide good performance at a low cost.
The new Cortex M7 will improve performance even further and thereby bridging the gap between M-class and
A-class processors.
We are interested to hear what performance data others have gathered using their crypto libraries, maybe
using different optimization techniques, and tests executed on different processors. We are also interested in
documenting widely used IoT design patterns (as reference designs), which would not only be useful for
performance comparisons of IoT systems but also for interoperability testing setups.
REFERENCES
[1] ARM, “Cortex-M Series,” Mar. 2015, http://www.arm.com/products/processors/cortex-m/.
[2] S. Ford, “Announcing our plans for mbed v3.0,” Oct. 2014, http://developer.mbed.org/blog/entry/Announcing-our-plans-for-mbed-v30/.
[3] H. Tschofenig, J. Arkko, D. Thaler, and D. McPherson, “Architectural Considerations in Smart Object Networking,” Mar. 2015, RFC
7452, Request For Comments.
[4] D. Thaler and H. Tschofenig, “Architectural Considerations in Smart Object Networking,” Mar. 2015,
http://www.ietf.org/proceedings/92/slides/slides-92-iab-techplenary-2.pdf.
[5] H. Tschofenig and T. Fossati, “A TLS/DTLS Profile for the Internet of Things,” Mar. 2015, IETF draft (work in progress), draft-ietf-
dice-profile-10.txt.
[6] H. Tschofenig and M. Pegourie-Gonnard, “Presentation at the IETF92 Light-Weight Implementation Guidance (lwig) working group
meeting on Crypto Performance,” Mar. 2015, http://www.ietf.org/proceedings/92/slides/slides-92-lwig-3.pptx.
[7] ARM, “mbedTLS,” Mar. 2015, https://tls.mbed.org.
April 1, 2015 DRAFT

More Related Content

What's hot

OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
zdshelby
 
The LightweightM2M Ecosystem
The LightweightM2M EcosystemThe LightweightM2M Ecosystem
The LightweightM2M Ecosystem
Open Mobile Alliance
 
Lightweight M2M
Lightweight M2MLightweight M2M
Lightweight M2M
Björn Ekelund
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T Systems
Linaro
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Open Mobile Alliance
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Real-Time Innovations (RTI)
 
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
Open Mobile Alliance
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
Michelle Holley
 
Device Management with OMA Lightweight M2M
Device Management with OMA Lightweight M2MDevice Management with OMA Lightweight M2M
Device Management with OMA Lightweight M2M
Hannes Tschofenig
 
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Open Mobile Alliance
 
IOT beginnners
IOT beginnnersIOT beginnners
IOT beginnners
udhayakumarc1
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSrinivasa Addepalli
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Srinivasa Addepalli
 
Developing TI RTOS Applications and BLE Profiles
Developing TI RTOS Applications and BLE ProfilesDeveloping TI RTOS Applications and BLE Profiles
Developing TI RTOS Applications and BLE Profiles
Sumit Sapra
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Real-Time Innovations (RTI)
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...
Real-Time Innovations (RTI)
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
Julien Vermillard
 
Cloud computing (IT-703) UNIT 1 & 2
Cloud computing (IT-703) UNIT 1 & 2Cloud computing (IT-703) UNIT 1 & 2
Cloud computing (IT-703) UNIT 1 & 2
Jitendra s Rathore
 
IoT, M2M and IoT System Management
IoT, M2M and IoT System ManagementIoT, M2M and IoT System Management
IoT, M2M and IoT System Management
Vikram Nandini
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
Remedy IT
 

What's hot (20)

OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
 
The LightweightM2M Ecosystem
The LightweightM2M EcosystemThe LightweightM2M Ecosystem
The LightweightM2M Ecosystem
 
Lightweight M2M
Lightweight M2MLightweight M2M
Lightweight M2M
 
BKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T SystemsBKK16-200 Designing Security into low cost IO T Systems
BKK16-200 Designing Security into low cost IO T Systems
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
Intro to IoT & the role of LwM2M Technologies (Internet of Things World 2017,...
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
 
Device Management with OMA Lightweight M2M
Device Management with OMA Lightweight M2MDevice Management with OMA Lightweight M2M
Device Management with OMA Lightweight M2M
 
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
Introduction to OMA LightweightM2M by OMA Device Management Chairman (IoT Wor...
 
IOT beginnners
IOT beginnnersIOT beginnners
IOT beginnners
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_Networks
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
Developing TI RTOS Applications and BLE Profiles
Developing TI RTOS Applications and BLE ProfilesDeveloping TI RTOS Applications and BLE Profiles
Developing TI RTOS Applications and BLE Profiles
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
 
Cloud computing (IT-703) UNIT 1 & 2
Cloud computing (IT-703) UNIT 1 & 2Cloud computing (IT-703) UNIT 1 & 2
Cloud computing (IT-703) UNIT 1 & 2
 
IoT, M2M and IoT System Management
IoT, M2M and IoT System ManagementIoT, M2M and IoT System Management
IoT, M2M and IoT System Management
 
Integrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approachIntegrating DDS into AXCIOMA, the component approach
Integrating DDS into AXCIOMA, the component approach
 

Similar to Performance of State-of-the-Art Cryptography on ARM-based Microprocessors

Aw4201337340
Aw4201337340Aw4201337340
Aw4201337340
IJERA Editor
 
Ijetr042175
Ijetr042175Ijetr042175
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
NomanSiddiqui41
 
Intel Microprocessors- a Top down Approach
Intel Microprocessors- a Top down ApproachIntel Microprocessors- a Top down Approach
Intel Microprocessors- a Top down Approach
Editor IJCATR
 
Developing Real-Time Systems on Application Processors
Developing Real-Time Systems on Application ProcessorsDeveloping Real-Time Systems on Application Processors
Developing Real-Time Systems on Application Processors
Toradex
 
IRJET- ALPYNE - A Grid Computing Framework
IRJET- ALPYNE - A Grid Computing FrameworkIRJET- ALPYNE - A Grid Computing Framework
IRJET- ALPYNE - A Grid Computing Framework
IRJET Journal
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
Ionela
 
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
IJECEIAES
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
enriquealbabaena6868
 
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
A Survey   Embedded Systems Supporting By Different Operating Systems.pdfA Survey   Embedded Systems Supporting By Different Operating Systems.pdf
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
Fiona Phillips
 
UNIT 1 SONCA.pptx
UNIT 1 SONCA.pptxUNIT 1 SONCA.pptx
UNIT 1 SONCA.pptx
mohan134666
 
A new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asicsA new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asics
ijsc
 
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS  A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
ijsc
 
How the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersHow the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersGiuseppe Paterno'
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)
Karteek Irukulla
 
Cell Today and Tomorrow - IBM Systems and Technology Group
Cell Today and Tomorrow - IBM Systems and Technology GroupCell Today and Tomorrow - IBM Systems and Technology Group
Cell Today and Tomorrow - IBM Systems and Technology Group
Slide_N
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulation
nabati
 

Similar to Performance of State-of-the-Art Cryptography on ARM-based Microprocessors (20)

Aw4201337340
Aw4201337340Aw4201337340
Aw4201337340
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
 
Intel Microprocessors- a Top down Approach
Intel Microprocessors- a Top down ApproachIntel Microprocessors- a Top down Approach
Intel Microprocessors- a Top down Approach
 
Developing Real-Time Systems on Application Processors
Developing Real-Time Systems on Application ProcessorsDeveloping Real-Time Systems on Application Processors
Developing Real-Time Systems on Application Processors
 
Ameya_Kasbekar_Resume
Ameya_Kasbekar_ResumeAmeya_Kasbekar_Resume
Ameya_Kasbekar_Resume
 
IRJET- ALPYNE - A Grid Computing Framework
IRJET- ALPYNE - A Grid Computing FrameworkIRJET- ALPYNE - A Grid Computing Framework
IRJET- ALPYNE - A Grid Computing Framework
 
LPC4300_two_cores
LPC4300_two_coresLPC4300_two_cores
LPC4300_two_cores
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
Instruction Set Extension of a Low-End Reconfigurable Microcontroller in Bit-...
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
 
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
A Survey   Embedded Systems Supporting By Different Operating Systems.pdfA Survey   Embedded Systems Supporting By Different Operating Systems.pdf
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
 
UNIT 1 SONCA.pptx
UNIT 1 SONCA.pptxUNIT 1 SONCA.pptx
UNIT 1 SONCA.pptx
 
A new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asicsA new design reuse approach for voip implementation into fpsocs and asics
A new design reuse approach for voip implementation into fpsocs and asics
 
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS  A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
A New Design Reuse Approach for Voip Implementation into Fpsocs and ASICS
 
Clustering
ClusteringClustering
Clustering
 
How the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacentersHow the Post-PC era changed IT Ubuntu for next gen datacenters
How the Post-PC era changed IT Ubuntu for next gen datacenters
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)
 
Cell Today and Tomorrow - IBM Systems and Technology Group
Cell Today and Tomorrow - IBM Systems and Technology GroupCell Today and Tomorrow - IBM Systems and Technology Group
Cell Today and Tomorrow - IBM Systems and Technology Group
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulation
 

Recently uploaded

History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 

Recently uploaded (16)

History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 

Performance of State-of-the-Art Cryptography on ARM-based Microprocessors

  • 1. Performance of State-of-the-Art Cryptography on ARM-based Microprocessors Hannes Tschofenig∗, Manuel Pegourie-Gonnard† ∗ARM Limited, Email: Hannes.Tschofenig@arm.com †ARM Limited, Email: manuel.pegourie-gonnard@arm.com I. EXTENDED ABSTRACT ARM has designed many processors, and has extended its product portfolio by diversifying its CPU development. This resulted in the new processor family with the name ”Cortex”. There are three profiles in this family, namely 1) Cortex-A: Application processors that are designed to handle complex applications, such as high-end embedded operating systems. Example products include high-end smart phones, tables, home gateways, televisions, drones, etc. The Raspberry Pi also uses the Cortex-A processor. 2) Cortex-R: Real-time, high-performance processors targeted primarily at the higher end of the real- time market. Example products are hard drive controllers, baseband controllers for cellular radio communciation, and automotive systems. 3) Cortex-M: Processors targeting applications where low cost, and energy efficiency play an important role. Currently, there are the following Cortex-M processors on the market: Cortex-M0, M0+, M3, M4 and the recently released M7). Each of these processors provides different capabilities for different market segments [1]. Cortex-A and Cortex-R processors are very powerful and do not require special attention from a performance point of view. As mentioned, they are able to perform complex tasks without any problems and are not considered ’constrained’ with respect to their computational capabilities. Widely used high-end operating system are available for these processors. The situation for Cortex-M processors is, however, different since these processors do not offer a memory management unit (MMU) (but a memory protection unit (MPU) instead), contain a less powerful but more energy efficient CPU, and are equipped with less RAM and flash memory. Many modern operating systems assume the presence of a MMU and the limited RAM / flash memory resources often prohibit the use of sophisticated operating systems1 . POSITION PAPER FOR THE ’NIST LIGHTWEIGHT CRYPTOGRAPHY WORKSHOP’, 20th AND 21st JULY 2015, GAITHERSBURG, US. 1Note that we assume a platform with 256 KB of flash memory and 32 KB of RAM for use with our new mbed operating system, see [2]. mbed OS also requires a memory protection unit to provide memory access permissions for different memory regions thus improving OS security. In particular, this prevents applications from corrupting/accessing memory used by other applications or by the hypervisor. April 1, 2015 DRAFT
  • 2. 2 Cortex-M processors are very popular with Internet of Things (IoT) products and the ability to offer an online development environment, an operating system, as well as the Internet protocol stack (including standardized security protocols) lowers the barrier of entry for small, innovative companies. Our efforts are therefore focused on ensuring suitable performance for the Cortex-M processor family. Without stating real-world hardware requirements it is difficult to offer meaningful performance numbers and goals for optimization efforts. For evaluating the performance of an entire IoT product it is, however, also necessary to refer to a reference design since there are many different design patterns in use under the umbrella of IoT. The basic design patterns are described in RFC 7452 [3]. A presentation at the IETF 92 plenary by the Internet Architecture Board summarized the key differences of various design patterns [4]. While it will ultimately be most useful to measure performance in context of the different design patterns no such extended performance analysis has been conducted to our knowledge. We have focused our performance investigations so far on the most demanding computations required by [5], namely on elliptic curve cryptography. While our work is still ongoing a preliminary presentation has been given to the IETF audience, see [6], with the intention to solicit feedback and to encourage others to offer their performance data. Without proper performance data it is difficult to decide whether cryptographic algorithms available today are (in-)sufficient for a given task. Note that [5] has been written with TLS/DTLS usage with IoT applications and hence the choice of ciphersuites and protocol extensions differs from the use in a typical Web/smart phone app scenario. While the results are documented in detail in [6] it is useful to summarize a few key aspects. Note that we have used an open source TLS/DTLS library, namely mbedTLS [7], without any hardware optimization or ARM-assembly instructions. 1) ECC requires performance-demanding computations and those take time. What an acceptable delay is depends on the application. Many applications only need to run public key cryptographic operations during the initial (session) setup phase and infrequently afterwards. With session resumption DTLS/TLS uses symmetric key cryptography most of the time. 2) The performance of symmetric key cryptography (keyed hash functions, encryption functions) is negligible. 3) Detailed performance figures depend on the enabled performance optimizations (and indirectly the available RAM size), the key size, the type of curve, and CPU speed. Choosing the right microprocessor based on the expected usage environment is important. 4) Different curves offer quite some differences in performance. The Brainpool curves were slower than NIST curves and Curve25519 shows promise to be even faster than NIST curves. 5) ECDSA signature operation is faster than ECDSA verify operation. ECDH is only slightly faster than ECDHE (when fixed point optimization is enabled). Taking this fact into account can play a role in the overal system design. 6) ECC key sizes above 256 bits are substantially slower than ECC curves with key size 192, 224, and 256. Key sizes around 224 bits are roughly similiar in speed. It is important to note that the chosen key size has to be based on the state of the art recommendations rather than on the pre-selected hardware April 1, 2015 DRAFT
  • 3. 3 platform. Quite often asymmetric cryptography is used on hardware that is not fit for the task and key sizes have to be chosen that are ridiculously small. 7) CPU speed has a significant impact on the crypto performance. Faster CPU speeds often also have a positive impact on energy efficiency because the CPU can finish computations much faster and the sleeping cycles can be longer. 8) Optimizations, such as NIST curve optimization and fixed point optimization, have a significant influence on the performance. There is a performance - RAM usage tradeoff: increased performance comes at the expense of additional RAM usage. We believe that the additional RAM is well spent. 9) An ECC library increases code size (compared to a pure shared secret-based approach). Since various optimizations have not been utilized so far we believe that asymmetric cryptography using our mbedTLS stack can be used with all processors in the Cortex M family, particularly in context of TLS/DTLS, without noticable delay for most applications. For those applications that require very fast response times (for example due to user interactions) the Cortex-M3 and M4 processors provide good performance at a low cost. The new Cortex M7 will improve performance even further and thereby bridging the gap between M-class and A-class processors. We are interested to hear what performance data others have gathered using their crypto libraries, maybe using different optimization techniques, and tests executed on different processors. We are also interested in documenting widely used IoT design patterns (as reference designs), which would not only be useful for performance comparisons of IoT systems but also for interoperability testing setups. REFERENCES [1] ARM, “Cortex-M Series,” Mar. 2015, http://www.arm.com/products/processors/cortex-m/. [2] S. Ford, “Announcing our plans for mbed v3.0,” Oct. 2014, http://developer.mbed.org/blog/entry/Announcing-our-plans-for-mbed-v30/. [3] H. Tschofenig, J. Arkko, D. Thaler, and D. McPherson, “Architectural Considerations in Smart Object Networking,” Mar. 2015, RFC 7452, Request For Comments. [4] D. Thaler and H. Tschofenig, “Architectural Considerations in Smart Object Networking,” Mar. 2015, http://www.ietf.org/proceedings/92/slides/slides-92-iab-techplenary-2.pdf. [5] H. Tschofenig and T. Fossati, “A TLS/DTLS Profile for the Internet of Things,” Mar. 2015, IETF draft (work in progress), draft-ietf- dice-profile-10.txt. [6] H. Tschofenig and M. Pegourie-Gonnard, “Presentation at the IETF92 Light-Weight Implementation Guidance (lwig) working group meeting on Crypto Performance,” Mar. 2015, http://www.ietf.org/proceedings/92/slides/slides-92-lwig-3.pptx. [7] ARM, “mbedTLS,” Mar. 2015, https://tls.mbed.org. April 1, 2015 DRAFT