当前位置: X-MOL 学术Future Gener. Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the efficiency of software implementations of lightweight block ciphers from the perspective of programming languages
Future Generation Computer Systems ( IF 6.2 ) Pub Date : 2019-10-04 , DOI: 10.1016/j.future.2019.09.058
Abdur Rehman Raza , Khawir Mahmood , Muhammad Faisal Amjad , Haider Abbas , Mehreen Afzal

Lightweight block ciphers are primarily designed for resource constrained devices. However, due to service requirements of large-scale IoT networks and systems, the need for efficient software implementations cannot be ruled out. A number of studies have compared software implementations of different lightweight block ciphers on a specific platform but to the best of our knowledge, this is the first attempt to benchmark various software implementations of a single lightweight block cipher across different programming languages and platforms in the cloud architecture. In this paper, we defined six lookup-table based software implementations for lightweight block ciphers with their characteristics ranging from memory to throughput optimized variants. We carried out a thorough analysis of the two costs associated with each implementation (memory and operations) and discussed possible trade-offs in detail. We coded all six types of implementations for three key settings (64, 80, 128 bits) of LED (a lightweight block cipher) in four programming languages (Java, C#, C++, Python). We highlighted the impact of choice relating to implementation type, programming language, and platform by benchmarking the seventy-two implementations for throughput and software efficiency on 32 & 64-bit platforms for two major operating systems (Windows & Linux) on Amazon Web Services Cloud. The results showed that these choices can affect the efficiency of a cryptographic primitive by a factor as high as 400.



中文翻译:

从编程语言的角度论轻量级分组密码的软件实现效率

轻量级分组密码主要用于资源受限的设备。但是,由于大规模物联网网络和系统的服务要求,不能排除对高效软件实施的需求。许多研究已经比较了特定平台上不同轻量级分组密码的软件实现,但是据我们所知,这是首次尝试跨云中不同编程语言和平台对单个轻量级分组密码的各种软件实现进行基准测试。建筑。在本文中,我们为轻量级分组密码定义了六个基于查找表的软件实现,其特征范围从内存到吞吐量优化的变体。我们对与每个实现相关的两个成本(内存和操作)进行了彻底的分析,并详细讨论了可能的权衡。我们为三种关键设置编码了所有六种类型的实现(64、80、128位) LED(轻量级分组密码)采用四种编程语言(Java,C#,C ++,Python)。通过对Amazon Web Services Cloud上两个主要操作系统(Windows和Linux)的32和64位平台上的吞吐量和软件效率的72个实现进行基准测试,我们强调了选择对实现类型,编程语言和平台的影响。结果表明,这些选择会以高达400的倍数影响密码原语的效率。

更新日期:2019-10-04
down
wechat
bug