Comparative Analysis of Programming Languages in Cryptography
2024 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesisAlternative title
Jämförande analys av programmeringsspråk i kryptografi (Swedish)
Abstract [en]
In our technologically advanced world, cybersecurity has become critical to protecting systems, networks, and applications from evolving threats. Cryptography, a historical cornerstone of cybersecurity, uses mathematical principles to secure information. The choice of programming language to implement encryption algorithms increases complexity in the field. Since programming plays a central role in implementing encryption, the increasing variety of programming languages presents a problem in selecting the most appropriate language for encrypting data. The purpose of this thesis is to highlight the relevance of the languages Python and GO in supporting three cryptographic algorithms: AES, RSA, and 3DES. The thesis focuses on performance, ease of implementation, and support for cryptographic libraries. The goal is to provide insight into these languages’ strengths for cryptographic tasks, helping software developers make informed decisions. To gain understanding and a broader overview of how Python and GO support encryption, a literature study and case-study were used. The results shows that both Python and GO have advantages in particular areas. GO has good performance, while Python has well-maintained cryptographic libraries. They are both easy to use for implementing encryption algorithms and they both have language features that simplify programming.
Abstract [sv]
I vår teknologiskt avancerade värld har cybersäkerhet blivit avgörande för att skydda system, nätverk och applikationer från utvecklande hot. Kryptografi, en historisk hörnsten inom cybersäkerhet, använder matematiska principer för att säkra information. Valet av programmeringsspråk för att implementera krypteringsalgoritmer ökar komplexiteten inom området. Eftersom programmering spelar en central roll i att implementera kryptering, innebär det ökande antalet programmeringsspråk en utmaning i att välja det mest lämpliga språket för att kryptera data. Denna avhandling belyser relevansen av språken Python och GO för att stödja tre kryptografiska algoritmer, AES, RSA och 3DES. Avhandlingen fokuserar på prestanda, enkelhet i implementation och stöd för kryptografiska bibliotek. Insikterna i dessa språks styrkor för kryptografiska uppgifter kan hjälpa mjukvaruutvecklare att fatta välgrundade beslut. För att få förståelse och en bredare översikt av hur Python och GO stödjer kryptering, användes en litteraturstudie och en fallstudie. Resultaten visar att både Python och GO har fördelar inom specifika områden. GO har god prestanda, medan Python har välunderhållna kryptografiska bibliotek. De är båda lätta att använda för att implementera krypteringsalgoritmer och de har båda språkliga funktioner som förenklar programmering.
Place, publisher, year, edition, pages
2024. , p. 57
Series
TRITA-EECS-EX ; 2024:299
Keywords [en]
Cryptography, Encryption algorithms, Programming languages
Keywords [sv]
Kryptografi, Enkrypteringsalgoritmer, Programmeringsspråk
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-350925OAI: oai:DiVA.org:kth-350925DiVA, id: diva2:1885509
Supervisors
Examiners
2024-08-162024-07-232024-08-16Bibliographically approved