please describe below technology used, benefit, issue and conclusion in your words
Technology Used
Encryption was almost exclusively used only by governments and large enterprises until the late 1970s when the Diffie-Hellman key exchange and RSA algorithms were first published -- and the first personal computers were introduced. By the mid-1990s, both public key and private key encryption were being routinely deployed in web browsers and servers to protect sensitive data.
Devices like modems, set-top boxes, smartcards and SIM cards all use encryption or rely on protocols like SSH, S/MIME, and SSL/TLS to encrypt sensitive data. Encryption is used to protect data in transit sent from all sorts of devices across all sorts of networks, not just the internet; every time someone uses an ATM or buys something online with a smartphone, makes a mobile phone call or presses a key fob to unlock a car, encryption is used to protect the information being relayed. Digital rights management systems which prevent unauthorized use or reproduction of copyrighted material, are yet another example of encryption protecting data. Cryptographic hash functions.
Encryption is usually a two-way function, meaning the same algorithm can be used to encrypt plaintext and decrypt ciphertext. A cryptographic hash function can be viewed as a type of one-way function for encryption, meaning the function output cannot easily be reversed to recover the original input. Hash functions are commonly used in many aspects of security to generate digital signatures and data integrity checks. They take an electronic file, message or block of data and generate a short digital fingerprint of the content called a message digest or hash value. The key properties of a secure cryptographic hash function are:Output length is small compared to input o Computation is fast and efficient for any input or Any change to input affects lots of output bits o One-way value -> the input cannot be determined from the output of Strong collision resistance -> two different inputs can't create the same output
The ciphers in hash functions are optimized for hashing: They use large keys and blocks, can efficiently change keys every block and have been designed and vetted for resistance to related-key attacks. General-purpose ciphers used for encryption tend to have different design goals. For example, the symmetric-key block cipher AES could also be used for generating hash values, but its key and block sizes make it nontrivial and inefficient.
Encryption helps protect business data. The technology comes in many forms, with key size and strength generally being the biggest differences in one variety from the next.
1. Triple DES:
Triple DES was designed to replace the original Data Encryption Standard (DES) algorithm, which hackers eventually learned to defeat with relative ease. At one time, Triple DES was the recommended standard and the most widely used symmetric algorithm in the industry.
Triple DES uses three individual keys with 56 bits each. The total key length adds up to 168 bits, but experts would argue that 112bits in key strength is more like it.
Despite slowly being phased out, Triple DES still manages to make a dependable hardware encryption solution for financial services and other industries.
2. RSA:
RSA is a public-key encryption algorithm. It also happens to be one of the methods used in our PGP and GPG programs.
Unlike Triple DES, RSA is considered an asymmetric algorithm due to its use of a pair of keys. You’ve got your public key, which is what we use to encrypt our message, and a private key to decrypt it. The result of RSA encryption is a huge that takes attackers quite a bit of time and processing power to break.
3. Blowfish:
Blowfish is another algorithm designed to replace DES. This symmetric cipher splits messages into blocks of 64 bits and encrypts them individually. Blowfish is known for both its speed and effectiveness as many claim that it has never been defeated. Vendors have taken full advantage of its free availability in the public domain. Blowfish can be found in software categories ranging from e-commerce platforms for securing payments to password management tools, where it used to protect passwords. It’s definitely one of the more flexible encryption methods available.
4. Twofish:
Keys used in this algorithm may be up to 256 bits in length and as a symmetric technique, only one key is needed. Twofish is regarded as one of the fastest of its kind, and ideal for use in both hardware and software environments. Like Blowfish, Twofish is freely available to anyone who wants to use it. Encryption programs such as PhotoEncrypt, GPG, and the popular open source software TrueCrypt are there.
5. AES:
The Advanced Encryption Standard is the algorithm trusted as the standard by the U.S. Government and numerous organizations. Although it is extremely efficient in 128-bit form, AES also uses keys of 192 and 256 bits for heavy duty encryption purposes. AES is largely considered impervious to all attacks, with the exception of brute force, which attempts to decipher messages using all possible combinations in the 128, 192, or 256bit cipher. Still, security experts believe that AES will eventually be hailed the de facto standard for encrypting data in the private sector.
Benefits of Encryption
The primary purpose of encryption is to protect the confidentiality of digital data stored on computer systems or transmitted via the internet or any other computer network. A number of organizations either recommend or require sensitive data to be encrypted in order to prevent unauthorized third parties or threat actors from accessing the data. For example, the Payment Card Industry Data Security Standard requires merchants to encrypt customers' payment card data when it is both stored at rest and transmitted across public networks.
Modern encryption algorithms also play a vital role in the security assurance of IT systems and communications as they can provide not only confidentiality, but also the following key elements of security:
Authentication: the origin of a message can be verified.
Integrity: proof that the contents of a message have not been changed since it was sent.
Non repudiation: the sender of a message cannot deny sending the message.
Encryption Issues
Although it seems like common sense to use data encryption in business and other entities for security, many organizations are opposed to encrypting data because of some of the obstacles involved with doing so.
Like everything else, data encryption has its pros and cons and businesses must look at all of the considerations to make an informed decision about encryption.
Data Encryption :
Encryption Keys: Without a doubt, data encryption is a monumental task for an IT specialist. The more data encryption keys there are the more difficult IT administrative tasks for maintaining all of the keys can be. If you lose the key to the encryption, you have lost the data associated with it.
Expense: Data encryption can prove to be quite costly because the systems that maintain data encryption must have capacity and upgrades to perform such tasks. Without capable systems, the reduction of systems operations can be significantly compromised.
Unrealistic Requirements: If an organization does not understand some of the restraints imposed by data encryption technology, it is easy to set unrealistic standards and requirement which could jeopardize data encryption security.
Compatibility: Data encryption technology can be tricky when you are layering it with existing programs and applications. This can negatively impact routine operations within the system.
For any cipher, the most basic method of attack is brute force; trying each key until the right one is found. The length of the key determines the number of possible keys, hence the feasibility of this type of attack. Encryption strength is directly tied to key size, but as the key size increases so, too, do the resources required to perform the computation.
Alternative methods of breaking a cipher include side-channel attacks, which don't attack the actual cipher but the physical side effects of its implementation. An error in system design or execution can allow such attacks to succeed.
Attackers may also attempt to break a targeted cipher through cryptanalysis, the process of attempting to find a weakness in the cipher that can be exploited with a complexity less than a brute-force attack. The challenge of successfully attacking a cipher is easier if the cipher has any flaw. For example, there have been suspicions that interference from the National Security Agency (NSA) weakened the Data Encryption Standard algorithm, and following revelations from former NSA analyst and contractor Edward Snowden, many believe the NSA has attempted to subvert other cryptography standards and weaken encryption products.
Conclusion
Thus, network security is one of the most important factors to consider while working over the internet, Local Area Network or other method. It doesn't matter how small or big businesses. It is said that there is no network that is immune to all attacks, a stable, fast and efficient network security system is essential to protecting data. A good network security system helps reduce the risk of data theft and sabotage. This analysis shows that AES is the better algorithm and AES does not have any well known weak points so far.
In: Computer Science
Dealing Cards
Write a program that deals a deck of card into 4 hands – Each hand having 13 cards.
Hints – Import below java utility to use the random function.
import java.util.*;
Random rand = new Random();
int r = rand.nextInt(52); // this will generate random numbers between 0-52
to get a value between 1-13, use the mod function and get the remainder
if your number is 15, 15%13 has a remainder of 2. 2 is your face card.
---------------------------------------------------------------------------
11 = jack
12= Queen
13= King
Card is a CLUB - If your generated number is between (1-13)
Card is a Diamond - If your generated number is between (14-26)
Card is a Spade - If your generated number is between (27-39)
Card is a Heart - If your generated number is between (40-52)
Your program output should look like this below
----------------------------------------------------------------------------------------------------------------------------------
Deck of cards shuffled into 4 hands
8 1 7 18 43 26 31 2 12 3 40 22 4
29 9 10 11 5 35 47 36 25 14 17 39 23
21 52 6 46 38 48 24 16 27 32 13 45 42
49 44 50 20 37 34 51 15 28 30 19 33 41
Face of cards in each Hand
Hand 1:
Clubs: 8 1 7 2 Q 3 4
Diamonds: 5 K 9
Spades: 5
Heart: 4 1
Hand 2:
Clubs: 4 9 10 J 5
Diamonds: Q 1 4
Spades: 3 9 10 K
Heart: 8
Hand 3:
Clubs: 6 K
Diamonds: 10 8 J 3
Spades: K Q 1 6
Heart: K 7 9
Hand 4:
Clubs: K
Diamonds: 7 2
Spades: J 8 2 4
Heart: 6 3 10 5 J Q
In: Computer Science
In: Computer Science
Consider the below database schema for company ABC:
Employee(empNo, givename, famname, gender, DOB)
Supervises(super_empNo*, empNo*, description)
Department(deptNo, name, manager_empNo*)
Dependent(empNo*, name, relationship)
Project(projNo, description, deptNo*)
The relations Employee, Supervises, Department, Dependent and Project keep data for employees, supervision, departments, dependents of employees and projects of ABC.
For the database, primary keys, and parent and child relations for foreign keys are annotated. The meaning of most attributes is self-explanatory. Answer questions below.
Your answer to each question must be according to the given database schema and instance.
1.1. (2 points) Does the primary key of Supervises (super_empNo, empNo) ensure that each supervisor supervises a different employee? Explain your answer.
1.2. (5 points) Is it possible that a project has no department? Explain why/why not. If possible, identify any data integrity constraints that can be placed on the Project table to prevent this? Can a project have many departments? Explain using the data integrity constraints on the Project table.
1.3. (2 points) Is it possible that a supervisor does not supervise any employees? Explain your answer using the data constraints on the Supervises table.
1.4 (3 point) Assuming that every department is working on at least one project (and the Department table contains a record with department number 8), can the SQL statement below be successfully executed? Explain your answer. DELETE FROM Department WHERE deptNo = 8;
In: Computer Science
In: Computer Science
Create the following tables. The underlined bold column names are the primary keys. Make sure to specify the primary and foreign key constraints in your create table statements.
foreign key cus_code references customer(cus_code))
foreign key (vend_code) referenecs Vendor(vend_code))
foreign key (inv_number) references Invoice(inv_number),
foreign key (prod_code) references Product (prod_code) )
In: Computer Science
|
index |
1 |
2 |
3 |
4 |
5 |
6 |
|
data |
11 |
10 |
21 |
3 |
7 |
5 |
In: Computer Science
I need Java Code for both questions....thx
Question 1
Consider the sequence of integers defined as follows:
The first term is any positive integer.
For each term n in the sequence, the next term is computed like this: If n is even, the next term is n/2. If n is odd, the next term is 3n+1.
Stop once the sequence reaches 1.
Here are a few examples of this sequence for different values of
the first term:
• 8,4,2,1
• 12,6,3,10,5,16,8,4,2,1
• 19,58,29,88,44,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
Note that all three of these eventually do reach 1. In fact, it is believed (but not known) that the sequence will always reach 1, regardless of the first term chosen. This is known as the Collatz conjecture. Despite its apparent simplicity, it has so far eluded all attempts at a proof. Mathematician Jeffrey Lagarias at the University of Michigan has claimed that “this is an extraordinarily difficult problem, completely out of reach of present day mathematics.”
We might not be able to prove the Collatz conjecture here, but we can experiment computationally with it! Within your Lab4HW folder, write a program named Collatz.java that allows the user to enter any positive integer. The program should then compute and list all the terms of the sequence until it reaches 1. At the end, show how many terms it took to get to 1 (including 1 itself).
1
Here are some examples of what your completed program might look like when you run it. Underlined parts indicate what you type in as the program is running.
Example 1
Enter starting value (must be a positive integer): 5 5 16 8
4 2 1 Number of terms: 6
Example 2
Enter starting value (must be a positive integer): 12 12 6 3
10 5 16 8 4 2 1 Number of terms: 10
Example 3
Enter starting value (must be a positive integer): 1 1 Number of terms: 1
Question 2
Credit card numbers are not completely random sequences; they follow certain rules depending on the card issuer. A MasterCard number must meet these criteria:
• Begin with 51, 52, 53, 54, 55, or something in the range
222100-272099
• 16 digits in length
• Satisfy the Luhn formula, created by IBM scientist Hans Peter
Luhn in the 1950s
Here’s how the Luhn formula works:
Double every other digit going backwards, starting from the next-to-last digit.
For each of the doubled values that exceed 9, subtract 9.
Add up all the doubled values, along with the digits that were not doubled.
If the result is a multiple of 10, the number satisfies the Luhn formula. If the result is not a multiple of 10, the number does not satisfy the Luhn formula.
For example, 2221008763790559 is a valid MasterCard number. (Don’t worry, this was randomly gener- ated and most likely doesn’t actually belong to anyone :) You can easily verify that the number begins with 222100 and is 16 digits long. To check whether it satisfies the Luhn formula:
Original number:
2221008763790559
Double every other digit going left, starting from the next-to-last digit:
4 2 4 1 0 0 16 7 12 3 14 9 0 5 10 9
For every doubled value that exceeds 9, subtract 9:
4241007733590519
Finally,addupallthemodifieddigits: 4+2+4+1+0+0+7+7+3+3+5+9+0+5+1+9=60, which is indeed a multiple of 10.
Within your Lab4HW folder, write a program named MasterCardValidator.java that allows the user to enter a credit card number. The program should then determine and print whether that number is a valid MasterCard number according to the criteria above. You can use the randomly generated MasterCard numbers from https://www.freeformatter.com/credit-card-number-generator-validator.html to help you test.
Hint: There are several ways you can read the number from the user, but I recommend reading it as a string. You can then use strName.charAt(i) to get the individual digits. However, these are treated as char values rather than int values. To convert to int, you can use one of the following:
• For a single digit: Integer.parseInt("" + strName.charAt(i)), or strName.charAt(i) - ’0’
• For multiple digits:
Integer.parseInt(strName.substring(startIndex, endIndex))
Here are some examples of what your completed program might look
like when you run it. Underlined
parts indicate what you type in as the program is running.
Example 1
Enter a card number for validation: 2221008763790559 Valid
Example 2
Enter a card number for validation: 2221018763790559 Invalid
Example 3
Enter a card number for validation: 55 Invalid
In: Computer Science
Insert the following data in the tables using
insert into
statements:
1.
customer:
10010, Johnson, Alfred, A, 615, 8442573
10011, Dunne, Leona, K, 713, 8941238
10012, Smith, Walter, W, 615, 8942285
10013, Roberts, Paul, F, 615, 2221672
10014, Orlando, Myla, NULL, 615, 2971228
2.
invoice:
1001, 10011, 2008-08-03
1002, 10014, 2008-08-04
1003, 10012, 2008-03-20
1004, 10014, 2008-09-23
3.
vendor:
232, Bryson, Smith, 615, 2233234
235, Walls, Anderson, 615, 2158995
236, Jason, Schmidt, 651, 2468850
4.
product:
12321, hammer, 189 ,20, 232
65781, chain, 12, 45, 235
34256, tape, 35, 60, 236
12333, hanger, 200 ,10, 232
5.
line:
1001, 12321, 1
1001, 65781, 3
1002, 34256, 6
1003, 12321, 5
1002, 12321, 6
In: Computer Science
I am trying to write a simple game in Java named GuessNumber.java to run on the command line. This program asks user to pick a number and the computer guesses the number repetitively until the guess is correct and will allow the user to set the lower and upper bound as command line parameters from where the picks the number. If no command line parameters are specified then the program uses a default of 1 to 99.
In: Computer Science
2. Dice rolling (15 pts) Problem Description: Write a program that rolls a pair of six-sided dice, then displays their values sum.
• You can use the random method of the Math class to generate a random number for a die like this: (int) (Math.random() * 6) + 1;
• The application should display special messages for two ones (snake eyes) and two sixes (box cars).
• The application should use static methods (at least two) to organize its code.
• The application should continue only if the user enters “y” or “Y” at the “Roll again?” prompt.
Here is a sample run:
Dice Roller
Roll the dice? (y/n): y
Die 1: 3
Die 2: 1
Total: 4
Roll again? (y/n): y
Die 1: 1
Die 2: 1
Total: 2 Snake eyes!
Roll again? (y/n): y
Die 1: 6
Die 2: 6
Total: 12 Boxcars!
Roll again? (y/n): n
Good bye!
This is for java please check for debugging ! also please leave comments so I could follow steps and better understand
In: Computer Science
| (Palindrome integer) Write the methods with the following headers | |
| // Return the reversal of an integer, i.e., reverse(456) returns 654 | |
| public static int reverse(int number) | |
| // Return true if number is a palindrome | |
| public static boolean isPalindrome(int number) |
Use the reverse method to implement isPalindrome. A number is a palindrome if its reversal is the same as itself. Write a test program that prompts the user to enter an integer and reports whether the integer is a palindrome.
Here is a sample run: (red indicates a user input)
Enter a positive integer: 12321
12321 is a palindrome.
Continue? (y/n) y
Enter a positive integer: 12345
12345 is not a palindrome.
Continue? (y/n) n
Good bye!
This is for java if you could make it so it is debugged so theres no inputs that could make it crash! :(
Please leave comments
In: Computer Science
using python
#You've been sent a list of names. Unfortunately, the
names
#come in two different formats:
#
#First Middle Last
#Last, First Middle
#
#You want the entire list to be the same. For this problem,
#we'll say you want the entire list to be Last, First Middle.
#
#Write a function called name_refixer. name_refixer should have
two
#parameters: an output filename (the first parameter) and the
#input filename (the second parameter). You may assume that
every
#line will match one of the two formats above: either First
Middle
#Last or Last, First Middle.
#
#name_refixer should write to the output file the names all
#structured as Last, First Middle. If the name was already
structured
#as Last, First Middle, it should remain unchanged. If it was
#structured as First Middle Last, then Last should be moved
#to the front and a comma should be added after it.
#
#The names should appear in the same order as the original
file.
#
#For example, if the input file contained the following
lines:
#David Andrew Joyner
#Hart, Melissa Joan
#Cyrus, Billy Ray
#
#...then the output file should contain these lines:
#Joyner, David Andrew
#Hart, Melissa Joan
#Cyrus, Billy Ray
#Add your code here!
#The code below will test your function. You can find the
two
#files it references in the drop-down in the top left. If
your
#code works, output_file.txt should have the text:
#Joyner, David Andrew
#Hart, Melissa Joan
#Cyrus, Billy Ray
name_refixer("output_file.txt", "input_file.txt")
print("Done running! Check output_file.txt for the result.")
#If you accidentally erase input_file.txt, here's its
original
#text to copy back in (remove the pound signs):
#David Andrew Joyner
#Hart, Melissa Joan
#Cyrus, Billy Ray
In: Computer Science
Problem: Your have been asked by a cell phone service provider to write a program that will calculate the amount of a customer’s monthly bill. Write a C++ program that will calculate the amount of the bill given the number of lines and the amount of minutes used during the month. Unlimited texting is also offered. '
The cellular service provider offers the following options and pricing: One line for $6/month base cost. Two lines for $12/month base cost.
The voice rates are as follows:
• No minutes: $0
• 1-400 minutes: $9 total
• 401-800 minutes: $16 total
• over 800 minutes: $16 + 1.9 cents/minute over 800 Unlimited texting is $5 extra.
Input: The program should ask the user if they have (A) one line or (B) two lines. Then the program should ask the user to input the number of minutes used in the month (no fractional amounts) Then the program should ask if the user has unlimited text messages (Y or N).
For the first two input values, use an if statement to perform input validation. The user should select only A, or B for the number of lines, and the minutes should be between 0 and 44640 (inclusive).
If either input is invalid, the program should ask the user to reenter the value (but only once, no looping).
Do not validate the response to the last question. 1 Processing: Compute the amount of the monthly bill according to the descriptions above.
If the user answered ‘y’ or ‘Y’ to the last question, your program should add $5 to the bill.
Output: Display the amount of the monthly bill with a dollar sign and formatted to 2 decimal places.
Here are 5 different sample executions of the program: How many lines: A. One line B. Two lines A Enter the total number of minutes used during the month: 100 Unlimited text messages? (Y/N): N The amount due for the month is $15.00
How many lines: A. One line B. Two lines B Enter the total number of minutes used during the month: 750 Unlimited text messages? (Y/N): Y The amount due for the month is $33.00
How many lines: A. One line B. Two lines A Enter the total number of minutes used during the month: 850 Unlimited text messages? (Y/N): Y The amount due for the month is $27.95
How many lines: A. One line B. Two lines A Enter the total number of minutes used during the month: 803 Unlimited text messages? (Y/N): y The amount due for the month is $27.06 2 How many lines: A. One line B. Two lines C Please enter A, or B: A Enter the total number of minutes used during the month: 1234567 Please enter a number between 0 and 44640 for the minutes: 500 Unlimited text messages? (Y/N): n The amount due for the month is $22.00
In: Computer Science
WEEK 6 ASSIGNMENT
In: Computer Science