Thursday, January 19, 2017

Will it crash reflection

For “Will it Crash” - what was easy? what was hard?
Fairly easy for me.
For this lesson, writing if-statements - what was easy, what was hard?
It was easy to follow the logic of the if-statements and although nested statements look messy I could also track those fairly well. This is largely in part to my previous coding experience specifically in javascript.
If there was one thing you wish you understood better at this point, what would it be?
I always get confused about boolean logic.


Monday, January 9, 2017

Multi Screen Code

setScreen("HomeScreen");
onEvent("Beginbtn", "click", function(){
setScreen("ScheduleOrCalendar");
});
onEvent("Blocks", "click", function(){
setScreen("BlockSchedule");
});
onEvent("Calendar", "click", function(){
setScreen("JanCalendar");
});
onEvent("Homebtn", "click", function(){
setScreen("HomeScreen");
});
onEvent("Homejan", "click", function(){
setScreen("HomeScreen");
});
onEvent("HomeBlock", "click", function(){
setScreen("HomeScreen");
});

Error Messages

You probably had some error messages today. What error messages did you have?  How did you solve the error message?  Is is common to get error messages as a coder?  Why might a programmer "like" or benefit from error messages?

I did not experience any error messages since the project was fairly simple especially since I have used Javascript frequently in the past and am familiar with the syntax. Some common errors however that I have received in the past or my peers could have received would be mismatching ids or misspelling ids when you call things in your code. A programmer like myself would benefit from receiving error messages because it teaches the programmer how to deal with and solve problems in their code. 

Design Multi-screen Program

My plan for my multi screen program project.

Thursday, December 15, 2016

Computationally Hard

1) Describe what it means for a problem to be “computationally hard.”
A problem is computationally hard if there is no algorithm to solve it and it must be done with brute force.
2) What strategies do people use to solve large computationally hard problems?
They often look for the best starting point which ,makes the rest slightly easier.
3) Why are computationally hard problems important in encryption strategies?
They are important because they make things and messages more secure because they are harder for computers to automatically decrypt.

Monday, December 12, 2016

Ciphers and random ciphers


  • How much easier is it to crack a caesar cipher than a random substitution cipher? Can you put a number on it?
    • It is so much easier. Probably 3 times easier.
  • Was it difficult to crack a Random Substitution cipher? Did it take longer than you thought? shorter? Why?
    • Yes it took longer and was more difficult. It was harder because I could not just shift the alphabet over to find out I had to figure out each letter individually. 
  • Any encryption cipher is an algorithm for transforming plaintext into ciphertext. What about the other way around? Can you write out an algorithm for cracking a Caesar cipher? What about a random substitution cipher?
    • Yes, it is possible to make an algorithm that shifts the alphabet until there becomes a recognizable message from the encrypted message. Same with the random substitution.  
  • Recall that in RFC 3271, “The Internet is for Everyone” Vint Cerf wrote the following. What did he mean by “cryptographic technology?” What does it mean to you now?
    • I think that he meant that there is a type of technology central to creating passwords and cracking them. It is along the lines of cybersecurity. It means now ensuring that the internet is safe. 

Sunday, December 11, 2016

Blown to Bits Chapter 5 Reflection


  • What is encryption?
    • Encryption is the art of encoding messages so that they can’t be understood by eavesdroppers or adversaries into whose hands the messages might fall.
  • What is cryptography? Provide an example.
    • Cryptography is a form of “secret messages” that are encoded. A Caesar Cipher is a commonly known form of cryptography because it uses the rotation of the alphabet to encode messages.
  • What is security through obscurity? Why is it bad?
    • Security through obscurity is when companies create new “breakthrough” encryption methods, but refuse to open to the public. This is seem with high skepticism because most believe that if there was a new method then it should be open to the public to prove its security.
  • What is the key agreement protocol? Why is it important to Internet commerce?
    • The key agreement protocol is a one way computation which is a solution that can be found many different ways. For example 6*2=12 but 3*4=12 also. Same result but a different way of getting there. It is important because it allows for exchanges to happen with secret messages and public and private keys.
  • What is a certificate? What role does it play in Internet security?
    • A certificate is digitally authorized and signed key. This allows someone’s public key to be public and a message still accessed if someone has a certificate to access their private key.