/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} Problem 20 Suppose we have a cipher-breakin... [FREE SOLUTION] | 91Ó°ÊÓ

91Ó°ÊÓ

Suppose we have a cipher-breaking machine with a million processors that can analyze a key in 1 nanosecond. It would take \(10^{16}\) years to break the 128 -bit version of AES. Let us compute how long it will take for this time to get down to 1 year, still a long time, of course. To achieve this goal, we need computers to be \(10^{16}\) times faster. If Moore's Law (computing power doubles every 18 months) continues to hold, how many years will it take before a parallel computer can get the cipher-breaking time down to a year?

Short Answer

Expert verified
It will take approximately 81 years for the machine to break the key in 1 year.

Step by step solution

01

Understand the Problem

We know a cipher-breaking machine currently takes \(10^{16}\) years to crack a 128-bit AES key with a million processors. We need to find out when a machine will be \(10^{16}\) times faster, allowing it to break the AES key in just 1 year.
02

Formulate the Equation

Moore's Law states that computing power doubles every 18 months. Our goal is to determine the time \(t\) (in years) it will take for computing power to multiply by \(10^{16}\). The equation to use is the doubling equation: \[2^{n} = 10^{16}\] where \(n\) is the number of 18-month periods required.
03

Solve for n (number of Doublings)

Take the logarithm of both sides to solve for \(n\):\[n \cdot \log_{10}(2) = \log_{10}(10^{16}) = 16\]\[n \approx \frac{16}{\log_{10}(2)}\approx 53.15\] So approximately 54 doublings are needed.
04

Convert Doublings to Years

Each doubling corresponds to an 18-month period. To find the number of years \(t\): \[t = \frac{54 \times 18}{12}\] Calculating this gives:\[t = 81\] It will take approximately 81 years.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with 91Ó°ÊÓ!

Key Concepts

These are the key concepts you need to understand to accurately answer the question.

Cipher-breaking
Cipher-breaking refers to the process of deciphering or decoding a message that has been encoded with an encryption algorithm. In simple words, it's like trying to figure out the password to an encrypted message. In the context of AES encryption, breaking the cipher involves determining the key used to encrypt the data. This can be incredibly difficult, especially with sophisticated encryption methods like AES that use large key sizes. AES, or Advanced Encryption Standard, is often used because it provides a high level of security, making cipher-breaking a daunting task.

Breaking a cipher, particularly modern ones like AES, requires enormous computational power. Consider a machine with a million processors; even then, as per the given problem, it would take an unimaginable amount of time, around 1016 years, to crack the AES encryption. This highlights how secure AES encryption is against brute force attacks, where each possible key is tried until the correct one is found. This method of breaking ciphers is practically ineffective against AES, given current computational capabilities.
AES Encryption
AES encryption, or Advanced Encryption Standard, is one of the most widely used encryption algorithms worldwide. It is employed to secure data and ensure confidentiality. AES was introduced by the National Institute of Standards and Technology (NIST) in the United States and has become a global standard for encryption.

AES encryption uses symmetric key cryptography, which means the same key is used for both encrypting and decrypting data. One of its main strengths is its versatility in key size. AES allows for 128, 192, or 256-bit keys, with the strength of the encryption increasing with larger keys. The 128-bit AES key alone provides a massive number of possible keys, making unauthorized decryption nearly impossible without significant advances in computational power.

In practical terms, AES encryption is used in a variety of applications, such as wireless communication, financial transactions, and secured data storage. Its efficiency and security make it a favorite choice for encrypting sensitive information.
Parallel Computing
Parallel computing is a type of computation where many calculations or processes are carried out simultaneously. It leverages multiple processors to perform complex computations more efficiently. This is crucial when dealing with tasks like cipher-breaking, where breaking down the task into smaller sub-tasks that can be executed simultaneously can significantly reduce the required time.

Modern computers often use parallel computing to enhance performance, particularly in tasks requiring large computation power, such as weather modeling, scientific simulations, and cryptography. In the scenario provided, a parallel computing setup with a million processors is employed to attempt breaking the AES encryption. However, given the current technological limits, even such a massive arrangement takes an impractical amount of time.

As technology progresses, parallel computing is becoming more sophisticated, with strategies such as grid computing and cloud computing being adopted. The ability to manage and distribute computing tasks across many processors opens up new possibilities for handling complex computations efficiently.
Doubling Time
Doubling time is a concept rooted in Moore's Law, which predicts that computing power doubles approximately every 18 months. This principle is applied in forecasting the growth and improvement of computational abilities over time.

In the context of the given problem, we want to find out how long it will take for computers to become 1016 times faster to bring down AES cipher-breaking to a year. By using the doubling time concept, we understand that this involves 54 cycles of doubling the computational speed. This process involves determining the number of "doublings" or periods after which computing speed is expected to multiply to desired magnitudes.

The straightforward calculation entails dividing 54 cycles by the number of such cycles in a year (1.5 cycles per year), resulting in a timespan of approximately 81 years. This showcases how the exponential nature of technological advancement, guided by Moore’s Law, slowly chips away at massive computational challenges such as breaking advanced encryption.

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Confidentiality, integrity, availability, authentication, and nonrepudiation are fundamental security properties. For each of these properties, explain if it can be provided by public-key cryptography. If yes, explain how.

If Alice and Bob have never met, share no secrets, and have no certificates, they can nevertheless establish a shared secret key using the Diffie-Hellman algorithm. Explain why it is very hard to defend against a man-in-the-middle attack.

Write a function that accepts a stream of ASCII characters and encrypts this input using a substitution cipher with the Cipher Block Chaining mode. The block size should be 8 bytes. The program should take plaintext from the standard input and print the ciphertext on the standard output. For this problem, you are allowed to select any reasonable system to determine that the end of the input is reached, and/or when padding should be applied to complete the block. You may select any output format, as long as it is unambiguous. The program should receive two parameters: 1\. A pointer to the initializing vector; and 2\. A number, \(k\), representing the substitution cipher shift, such that each ASCII character would be encrypted by the \(k\) th character ahead of it in the alphabet. For example, if \(x=3\), then " \(\mathrm{A} "\) is encoded by " \(\mathrm{D} ", " \mathrm{~B} "\) is encoded by "E" etc. Make reasonable assumptions with respect to reaching the last character in the ASCII set. Make sure to document clearly in your code any assumptions you make about the input and encryption algorithm.

Suppose an organization uses Kerberos for authentication. In terms of security and service availability, what is the effect if AS or TGS goes down?

Break the following columnar transposition cipher. The plaintext is taken from a popular computer networks textbook, so "connected"' is a probable word. The plaintext consists entirely of letters (no spaces). The ciphertext is broken up into blocks of four characters for readability. oeet nott rece rowp sabe ndea oana tmrs otne heth imnc trdi ccfa Ixgo ioua iere iybe nft

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.