Erich Nahum, Sean O 'malley, Hilarie Orman, R. Schroeppel
{"title":"Towards High Performance Cryptographic Software","authors":"Erich Nahum, Sean O 'malley, Hilarie Orman, R. Schroeppel","doi":"10.1109/HPCS.1995.662009","DOIUrl":null,"url":null,"abstract":"A great deal of effort is currently being expended to provide some level of Internet security. An important question is whether security can be provided at gigabit speeds. The standard set of algorithms required to secure a connection includes a bulk encryption algorithm such as DES [1], a cryptographic checksum such as MD5 [13], a key exchange algorithm (such as Diffie-Hellman key exchange) to securely distribute the DES key, and some form of digital signature algorithm to authenticate the parties (e.g., RSA [14]). The encryption and checksum algorithm must be applied to every packet going across a secure link, and therefore the performance of these algorithms directly affects the achievable bandwidth. Furthermore, there are some problems (such as sender authentication in multicast) that require the use of expensive algorithms such as RSA signatures on every packet. The other algorithms only need to be run at connection set-up time, so they only affect the overall bandwidth if the connections are short, the algorithms are particularly expensive, and/or the overhead of using these algorithms on busy servers reduces overall network performance. Thus there are two important performance metrics to consider: overall bandwidth and number of connections per second. A straightforward approach to improving cryptographic performance is to implement cryptographic algorithms in hardware. This approach has been shown to improve cryptographic performance of single algorithms (e.g., DEC has demonstrated a 1 Gbit/sec DES chip [5]). Unfortunately there are several problems with this approach. First, a secure network system requires the efficient implementation of a suite of algorithms, not just DES. Hosts clearly need to be able to run both DES and MD5 efficiently, and servers, at least, need to run them all efficiently. Second, hosts need to implement Internet standards, and standards change. In fact, most Internet security standards are written to allow flexibility in algorithm selection. Third, security","PeriodicalId":174670,"journal":{"name":"Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-08-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"38","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HPCS.1995.662009","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 38
Abstract
A great deal of effort is currently being expended to provide some level of Internet security. An important question is whether security can be provided at gigabit speeds. The standard set of algorithms required to secure a connection includes a bulk encryption algorithm such as DES [1], a cryptographic checksum such as MD5 [13], a key exchange algorithm (such as Diffie-Hellman key exchange) to securely distribute the DES key, and some form of digital signature algorithm to authenticate the parties (e.g., RSA [14]). The encryption and checksum algorithm must be applied to every packet going across a secure link, and therefore the performance of these algorithms directly affects the achievable bandwidth. Furthermore, there are some problems (such as sender authentication in multicast) that require the use of expensive algorithms such as RSA signatures on every packet. The other algorithms only need to be run at connection set-up time, so they only affect the overall bandwidth if the connections are short, the algorithms are particularly expensive, and/or the overhead of using these algorithms on busy servers reduces overall network performance. Thus there are two important performance metrics to consider: overall bandwidth and number of connections per second. A straightforward approach to improving cryptographic performance is to implement cryptographic algorithms in hardware. This approach has been shown to improve cryptographic performance of single algorithms (e.g., DEC has demonstrated a 1 Gbit/sec DES chip [5]). Unfortunately there are several problems with this approach. First, a secure network system requires the efficient implementation of a suite of algorithms, not just DES. Hosts clearly need to be able to run both DES and MD5 efficiently, and servers, at least, need to run them all efficiently. Second, hosts need to implement Internet standards, and standards change. In fact, most Internet security standards are written to allow flexibility in algorithm selection. Third, security