Python-based FPGA implementation of AES using Migen for Internet of Things Security

Internet of things (IoT) technology is making it possible for a wide variety of end-user devices to be connected to the internet, leading to richness and accuracy of real data that would previously have needed much more cumbersome and expensive methods. But this connectedness also leads to more chal...

Full description

Saved in:
Bibliographic Details
Published in2019 IEEE 10th International Conference on Mechanical and Intelligent Manufacturing Technologies (ICMIMT) pp. 194 - 198
Main Authors Setetemela, K. O., Keta, K., Nkhabu, M, Winberg, S.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.02.2019
Subjects
Online AccessGet full text
DOI10.1109/ICMIMT.2019.8712074

Cover

Abstract Internet of things (IoT) technology is making it possible for a wide variety of end-user devices to be connected to the internet, leading to richness and accuracy of real data that would previously have needed much more cumbersome and expensive methods. But this connectedness also leads to more challenges in data security and the increased risk of cyber-attacks. Improved, and faster, security schemes have become a key requirement of these loT technologies. Field Programmable Gate Arrays (FPGAs) have been used to accelerate various cyber-security algorithms. However, while FPGAs are capable of massive computational power, through their highly parallel nature, they are generally difficult to program; and considering the design of modern encryption schemes this is posing a significant bottleneck to progress in security for these architectures. This paper investigates the use of a Python-based high-level FPGA design tool-flow for rapid prototyping of loT cryptosystems. In this paper we implement a version of the Advanced Encryption Standard (AES) algorithm, with block and key sizes of 128bits, using the Python-based tool-flow. The design is functionally verified, a Verilog hardware implementation is generated, simulated and then executed on an FPGA platform. The performance of the resulting FPGA design is analyzed in terms of resource utilization and throughput, and is compared against similar hand-written AES implementations reported in the literature. We found our FPGA implementation had a frequency of 512.742 MHz and a throughput of 65.63Gbps which is more than fast enough for most IoT applications.
AbstractList Internet of things (IoT) technology is making it possible for a wide variety of end-user devices to be connected to the internet, leading to richness and accuracy of real data that would previously have needed much more cumbersome and expensive methods. But this connectedness also leads to more challenges in data security and the increased risk of cyber-attacks. Improved, and faster, security schemes have become a key requirement of these loT technologies. Field Programmable Gate Arrays (FPGAs) have been used to accelerate various cyber-security algorithms. However, while FPGAs are capable of massive computational power, through their highly parallel nature, they are generally difficult to program; and considering the design of modern encryption schemes this is posing a significant bottleneck to progress in security for these architectures. This paper investigates the use of a Python-based high-level FPGA design tool-flow for rapid prototyping of loT cryptosystems. In this paper we implement a version of the Advanced Encryption Standard (AES) algorithm, with block and key sizes of 128bits, using the Python-based tool-flow. The design is functionally verified, a Verilog hardware implementation is generated, simulated and then executed on an FPGA platform. The performance of the resulting FPGA design is analyzed in terms of resource utilization and throughput, and is compared against similar hand-written AES implementations reported in the literature. We found our FPGA implementation had a frequency of 512.742 MHz and a throughput of 65.63Gbps which is more than fast enough for most IoT applications.
Author Nkhabu, M
Setetemela, K. O.
Winberg, S.
Keta, K.
Author_xml – sequence: 1
  givenname: K. O.
  surname: Setetemela
  fullname: Setetemela, K. O.
  organization: Department of Mathematics and Computer Science, National University of Lesotho, Roma, Lesotho
– sequence: 2
  givenname: K.
  surname: Keta
  fullname: Keta, K.
  organization: Department of Mathematics and Computer Science, National University of Lesotho, Roma, Lesotho
– sequence: 3
  givenname: M
  surname: Nkhabu
  fullname: Nkhabu, M
  organization: Department of Mathematics and Computer Science, National University of Lesotho, Roma, Lesotho
– sequence: 4
  givenname: S.
  surname: Winberg
  fullname: Winberg, S.
  organization: Department of Electrical Engineering, University of Cape Town, Cape Town, South Africa
