Professional Documents
Culture Documents
Bs1912361 Rakesh Kumar Section G
Bs1912361 Rakesh Kumar Section G
Brute force algorithms are also known as generate and test, is a very general
problem-solving technique and algorithmic paradigm that consists of systematically enumerating
all possible candidates for the solution and checking whether each candidate satisfies the
problem's statement. Briefly explain the Brute force algorithms with the help of brute-force attack
in Cryptography?
Answer:
Brute-Force Attack:
In Cryptography, brute-force attacks are happened to steal the personal information of the user.
The Brute-force attack utilizes the brute-force algorithm to determine the passwords from all
possible or feasible combinations of passwords.
When the password is strong then the brute-force attack is a time-consuming process, and if a
password is weak then it is easy to determine the correct or exact password.
Dictionary Attack,
Credential Recycling
In Cryptography, the hacker uses advanced software that is built on the brute-force algorithm to
steal the user's information.
Using this advanced password cracking software the hackers can easily automate the software to
try all numerous possible password combinations, which are impossible for the human to break.
The advanced software that is designed on the brute force algorithms is mentioned below. These
applications are fully automated and break the passwords by trying multiple brute-force
techniques.
John- The-ripper,
RainbowCrack,
AirCrack-ng, and so on
Question 2: What are Dynamic Programming algorithms? Give some example of it?
Answer:
Dynamic programming basically refers to the process of optimization that is performed over the
process of normal recursion.
The complete recursive calls can be processed for performing optimization using the approach for
dynamic programming.
In the dynamic programming approaches the results of the subproblems are stored for the
purpose of reducing the overall time of re-computation of those subproblems.
The use of dynamic programming algorithm reduces the overall time complexities for the given
particular problem.
EXAMPLE:
Following are the basic examples for the dynamic programming algorithm:
Fibonacci sequence
Checkerboard
Sequence alignment
For using binary search we will have to sort the array first
Sorting takes O(n lgn) time complexity in best, avg, worst case
Then if we search for the key which is present at the middle position
Search time complexity is omega(1)
Total time complexity = n lgn + 1
In other words we would say best case time complexity of Binary search is n lg n
assuming given array is unsorted
If the given array is already sorted, then best case time complexity is omega (1)
In other words we would say Binary search took constant time