How can I measure the time it takes to break a cryptographic algorithm by brute force attack?
5 views (last 30 days)
Show older comments
Daniel
on 30 Jan 2023
Commented: Walter Roberson
on 30 Jan 2023
Now I am developing a modified cryptograpphic algorithm that can enhance the security. Finally when I make analysis I have to measure the strength. Among the security metrics the one is time that takes to breake the code by brute force attack. But I don't have any clue how to measure the time that takes to break the code by brute force attack . Anyone please.
0 Comments
Accepted Answer
Walter Roberson
on 30 Jan 2023
timeit()
However unless you deliberately using a very small key, you would need to estimate the time instead of measuring it.
Algorithms are not always linear time. For example the average time to find some factor of a random integer is much much less than the time to prove that a number is prime, or to do a prime factorization when the number is the product of two large primes. So the mean() of the time to break a cryptography might potentially be considerably less than half of the worst case.
Brute force does not always mean trying all possible keys: it can mean trying all possibilities of something else related to keys (but traditionally it does not extend to techniques such as differential analysis)
2 Comments
Walter Roberson
on 30 Jan 2023
t = timeit(@()YourFunction(AppropriateParameters), 0);
The effect is similar to
start = tic;
YourFunction(AppropriateParameters);
t = toc(start);
except that timeit has ways to try to measure more accurately.
More Answers (0)
See Also
Categories
Find more on Encryption / Cryptography in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!