SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
●

An exhaustive search that tries all possible
combinations to discover the secret key.
●

The resources required for a brute-force attack grow
exponentially with increasing key size, not linearly.

# of combinatio ns  number of possible values lengthof key
Characters

# Values

Length 2

Length 3

Length 4

Numeric

10

100

1,000

10,000

Alphabet (case
insensitive)

26

676

17,576

456,976

Alphabet (case
sensitive)

52

2704

140,608

7,311,616

Alphanumeric

62

3884

238,328

14,776,336

Alphanumeric +
symbols

92

8464

778,688

71,639,296
●
●

Our task is to develop a multi-threaded program that will
distribute the work load into multiple threads.
Each thread will be assigned to a specific length to
break.
TIME

Thread 1

Thread 2

Length = 1

Length = 2

Length = 3

Length = 4

Length = 5

Length = 6

Length = 7

Length = 8

Length = 9

Length = 10
1. Main Thread will create Thread 1 and Thread 2
2. Main Thread will assign odd-numbered lengths to
thread 1, even-numbered to thread 2

3. Main Thread will start Thread 1 and Thread 2
1. Threads 1 and 2 will search from shortest length.

4. Main thread waits for both threads. (use join)
5. Main Ends
●

Use the following template as your guide.
– The SecretKey class will be your shared object