BookMark eNotj71qwzAYAFVohybtE2TRCzjVjxVZozFJaohpwO4c9PMpEcRysJXBb9-WZrrh4OAW6DkOERBaUbKmlKiPumrqplszQtW6kJQRmT-hBRW82EglWfGK2uOcLkPMjJ7A4d1xX-LQ367QQ0w6hSHiweNy2-L7FOIZN-EMEfthxHVMMEZIf767_LoJt2DvY0jzG3rx-jrB-4NL9L3bdtVndvja11V5yAKVImXKW8WYNEYy7g3kQjiVW8GJ9t5uKJHS5JYVtvDGc5JrQ5gEJx0huXCeOr5Eq_9uAIDTbQy9HufT45P_ANPcTTA
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/ICMIMT.2019.8712074
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 1538679728
9781538679722
EndPage 198
ExternalDocumentID 8712074
Genre orig-research
GroupedDBID 6IE
6IL
CBEJK
RIE
RIL
ID FETCH-LOGICAL-i175t-9fc9227bb723fbe455d94c530affc61077b4c28c8fbf304ab027ed7d0045df1d3
IEDL.DBID RIE
IngestDate Thu Jun 29 18:39:21 EDT 2023
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i175t-9fc9227bb723fbe455d94c530affc61077b4c28c8fbf304ab027ed7d0045df1d3
PageCount 5
ParticipantIDs ieee_primary_8712074
PublicationCentury 2000
PublicationDate 2019-Feb.
PublicationDateYYYYMMDD 2019-02-01
PublicationDate_xml – month: 02
  year: 2019
  text: 2019-Feb.
PublicationDecade 2010
PublicationTitle 2019 IEEE 10th International Conference on Mechanical and Intelligent Manufacturing Technologies (ICMIMT)
PublicationTitleAbbrev ICMIMT
PublicationYear 2019
Publisher IEEE
Publisher_xml – name: IEEE
Score 1.7035885
Snippet Internet of things (IoT) technology is making it possible for a wide variety of end-user devices to be connected to the internet, leading to richness and...
SourceID ieee
SourceType Publisher
StartPage 194
SubjectTerms Ciphers
component
cyber-security
Encryption
Field programmable gate arrays
FPGA
Hardware
Hardware design languages
Internet of Things
Internet of Things (loT)
rapid prototyping
Title Python-based FPGA implementation of AES using Migen for Internet of Things Security
URI https://ieeexplore.ieee.org/document/8712074
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LawIxEB7UU09t0dI3OfTY9bGvbI4iWi1sEVTwJnlMipRqKeuh_fWdbFZLSw-9LbuBhJks803yzTcAd5L2SJqFkn5xYQOnfhdIKUXAreCU46KwZbu3_CkdL-LHZbKswf2hFgYRS_IZtt1jeZdvtnrnjso6BO5DCnl1qPMs9bValZAQzdSZDPJJPndsLXK_H_mjZUoZMUbHkO_n8kSRl_auUG39-UuG8b-LOYHWd20emx6izinUcNOE2fTDaQAELiYZNpo-9Nn6dc8Md6ZnW8v6wxlzNPdnljsJTkZwlfkDQSzcd9_Ck82qjnYtWIyG88E4qNolBGvCAEUgrBZhyJXiYWQVxkliRKyTqCut1YSSOFexDjOdWWWjbiwVZaRouHGoztieic6gsdlu8BwYRpKLnrDdVMuYUi4ZKRqZaswUIgGAC2g6g6zevCLGqrLF5d-vr-DIOcVzna-hUbzv8IZCeaFuSx9-AW0BoJ0
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT8JAEJ0gHvSkBozf7sGj5aPdst0jISAoJSRAwo3sbmcNMYIx5aC_3tm2YDQevDXtJtvMbjNvtm_eA7hTtEdaka_oE5fWc-p3nlJKesJKQTUuSpvZvcWjVn_GH-fhvAT3u14YRMzIZ1hzl9m__GRtNu6orE7g3qeUtwf7Iec8zLu1Cikhmqs-6MSDeOr4WrQB8rE_TFOynNE7gng7W04VealtUl0zn7-EGP_7OsdQ_e7OY-Nd3jmBEq4qMBl_OBUAz2WlhPXGD222fN1yw13w2dqydnfCHNH9mcVOhJMRYGX5kSCm7nlu4skmhaddFWa97rTT9wrDBG9JKCD1pDXS94XWwg-sRh6GieQmDBrKWkM4SQjNjR-ZyGobNLjSVJNiIhKH6xLbTIJTKK_WKzwDhoESsilto2UUp6JLBZpGtgxGGpEgwDlUXEAWb7kmxqKIxcXft2_hoD-Nh4vhYPR0CYdugXLm8xWU0_cNXlNiT_VNtp5fBEWj6g
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2019+IEEE+10th+International+Conference+on+Mechanical+and+Intelligent+Manufacturing+Technologies+%28ICMIMT%29&rft.atitle=Python-based+FPGA+implementation+of+AES+using+Migen+for+Internet+of+Things+Security&rft.au=Setetemela%2C+K.+O.&rft.au=Keta%2C+K.&rft.au=Nkhabu%2C+M&rft.au=Winberg%2C+S.&rft.date=2019-02-01&rft.pub=IEEE&rft.spage=194&rft.epage=198&rft_id=info:doi/10.1109%2FICMIMT.2019.8712074&rft.externalDocID=8712074