Liudmyla Hlynchuk, Tetiana Hryshanovych, A. Stupin
{"title":"采用c语言实现了对称加密标准,并与其他实用程序的执行时间进行了比较","authors":"Liudmyla Hlynchuk, Tetiana Hryshanovych, A. Stupin","doi":"10.28925/2663-4023.2021.14.118130","DOIUrl":null,"url":null,"abstract":"This research dedicated to the review, implementation and analysis of the symmetric encryption algorithm, namely - DES (Data Encryption Standard) that encrypts and decrypts text information. For this algorithm represented not only a verbal description, but also schemes of its execution and examples of implementation. Intermediate results and the results of information encryption / decryption in the implemented algorithm were verified using examples, so we can assume that the algorithm implemented correctly. Comparison of the execution time for the DES algorithm proposed implementation made for two utilities. One of them is OpenSSL, developed using assembler and the capabilities of the C programming language. The other utility developed using programming language Java. The comparison was made according to three criteria: full time from the utility execution start to its completion; the time spent by the process to execute the utility (downtime and time when the processor perform other tasks not accounted); the time taken by the operating system to run a utility, such as reading or writing the file. The analysis showed that the total execution time is not equal to the total amount of time spent by both the processor and the operating system to execute the utilities. This is due to the following: the total execution time is the real time spent on the execution of the utility; it can measure with a stopwatch. Whereas the time spent by the processor to execute the utility is measured somewhat differently: if two cores execute the same utility for 1 second, the total execution time will be 2 seconds, although in fact one second of time has passed. From the comparison follows the next conclusion: the time spent on encryption is less than the time spent on decryption. The execution time for different utilities is different: the time for OpenSSL utility turned out to be the best, because such an implementation is most adapted to the hardware. The utility in Java turned out to be the worst in terms of execution time. We propose the implementation of the DES algorithm of the nearest execution time to the fastest of the considered. Because a number of hacking possibilities have been found for the symmetric encryption standard DES, in particular due to the small number of possible keys, there is a risk of overriding them. Therefore, to increase crypto currency, other versions of this algorithm have been developed: double DES (2DES), triple DES (3DES), DESX, G-DES. In the future, it is planned to develop a utility based on our proposed implementation of the DES algorithm and to demonstrate the operation of its modifications.","PeriodicalId":198390,"journal":{"name":"Cybersecurity: Education, Science, Technique","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"IMPLEMENTATION OF THE SYMMETRICAL ENCRYPTION STANDARD DES USING C PROGRAMMING LANGUAGE AND COMPARISON ITS EXECUTION TIME WITH OTHER UTILITIES\",\"authors\":\"Liudmyla Hlynchuk, Tetiana Hryshanovych, A. Stupin\",\"doi\":\"10.28925/2663-4023.2021.14.118130\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This research dedicated to the review, implementation and analysis of the symmetric encryption algorithm, namely - DES (Data Encryption Standard) that encrypts and decrypts text information. For this algorithm represented not only a verbal description, but also schemes of its execution and examples of implementation. Intermediate results and the results of information encryption / decryption in the implemented algorithm were verified using examples, so we can assume that the algorithm implemented correctly. Comparison of the execution time for the DES algorithm proposed implementation made for two utilities. One of them is OpenSSL, developed using assembler and the capabilities of the C programming language. The other utility developed using programming language Java. The comparison was made according to three criteria: full time from the utility execution start to its completion; the time spent by the process to execute the utility (downtime and time when the processor perform other tasks not accounted); the time taken by the operating system to run a utility, such as reading or writing the file. The analysis showed that the total execution time is not equal to the total amount of time spent by both the processor and the operating system to execute the utilities. This is due to the following: the total execution time is the real time spent on the execution of the utility; it can measure with a stopwatch. Whereas the time spent by the processor to execute the utility is measured somewhat differently: if two cores execute the same utility for 1 second, the total execution time will be 2 seconds, although in fact one second of time has passed. From the comparison follows the next conclusion: the time spent on encryption is less than the time spent on decryption. The execution time for different utilities is different: the time for OpenSSL utility turned out to be the best, because such an implementation is most adapted to the hardware. The utility in Java turned out to be the worst in terms of execution time. We propose the implementation of the DES algorithm of the nearest execution time to the fastest of the considered. Because a number of hacking possibilities have been found for the symmetric encryption standard DES, in particular due to the small number of possible keys, there is a risk of overriding them. Therefore, to increase crypto currency, other versions of this algorithm have been developed: double DES (2DES), triple DES (3DES), DESX, G-DES. In the future, it is planned to develop a utility based on our proposed implementation of the DES algorithm and to demonstrate the operation of its modifications.\",\"PeriodicalId\":198390,\"journal\":{\"name\":\"Cybersecurity: Education, Science, Technique\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Cybersecurity: Education, Science, Technique\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.28925/2663-4023.2021.14.118130\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Cybersecurity: Education, Science, Technique","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.28925/2663-4023.2021.14.118130","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
本研究致力于对文本信息进行加密和解密的对称加密算法- DES (Data encryption Standard,数据加密标准)的回顾、实现和分析。因为该算法不仅有口头描述,而且有执行方案和实现实例。通过实例验证了所实现算法的中间结果和信息加/解密结果,可以假设算法实现正确。比较了两个实用程序中提出的DES算法的执行时间。其中之一是OpenSSL,它使用汇编和C编程语言的功能开发。另一个实用程序是使用编程语言Java开发的。根据三个标准进行比较:从实用程序执行开始到完成的全时间;进程执行实用程序所花费的时间(停机时间和处理器执行其他未考虑的任务的时间);操作系统运行实用程序(如读取或写入文件)所花费的时间。分析表明,总执行时间不等于处理器和操作系统执行实用程序所花费的总时间。这是由于以下原因:总执行时间是用于执行实用程序的实时时间;它可以用秒表测量。然而,处理器执行实用程序所花费的时间的度量有些不同:如果两个核心执行相同的实用程序1秒,则总执行时间将是2秒,尽管实际上已经过去了1秒的时间。通过比较可以得出下一个结论:用于加密的时间少于用于解密的时间。不同实用程序的执行时间是不同的:OpenSSL实用程序的执行时间是最好的,因为这样的实现最适合硬件。就执行时间而言,Java中的实用程序是最差的。我们提出了执行时间最接近最快的DES算法的实现。因为已经发现了对称加密标准DES的许多黑客攻击可能性,特别是由于可能的密钥数量很少,因此存在覆盖它们的风险。因此,为了增加加密货币,已经开发了该算法的其他版本:双DES (2DES),三DES (3DES), DESX, G-DES。在未来,计划基于我们提出的DES算法实现开发一个实用程序,并演示其修改的操作。
IMPLEMENTATION OF THE SYMMETRICAL ENCRYPTION STANDARD DES USING C PROGRAMMING LANGUAGE AND COMPARISON ITS EXECUTION TIME WITH OTHER UTILITIES
This research dedicated to the review, implementation and analysis of the symmetric encryption algorithm, namely - DES (Data Encryption Standard) that encrypts and decrypts text information. For this algorithm represented not only a verbal description, but also schemes of its execution and examples of implementation. Intermediate results and the results of information encryption / decryption in the implemented algorithm were verified using examples, so we can assume that the algorithm implemented correctly. Comparison of the execution time for the DES algorithm proposed implementation made for two utilities. One of them is OpenSSL, developed using assembler and the capabilities of the C programming language. The other utility developed using programming language Java. The comparison was made according to three criteria: full time from the utility execution start to its completion; the time spent by the process to execute the utility (downtime and time when the processor perform other tasks not accounted); the time taken by the operating system to run a utility, such as reading or writing the file. The analysis showed that the total execution time is not equal to the total amount of time spent by both the processor and the operating system to execute the utilities. This is due to the following: the total execution time is the real time spent on the execution of the utility; it can measure with a stopwatch. Whereas the time spent by the processor to execute the utility is measured somewhat differently: if two cores execute the same utility for 1 second, the total execution time will be 2 seconds, although in fact one second of time has passed. From the comparison follows the next conclusion: the time spent on encryption is less than the time spent on decryption. The execution time for different utilities is different: the time for OpenSSL utility turned out to be the best, because such an implementation is most adapted to the hardware. The utility in Java turned out to be the worst in terms of execution time. We propose the implementation of the DES algorithm of the nearest execution time to the fastest of the considered. Because a number of hacking possibilities have been found for the symmetric encryption standard DES, in particular due to the small number of possible keys, there is a risk of overriding them. Therefore, to increase crypto currency, other versions of this algorithm have been developed: double DES (2DES), triple DES (3DES), DESX, G-DES. In the future, it is planned to develop a utility based on our proposed implementation of the DES algorithm and to demonstrate the operation of its modifications.