– The BruteForce Class will be your main class
– The WorkerThread will try all possible combinations for its
assigned key size
public class SecretKey {
private String key;
public SecretKey(String key) {
this.key = key;
}

public boolean verify(String query){
return query.equals(key);
}
}
public class BruteForce {
public char characters[] =

+

("ABCDEFGHIJKLMNOPQURSTUVWXYZabcdefghijklmnopqurstuvwkyz"
""" +
"1234567890" +
"~!@#$%^&*()_+|`[]{};:,.<>/?'|")
.toCharArray();
SecretKey key;
public void initializeKey(){
key = new SecretKey("H!ndiM0Alam"); //sample
}

}
public class WorkerThread extends Thread {
SecretKey key;
int keylengths[];
WorkerThread(key, int[] keylengths){
this.key = key;
this.keylengths = keylengths;
}
public void run(){
for(int i = 0; i< keylengths.length; i++){
if(crack(key,keylengths[i])){
break;
}
}
}
public boolean crack(SecretKey key,int length){
//generate all possible keys of length
//code here -- use key.verify();
//if key is verified, print key
}
●

Submit your ME to isubmitmycode@gmail.com with the
following details
– Subject : CS140 ME: Password
– Name, and section

●

Specifications
– The limit for key size is 4 (alphanumeric+symbols);

●

Deadline: Feb 4, 2014

Mais conteúdo relacionado

Semelhante a Lab multi thread

Multithreaded programming
Multithreaded programmingMultithreaded programming
Multithreaded programming
Sonam Sharma
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptx
Arulmozhivarman8
 
Python multithreading session 9 - shanmugam
Python multithreading session 9 - shanmugamPython multithreading session 9 - shanmugam
Python multithreading session 9 - shanmugam
Navaneethan Naveen
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34
myrajendra
 

Semelhante a Lab multi thread (20)

Multithreaded programming
Multithreaded programmingMultithreaded programming
Multithreaded programming
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptx
 
Python multithreading session 9 - shanmugam
Python multithreading session 9 - shanmugamPython multithreading session 9 - shanmugam
Python multithreading session 9 - shanmugam
 
Building Java Programas
Building Java ProgramasBuilding Java Programas
Building Java Programas
 
Java Lab Manual
Java Lab ManualJava Lab Manual
Java Lab Manual
 
Multi threading
Multi threadingMulti threading
Multi threading
 
JavaProgrammingManual
JavaProgrammingManualJavaProgrammingManual
JavaProgrammingManual
 
Threading
ThreadingThreading
Threading
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34
 
The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
 
The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
 
Mathemetics module
Mathemetics moduleMathemetics module
Mathemetics module
 
Intake 38 12
Intake 38 12Intake 38 12
Intake 38 12
 
lab-assgn-practical-file-xii-cs.pdf
lab-assgn-practical-file-xii-cs.pdflab-assgn-practical-file-xii-cs.pdf
lab-assgn-practical-file-xii-cs.pdf
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in Ruby
 
Class notes(week 9) on multithreading
Class notes(week 9) on multithreadingClass notes(week 9) on multithreading
Class notes(week 9) on multithreading
 
Ruby Egison
Ruby EgisonRuby Egison
Ruby Egison
 
Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
 
Ruby Topic Maps Tutorial (2007-10-10)
Ruby Topic Maps Tutorial (2007-10-10)Ruby Topic Maps Tutorial (2007-10-10)
Ruby Topic Maps Tutorial (2007-10-10)
 
اسلاید ارائه اول جلسه ۱۰ کلاس پایتون برای هکر های قانونی
اسلاید ارائه اول جلسه ۱۰ کلاس پایتون برای هکر های قانونی اسلاید ارائه اول جلسه ۱۰ کلاس پایتون برای هکر های قانونی
اسلاید ارائه اول جلسه ۱۰ کلاس پایتون برای هکر های قانونی
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Lab multi thread

  • 1.
  • 2. ● An exhaustive search that tries all possible combinations to discover the secret key.
  • 3. ● The resources required for a brute-force attack grow exponentially with increasing key size, not linearly. # of combinatio ns  number of possible values lengthof key
  • 4. Characters # Values Length 2 Length 3 Length 4 Numeric 10 100 1,000 10,000 Alphabet (case insensitive) 26 676 17,576 456,976 Alphabet (case sensitive) 52 2704 140,608 7,311,616 Alphanumeric 62 3884 238,328 14,776,336 Alphanumeric + symbols 92 8464 778,688 71,639,296
  • 5. ● ● Our task is to develop a multi-threaded program that will distribute the work load into multiple threads. Each thread will be assigned to a specific length to break.
  • 6. TIME Thread 1 Thread 2 Length = 1 Length = 2 Length = 3 Length = 4 Length = 5 Length = 6 Length = 7 Length = 8 Length = 9 Length = 10
  • 7. 1. Main Thread will create Thread 1 and Thread 2 2. Main Thread will assign odd-numbered lengths to thread 1, even-numbered to thread 2 3. Main Thread will start Thread 1 and Thread 2 1. Threads 1 and 2 will search from shortest length. 4. Main thread waits for both threads. (use join) 5. Main Ends
  • 8. ● Use the following template as your guide. – The SecretKey class will be your shared object – The BruteForce Class will be your main class – The WorkerThread will try all possible combinations for its assigned key size
  • 9. public class SecretKey { private String key; public SecretKey(String key) { this.key = key; } public boolean verify(String query){ return query.equals(key); } }
  • 10. public class BruteForce { public char characters[] = + ("ABCDEFGHIJKLMNOPQURSTUVWXYZabcdefghijklmnopqurstuvwkyz" """ + "1234567890" + "~!@#$%^&*()_+|`[]{};:,.<>/?'|") .toCharArray(); SecretKey key; public void initializeKey(){ key = new SecretKey("H!ndiM0Alam"); //sample } }
  • 11. public class WorkerThread extends Thread { SecretKey key; int keylengths[]; WorkerThread(key, int[] keylengths){ this.key = key; this.keylengths = keylengths; } public void run(){ for(int i = 0; i< keylengths.length; i++){ if(crack(key,keylengths[i])){ break; } } } public boolean crack(SecretKey key,int length){ //generate all possible keys of length //code here -- use key.verify(); //if key is verified, print key }
  • 12. ● Submit your ME to isubmitmycode@gmail.com with the following details – Subject : CS140 ME: Password – Name, and section ● Specifications – The limit for key size is 4 (alphanumeric+symbols); ● Deadline: Feb 4, 2014