Implementation of Cryptographic Algorithms in Software: An Analysis of the Effectiveness

V. Nazaruk, P. Rusakov
{"title":"Implementation of Cryptographic Algorithms in Software: An Analysis of the Effectiveness","authors":"V. Nazaruk, P. Rusakov","doi":"10.2478/v10143-010-0030-x","DOIUrl":null,"url":null,"abstract":"Implementation of Cryptographic Algorithms in Software: An Analysis of the Effectiveness The goal of the paper is to discuss some possibilities of effective implementing cryptographic algorithms in software development. There are concerned two aspects of the term \"effectiveness\": efficacy (i.e., meeting a goal of using cryptographic algorithms - providing a protection of information) and efficiency (i.e., implementing cryptographic algorithms in an economical way; as well as implementing cryptographic algorithms to the effect that they execute in an economical way). In the paper, there are defined and classified errors which are the causes of possible vulnerabilities in implementation of cryptographic algorithms on a computer. There are given general recommendations, how to escape from these vulnerabilities. There is also considered implementation of cryptographic algorithms in software development by using software libraries and frameworks. Several widespread software frameworks which provide cryptographic functionality are compared with each other by the speed of execution of algorithms. Finally, there are discussed some possibilities of maximising the speed of execution of cryptographic algorithms, emphasising the importance of parallelisation of algorithms. For block ciphers, possible parallelisation is discussed especially deeply, referencing the results obtained in practical experiments that demonstrate and estimate the benefits of parallelising block ciphers. Kriptogrāfisko algoritmu implementēšana programmatūrā: efektivitātes analīze Šī raksta mērķis ir aplūkot iespējas efektīvi implementēt kriptogrāfiskos algoritmus programmatūras izstrādē. Tiek skarti divi jēdziena «efektivitāte» aspekti: efektivitāte kā kriptogrāfisko algoritmu izmantošanas mērķa (informācijas aizsardzības nodrošināšanas) sasniegšanas rādītājs, un efektivitāte kā kriptogrāfisko algoritmu implementēšanas procesa ekonomiskuma, kā arī jau implementēto algoritmu izpildes ekonomiskuma (galvenokārt, laika resursu ziņā) rādītājs. Rakstā tiek definētas un klasificētas kļūdas, kas var izraisīt ievainojamības kriptogrāfisko algoritmu implementācijā ar datoru; tiek sniegtas vispārējās rekomendācijas, kā var izvairīties no šādām ievainojamībām. Arī tiek aplūkota kriptogrāfisko algoritmu implementēšana, izmantojot programmatūras bibliotēkas un platformas. Vairākas izplatītas programmatūras platformas, kas piedāvā kriptogrāfisko funkcionalitāti, tiek salīdzinātas savā starpā pēc algoritmu izpildes ātruma kritērija. Visbeidzot, tiek aplūkotas dažas iespējas palielināt kriptogrāfisko algoritmu izpildes ātrumu, izceļot algoritmu paralelizācijas svarīgumu. Bloku šifriem iespējamā paralelizācija tiek aplūkota īpaši dziļi; arī, atsaucoties uz praktisko eksperimentu rezultātiem, tiek demonstrētas un novērtētas bloku šifru paralelizācijas priekšrocības. Реализация криптографических алгоритмов в программном обеспечении: анализ эффективности Целью данной статьи является рассмотрение эффективной реализации криптографических алгоритмов в разработке программного обеспечения. Затрагиваются два аспекта термина — эффективность —: эффективность как показатель выполнения цели использования криптографических алгоритмов — обеспечения защиты информации, и эффективность как показатель экономичного процесса реализации криптографических алгоритмов, а также экономичного исполнения реализованных алгоритмов. В статье определяются и классифицируются ошибки, которые могут вызвать уязвимости в реализации криптографических алгоритмов на компьютере; даются общие рекомендации, как возможно избежать таких уязвимостей. Также рассматривается реализация криптографических алгоритмов, используя программные библиотеки и платформы. Несколько распространённых программных платформ, предоставляющих криптографическую функциональность, сравниваются между собой по критерию скорости выполнения алгоритмов. В заключение, рассматриваются некоторые возможности увеличения скорости исполнения криптографических алгоритмов, выделяя при этом важность распараллеливания алгоритмов. Для блочных шифров возможное распараллеливание рассматривается особенно глубоко; также ссылаясь на результаты, полученные в ходе практических экспериментов, демонстрирующие и оценивающие преимущества распараллеливания блочных шифров.","PeriodicalId":211660,"journal":{"name":"Sci. J. Riga Tech. Univ. Ser. Comput. Sci.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Sci. J. Riga Tech. Univ. Ser. Comput. Sci.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2478/v10143-010-0030-x","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Implementation of Cryptographic Algorithms in Software: An Analysis of the Effectiveness The goal of the paper is to discuss some possibilities of effective implementing cryptographic algorithms in software development. There are concerned two aspects of the term "effectiveness": efficacy (i.e., meeting a goal of using cryptographic algorithms - providing a protection of information) and efficiency (i.e., implementing cryptographic algorithms in an economical way; as well as implementing cryptographic algorithms to the effect that they execute in an economical way). In the paper, there are defined and classified errors which are the causes of possible vulnerabilities in implementation of cryptographic algorithms on a computer. There are given general recommendations, how to escape from these vulnerabilities. There is also considered implementation of cryptographic algorithms in software development by using software libraries and frameworks. Several widespread software frameworks which provide cryptographic functionality are compared with each other by the speed of execution of algorithms. Finally, there are discussed some possibilities of maximising the speed of execution of cryptographic algorithms, emphasising the importance of parallelisation of algorithms. For block ciphers, possible parallelisation is discussed especially deeply, referencing the results obtained in practical experiments that demonstrate and estimate the benefits of parallelising block ciphers. Kriptogrāfisko algoritmu implementēšana programmatūrā: efektivitātes analīze Šī raksta mērķis ir aplūkot iespējas efektīvi implementēt kriptogrāfiskos algoritmus programmatūras izstrādē. Tiek skarti divi jēdziena «efektivitāte» aspekti: efektivitāte kā kriptogrāfisko algoritmu izmantošanas mērķa (informācijas aizsardzības nodrošināšanas) sasniegšanas rādītājs, un efektivitāte kā kriptogrāfisko algoritmu implementēšanas procesa ekonomiskuma, kā arī jau implementēto algoritmu izpildes ekonomiskuma (galvenokārt, laika resursu ziņā) rādītājs. Rakstā tiek definētas un klasificētas kļūdas, kas var izraisīt ievainojamības kriptogrāfisko algoritmu implementācijā ar datoru; tiek sniegtas vispārējās rekomendācijas, kā var izvairīties no šādām ievainojamībām. Arī tiek aplūkota kriptogrāfisko algoritmu implementēšana, izmantojot programmatūras bibliotēkas un platformas. Vairākas izplatītas programmatūras platformas, kas piedāvā kriptogrāfisko funkcionalitāti, tiek salīdzinātas savā starpā pēc algoritmu izpildes ātruma kritērija. Visbeidzot, tiek aplūkotas dažas iespējas palielināt kriptogrāfisko algoritmu izpildes ātrumu, izceļot algoritmu paralelizācijas svarīgumu. Bloku šifriem iespējamā paralelizācija tiek aplūkota īpaši dziļi; arī, atsaucoties uz praktisko eksperimentu rezultātiem, tiek demonstrētas un novērtētas bloku šifru paralelizācijas priekšrocības. Реализация криптографических алгоритмов в программном обеспечении: анализ эффективности Целью данной статьи является рассмотрение эффективной реализации криптографических алгоритмов в разработке программного обеспечения. Затрагиваются два аспекта термина — эффективность —: эффективность как показатель выполнения цели использования криптографических алгоритмов — обеспечения защиты информации, и эффективность как показатель экономичного процесса реализации криптографических алгоритмов, а также экономичного исполнения реализованных алгоритмов. В статье определяются и классифицируются ошибки, которые могут вызвать уязвимости в реализации криптографических алгоритмов на компьютере; даются общие рекомендации, как возможно избежать таких уязвимостей. Также рассматривается реализация криптографических алгоритмов, используя программные библиотеки и платформы. Несколько распространённых программных платформ, предоставляющих криптографическую функциональность, сравниваются между собой по критерию скорости выполнения алгоритмов. В заключение, рассматриваются некоторые возможности увеличения скорости исполнения криптографических алгоритмов, выделяя при этом важность распараллеливания алгоритмов. Для блочных шифров возможное распараллеливание рассматривается особенно глубоко; также ссылаясь на результаты, полученные в ходе практических экспериментов, демонстрирующие и оценивающие преимущества распараллеливания блочных шифров.
密码算法在软件中的实现:有效性分析
密码算法在软件中的实现:有效性分析本文的目的是讨论在软件开发中有效实现密码算法的一些可能性。“有效性”一词涉及两个方面:有效性(即,满足使用加密算法的目标-提供信息保护)和效率(即,以经济的方式实现加密算法;以及实现加密算法,使其以经济的方式执行)。在本文中,有定义和分类的错误,这些错误是在计算机上实现密码算法时可能出现漏洞的原因。本文给出了如何避免这些漏洞的一般建议。还考虑了在软件开发中使用软件库和框架来实现加密算法。提供加密功能的几个广泛的软件框架通过算法的执行速度相互比较。最后,讨论了最大化加密算法执行速度的一些可能性,强调了算法并行化的重要性。对于分组密码,本文特别深入地讨论了可能的并行化,并参考了在实际实验中获得的结果,这些结果证明和估计了并行化分组密码的好处。Kriptogrāfisko algoritmu implementēšana programmatūrā: efektivitātes analy ze Šī raksta mērķis ir aplūkot iespējas efekt vi implementēt kriptogrāfiskos algoritmus programmatūras izstrādē。Tiek skarti红利jēdziena«efektivitāte»aspekti: efektivitāte kākriptogrāfisko algoritmu izmantošanas mērķ(通知ā比赛aizsardzības nodroš在āšanas) sasniegšanas rādītājs,联合国efektivitāte kākriptogrāfisko algoritmu实现ēšanas procesa ekonomiskuma, kāarījau实现ēalgoritmu izpildes ekonomiskuma (galvenokārt,莱卡犬resursu ziņā)rādītājs。rakstunitiek definētas un klasificētas kļūdas, kas var izrais_t ievainojam_as kriptogrāfisko algoritmu implementācijā ar datoru;Tiek sniegtas vispārējās rekomendācijas, kukvar izvairr . ties no šādām ievainojamībām。artiek aplūkota kriptogrāfisko算法implementēšana, izmantojot programmatūras bibliotēkas un平台。Vairākas izplatplatplatas programmatūras platformas, kas piedāvā kriptogrāfisko funkcionalitāti, tiek salīdzinātas savtaplatplatplatplatas pēc算法izpildes ātruma kritērija。Visbeidzot, tiek aplūkotas dažas iespējas palielināt kriptogrāfisko algoritmu izpildes ātrumu, izceļot algoritmu paralelizācijas svar gumu。Bloku šifriem iespējamā paralelizācija tiek aplūkota īpaši dziļi;arir, atsaucoties uz praktisko ekexperimentu rezultātiem, tiek demonstrētas UN novērtētas bloku šifru paralelizācijas priekšrocības。Реализациякриптографическихалгоритмоввпрограммномобеспечени:ианализэффективностиЦельюданнойстатьиявляетсярассмотрениеэффективнойреализациикриптографическихалгоритмоввразработкепрограммногообеспечения。Затрагиваютсядвааспектатермина-эффективность-:эффективностькакпоказательвыполненияцелииспользованиякриптографическихалгоритмов——обеспечениязащитыинформации,иэффективностькакпоказательэкономичногопроцессареализациикриптографическихалгоритмов,атакжеэкономичногоисполненияреализованныхалгоритмов。Встатьеопределяютсяиклассифицируютсяошибки,которыемогутвызватьуязвимостивреализациикриптографическихалгоритмовнакомпьютере;даютсяобщиерекомендаци,икаквозможноизбежатьтакихуязвимостей。Такжерассматриваетсяреализациякриптографическихалгоритмов。используяпрограммныебиблиотекииплатформы。Несколькораспространённыхпрограммныхплатфор,мпредоставляющихкриптографическуюфункциональность,сравниваютсямеждусобойпокритериюскоростивыполненияалгоритмов。Взаключени,ерассматриваютсянекоторыевозможностиувеличенияскоростиисполнениякриптографическихалгоритмов,выделяяприэтомважностьраспараллеливанияалгоритмов。Дляблочныхшифроввозможноераспараллеливаниерассматриваетсяособенноглубоко;такжессылаясьнарезультаты,полученныевходепрактическихэкспериментов,демонстрирующиеиоценивающиепреимуществараспараллеливанияблочныхшифров。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信