Everyone in the IT world is wondering how big a threat quantum computers pose to cryptography and how to deal with the problem. This series of articles tries to explain the problem in a popular way. After factorization, we can look at the discrete logarithm problem.
Currently, we use algorithms based on the discrete logarithm problem in two main groups. The first of these groups is the classic and still used Diffie-Hellman (DH), then the now obsolete DSA (Digital Signature Algorithm), the ElGamal algorithm and the Schnorr signature. These are the most well-known algorithms, not a complete overview. The mentioned group of algorithms works on a limited group of integers (operation modulo prime number). This group uses keys with a size of kilobits, which has an impact on speed. Any operations with such large numbers are quite complex. The second group is the ECDH (Elliptic Curve Diffie-Hellman), ECDSA (Elliptic Curve DSA) and EdDSA (Edwards curve DSA) algorithms. These work in several variants. Either they are points of an elliptic curve over a number field, again limited by a prime number. Furthermore, it can be points of an elliptic curve over polynomials, bounded by an irreducible polynomial, or as a last option, field extensions are used. The keys to achieve the same level of security are an order of magnitude smaller than with the RSA algorithm and usually have a size of at most hundreds of bits. Theoretically, it is possible to use other approaches based on the discrete logarithm problem, but I do not know about their practical application, so I will not discuss them here.
So there are groups of systems that have similar properties, but as with the RSA algorithm, what are the attack possibilities? What is and is not within our power?
To attack the classic Diffie-Hellman, DSA, ElGamal and Schnorr, it is possible to use NFS-DL (Number Field Sieve – Discrete Logarithm). The first part of the calculation is sorting, it uses tens of thousands of instructions per step with difficult branch prediction, and it is also a memory-intensive operation. Therefore, a situation often arises when the necessary data is not in the cache. The next step is filtering, which requires about 500 instructions per step, again memory-intensive. The last part is evaluation, which uses few instructions, about 50 per step, but is again memory-intensive. The overall complexity of the algorithm can be expressed as follows.
The memory load of the numerical sieve is also quite significant, with the expression
The actual attack on the discrete logarithm problem over elliptic curves is still based on the Pollard 𝜌 (Pollard rho) algorithm. For this algorithm, the complexity can be defined as follows
In this formula, n is the bit width of the key and m is the automorphism value. Of the curves used, the Weierstrass curves (NIST P-256, NIST P-384 and NIST P-521, as well as brainpoolP256r1, brainpoolP384r1, brainpoolP521r1) have automorphism m=2, and the community curves using Twisted Edwards (Ed25519 and Ed448) have the value m=8. The solution requires approximately 4000 instructions per step, and branch prediction problems very often occur. This means discarding the instruction queue and pausing the calculation for several tens to lower hundreds of cycles. On the other hand, in the case of an attack using Pollard 𝜌, the advantage is extremely low memory load.
| Algorithm | Complexity | Operations | Instructions | Memory (B) | Time (years) | Energy (J) |
| DSA1024 | 248.7 | 1.21∙1014 | 1.81∙1018 | 1.21∙1014 | 5.76∙100 | 5.05∙106 |
| DSA2048 | 262.8 | 8.09∙1018 | 1.21∙1023 | 8.09∙1018 | 3.84∙105 | 3.37∙1011 |
| DH1024 | 246.7 | 1.21∙1014 | 1.81∙1018 | 1.21∙1014 | 5.76∙100 | 5.05∙106 |
| DH2048 | 262.8 | 8.09∙1018 | 1.21∙1023 | 8.09∙1018 | 3.84∙105 | 3.37∙1011 |
| DH3072 | 274.4 | 2.54∙1022 | 3.81∙1026 | 2.54∙1022 | 1.20∙109 | 1.05∙1015 |
| DH4096 | 283.8 | 1.76∙1025 | 2.64∙1029 | 1.76∙1025 | 8.36∙1011 | 7.33∙1017 |
| DH6144 | 299.0 | 6.77∙1029 | 1.01∙1034 | 6.77∙1029 | 3.21∙1016 | 2.82∙1022 |
| DH8192 | 2111.4 | 3.55∙1033 | 5.33∙1037 | 3.55∙1033 | 1.68∙1020 | 1.48∙1026 |
| brainpoolP256r1 | 2127.5 | 2.40∙1038 | 9.62∙1041 | 1 | 3.05∙1024 | 1.0∙1010 |
| brainpoolP384r1 | 2191.5 | 4.43∙1057 | 1.77∙1061 | 1 | 5.62∙1043 | 4.93∙1049 |
| brainpoolP521r1 | 2260.0 | 1.85∙1078 | 7.41∙1081 | 1 | 2.34∙1064 | 2.05∙1070 |
| NIST P-256 | 2127.5 | 2.40∙1038 | 9.62∙1041 | 1 | 3.05∙1024 | 1.0∙1010 |
| NIST P-384 | 2191.5 | 4.43∙1057 | 1.77∙1061 | 1 | 5.62∙1043 | 4.93∙1049 |
| NIST P-521 | 2260.0 | 1.85∙1078 | 7.41∙1081 | 1 | 2.34∙1064 | 2.05∙1070 |
| Curve25519 | 2126.0 | 8.50∙1037 | 3.40∙1041 | 1 | 1.07∙1024 | 9.45∙1029 |
| Curve448 | 2222.5 | 9.35∙1066 | 3.81∙1070 | 1 | 1.20∙1053 | 1.05∙1059 |
Again, these are ideal conditions. In the case of attacks on DH and DSA, the reality will be extremely different. Memory is again a bottleneck here, so access to data during the calculation will be limited by the speed of the storage. This is an extension of the calculation in the order of 103 for NVMe disks, 104 for SSD disks and 107 for HDD (magnetic disks). At the same time, memory in the order of TB is needed for the 512b number itself. The memories themselves have a consumption that corresponds to another approximately 100 W per 1.5 TB. This corresponds to a small increase in power consumption in decimal places. Furthermore, especially when analyzing a matrix, which again has a huge range, cache misses will be a frequent phenomenon. Since these are memory-intensive operations, the data will not fit in the processor cache. As a result, access to memory will often be suspended for about 200 cycles, when the calculation will not be performed and the memory will be reloaded into the cache. This means a slowdown of about 5 orders of magnitude (105 to 109 depending on the technology used). In the case of elliptic curves, the only problem is branch prediction, which slows down the calculation by up to three orders of magnitude (103 ).
As you can see, in terms of possibilities, an attack on DSA1024, DSA2048, DH1024 and DH2048 is within our capabilities. In the case of 1024b keys and smaller, these are capabilities available even to individuals, while for 2048b keys, these are capabilities available to large companies or state actors. As for larger keys or the elliptic curves that are still used today, the situation is not so simple. The question again is, are we able to carry out such an attack for these algorithms as well? We can look at it from several perspectives:
If we consider the time and ability to produce a sufficient number of computers? Intel and AMD have produced an estimated billions of processors in their entire history (we can consider 50 years), so we are in the order of 109 . Since the first processors had a single core for several decades and only after 2006 did multiple cores begin to be used, it is possible to consider 2.5 cores per processor. The considered available performance will reduce the time accordingly, but in the overall scope this performance will rather eliminate the small fluctuation caused by problems with the availability of large data in the processor cache.
If we consider only time, the universe was created 18 billion years ago. This corresponds to the order of 1010 , so we are not able to perform such a calculation fast enough. The exceptions are DSA algorithms and DH algorithms up to key size 3072b.
If we consider only the required power input, we can think as follows. The entire human civilization had an electrical power input of around 30,000 TWh in 2025, i.e. in the order of 1016 Wh. The sun provides us with a source with a capacity of 1018 W (what we receive on the Earth's surface), so if we wanted to freeze, we could use the energy mentioned. In the case of harnessing the entire sun, we are talking about a source with a power of 1026 W. The central black hole of our galaxy then gives 1029 W and the entire galaxy then roughly 1037 W. It is clear that even these sources are not sufficient.
To be continued in the next section Attacks with quantum computers (Mar 2nd 2026)
1. Introductory Provisions
1.1. These General Terms and Conditions are, unless otherwise agreed in writing in the contract, an integral part of all contracts relating to training organised or provided by the trainer, Jan Dušátko, IČ 434 797 66, DIČ 7208253041, with location Pod Harfou 938/58, Praha 9 (next as a „lector“).2. Creation of a contract by signing up for a course
2.1. Application means unilateral action of the client addressed to the trainer through a data box with identification euxesuf, e-mailu with address register@cryptosession.cz or register@cryptosession.info, internet pages cryptosession.cz, cryptosession.info or contact phone +420 602 427 840.3. Termination of the contract by cancellation of the application
3.1. The application may be cancelled by the ordering party via e-mail or via a data mailbox.4. Price and payment terms
4.1. By sending the application, the ordering party accepts the contract price (hereinafter referred to as the participation fee) indicated for the course.5. Training conditions
5.1. The trainer is obliged to inform the client 14 days in advance of the location and time of the training, including the start and end dates of the daily programme.6. Complaints
6.1. If the participant is grossly dissatisfied with the course, the trainer is informed of this information.7. Copyright of the provided materials
7.1. The training materials provided by the trainer in the course of the training meet the characteristics of a copyrighted work in accordance with Czech Act No 121/2000 Coll.8. Liability
8.1. The trainer does not assume responsibility for any shortcomings in the services of any third party that he uses in the training.9. Validity of the Terms
9.1 These General Terms and Conditions shall be valid and effective from 1 October 2024.Consent to the collection and processing of personal data
According to Regulation (EU) No 2016/679 of the European Parliament and of the Council on the protection of individuals with regard to the processing of personal data and on the free movement of such data and repealing Directive 95/46/EC (General Data Protection Regulation, hereinafter referred to as "the Regulation"), the processor xxx (hereinafter referred to as "the Controller") processes personal data. Individual personal data that are part of the processing during specific activities at this web presentation and in the course of trade are also broken down.Information about the records of access to the web presentation
This website does not collect any cookies. The site does not use any analytical scripts of third parties (social networks, cloud providers). For these reasons, an option is also offered for displaying the map in the form of a link, where the primary source is OpenStreet and alternatives then the frequently used Maps of Seznam, a.s., or Google Maps of Google LLC Inc. The use of any of these sources is entirely at the discretion of the users of this site. The administrator is not responsible for the collection of data carried out by these companies, does not provide them with data about users and does not cooperate on the collection of data.Information about contacting the operator of the site
The form for contacting the operator of the site (administrator) contains the following personal data: name, surname, e-mail. These data are intended only for this communication, corresponding to the address of the user and are kept for the time necessary to fulfil the purpose, up to a maximum of one year, unless the user determines otherwise.Information about the order form
In case of an interest in the order form, the form contains more data, i.e. name, surname, e-mail and contact details for the organisation. These data are intended only for this communication, corresponding to the address of the user and are kept for one year, unless the user determines otherwise. In the event that a business relationship is concluded on the basis of this order, only the information required by Czech law on the basis of business relations (company name and address, bank account number, type of course and its price) will continue to be kept by the administrator.Information about the course completion document
Within the course, a course completion document is issued by the processor. This document contains the following data: student's name and surname, the name and date of the course completion and the employer's name. The information is subsequently used for the creation of a linear hash tree (non-modifiable record). This database contains only information about the provided names and company names, which may or may not correspond to reality and is maintained by the processor for possible re-issuance or verification of the document's issuance.Rights of the personal data subject
The customer or visitor of this website has the possibility to request information about the processing of personal data, the right to request access to personal data, or the right to request the correction or deletion of any data held about him. In the case of deletion, this requirement cannot be fulfilled only if it is not data strictly necessary in the course of business. The customer or visitor of this website also has the right to obtain explanations regarding the processing of his personal data if he finds out or believes that the processing is carried out in violation of the protection of his private and personal life or in violation of applicable legislation, and the right to request removal of the resulting situation and to ensure the correction.