Saturday, September 28, 2013

Notes - The Vigenere Cipher

The following are notes from Introduction to Cryptography with Coding Theory.
  • A variation of the shift cipher
    • key for the encryption is a vector of a chosen length
    • Example
      • key length 6
      • (21,4,2,19,14,17)
      • corresponds to word vector
      • To encrypt we shift by the word vector
  • A known plain text attack will succeed if enough characters are known
  • Cryptanalysis uses the fact that english letter frequency is not equal
    • a - 0.082
    • b - 0.015
    • c - 0.028
    • d - 0.043
    • e - 0.127
    • f - 0.022
    • g - 0.020
    • h - 0.061
    • i - 0.070
    • j - 0.002
    • k - 0.008
    • l - 0.040
    • m - 0.024
    • n - 0.067
    • o - 0.075
    • p - 0.019
    • q - 0.001
    • r - 0.060
    • s - 0.063
    • t - 0.091
    • u - 0.028
    • v - 0.010
    • w - 0.023
    • x - 0.001
    • y - 0.020
    • z - 0.001
  • Variations can occur but usually takes effort to produce, example the book Gadsby does not contain the letter e
  • However, when using a Vigenere Cipher the frequencies are distributed so that the above is not nearly as useful in decryption
  • Finding Key Length
    • We find the key length by matching the number of coincidences
    • write the ciphertext, then rewrite it with a displacement
    • Example
    •     VVHQ
    • VVHQW
    • Then we mark each time there is a match between the two rows, and after trying multiple displacements the largest number of coincidences will be closest to the key length
  • Finding the Key: First Method
    • take a look at the 1+5n letters and find the frequency of letters then repeat for 2+5n, 3+5n, 4+5n, 5+5n we then guess at the code by finding the difference between the most frequent letter and e to find the overall shift that is used as the key
    • After finding the key we then test it by decrypting to confirm if the key was correct
  • Soft Proof
    • place the frequencies of the english letters into a vector A0 and let Ai represent the frequencies shifted by i
    • When taking the dot product of these two vectors we arrive at 0.066 with a full match but significantly less than that for any other shift
    • We can also use this knowledge to approximate the number of coincidences we should find for a given match, which would be 0.066*the number of comparisons

Physics - Dielectrics

This will be an introduction to dielectrics. Dielectrics are insulators that are mainly used to fill the gaps within capacitors in order to increase the capacitance it can hold. The Dielectric actually weakens the electric field within the capacitor as the electrodes induce a charge on the surfaces of the insulator, but this effect will never completely reverse the electric field.

A Dielectric has a property called electric susceptibility which is designated by Χe. This is a multiplier of the electrical permittivity of free space ε0. This susceptibility is pretty much always an increase meaning its value is greater than one and can range up to 300 times larger depending on what you use as a dielectric. Therefore its effect on a capacitor can be thought of as simply changing the permittivity of free space to the permittivity of the material of the dielectric while keeping the rest of the equations that govern a capacitor the same.

There are other phenomena to be examined but in general they correspond to the insertion or removal of a dielectric, which does not have many applications as they are mainly used to enhance capacitors.

Back to ToC

Physics - Series and Parallel Effects for Basic Electronic Parts

This will be an overview for the effects of putting basic electronic components in series or parallel connections.
  • Series
    • Capacitors
      • Add as reciprocals 1/Ctot = 1/C1 + 1/C2 ...
    • Resistors
      • Add normally Rtot = R1 + R2 ...
    • Inductors
      • Add normally Ltot = L1 + L2 ...
  • Parallel
    • Capacitors
      • Add normally Ctot = C1 + C2...
    • Resistors
      • Add as reciprocals 1/Rtot = 1/R1 + 1/R2 ...
    • Inductors
      • Add as reciprocals 1/Ltot = 1/L1 + 1/L2 ...
However there are additional rules with Inductors as the magnetic field of an inductor can affect nearby inductors. Also when there are only two things to add as reciprocals, can change the equation to Ctot = C1C2 /  C1 + C2

Back to ToC

Physics - Parallel Plate Capacitor

This will be an introduction into the basic physics of a capacitor. A parallel plate capacitor is when we have two electrodes placed a distance d apart. One is charged Q and one is charged -Q which means that the capacitor doesn't have any net charge. Therefore with the exception of a small fringe field at the edges of the the capacitor we don't have a field when we view a capacitor from afar we don't see a net electric field.


The electric field within the electric field is due to both plates. The field form the positive plate points away form the plate in this case to the right, and the electric field from the negative plate points towards the plate which is also the right. Therefore

E = Q/ε0A

This is an approximation for infinitely sized parallel plate capacitors but this is actually a good approximation for real world capacitors assuming d is much smaller than the size of the electrodes.

Back to ToC

Sunday, September 22, 2013

Notes - Substitution Ciphers

The following are notes from Introduction to Cryptography with Coding Theory.
  • Shift and Affine ciphers are examples of substitution ciphers Vigenere and Hill Ciphers are not
  • Substitution Ciphers can be broken by a frequency count but how exactly does the process go?
    • Approximate Frequencies of letters in english
      • e - 0.127
      • t - 0.091
      • a - 0.082
      • o - 0.075
      • i - 0.070
      • n - 0.067
      • s - 0.063
      • h - 0.061
      • r - 0.060
    • With the exception of E the other letters are close enough that for a small sample we would not be able to decide which is which therefore we need to look at pairs of letters
      • e often contacts many low-frequency characters
      • a, i, o tend to avoid one other
      • n has around 80% chase to be preceded with vowels
      • h often appears before e and rarely after it
      • most common digram is th
      • r pairs more with vowels than s among the frequent letters
      • combination rn should appear more than nr
      • to is more common than ot
    • Proceeding applying these rules, it is necessary to decrypt the message through recognizing partial words within the text to figure out the key for low frequency letters

New Developments - Peachy Printer

What is additive manufacturing? Additive Manufacturing (AM) is 3D printing by stacking layers of shaped material on top of on another. These materials range from plastics, metals, concrete to maybe one day tissues. They take in information from 3D modeling software, and builds the image into an actual object. The current uses of additive manufacturing are as
  • a design tool
    • rapid prototyping
    • design visualization
  • to produce production parts in small quantities
  • as a hobby to produce knickknacks
I've recently seen an interesting product that seems to lower the cost of entry to hobbyists called the peachy printer.
http://www.kickstarter.com/projects/117421627/the-peachy-printer-the-first-100-3d-printer-and-sc
Its a stereolithographic printer which means that it uses a laser to harden a resin into a solid. The idea behind it to drastically lower the cost of production is that it takes data from the audio output of a computer, runs it through a pic to change the position of a mirror to direct the laser to the correct positions, which lowers the cost to $100 or less!

Its interesting to think about this and its relation to Globalization. Although it seems like everyone is big on expanded markets, buying products from around the globe, this brings things back more locally. If the accuracy of this technology can be improved on without an increase in cost, why would construction workers, for example those in home improvement buy things from stores when they could just print out the parts they need? This might grow to threaten the existence of businesses such as Home Depot, or other places that sell cheap furniture such as IKEA. Thoughts?

Back to ToC

New Developments ToC

This is to keep track of new developments, specifically products or companies, I've noticed in different industries and musings about their impact on society.

  1. Additive Manufacturing
    1. Peachy Printer
  2. Electrical Engineering
    1. Finfet
  3. Sustainability
    1. Sustainable Energy - Storage Systems

Saturday, September 21, 2013

Notes - Affine Ciphers

The following are notes from Introduction to Cryptography with Coding Theory.
  • This is a strengthened version of a shift cipher where x -> ax+B
    • example a = 9, B = 2
    • affine -> CVVWPM
  • Decryption involves reversing the cipher
    • y = 9 x + 2
    • In modular arithmetic we need to find the inverse differently than we would in algebra, more clearly described in Chapter 3
      • Since we are using the alphabet, we need to work with mod 26
      • therefore we need to find gcd(9,26) = 1
      • What we can do is use the extended euclidean algorithm to solve for a multiplier to 9 that would result 1 mod 26 aka
        • 9 x ≡ 1 (mod 26)
        • we can also see that multiplying 9 by 3 will also result in a remainder of 1 which satisfies this congruence
      • Therefore 3 is the desired inverse
    • x ≡ 3(y-2) ≡ 3y -6 ≡ 3y +20 (mod 26)
    • Example
      • map the letter V
      • V = 21
      • 3*21 +20
      • 81
      • 81 ≡ 5 mod(26)
      • the letter f
    • This decryption will allow us to return the plaintext of affine from CVVWPM
    • We must be able to find the inverse in modular arithmetic in order to have a usable key so arbitrary keys may result in multiple returns for a singular input
  • Possible Attacks
    • Ciphertext only
      • 312 keys only means its easy for a computer to break, however difficult by hand
    • Known Plaintext
      • knowing even some of the plaintext reduces the possibilities and can potentially result in breaking the code even without a computer
    • Chosen Plaintext
      •  if ab is chosen as plaintext we can immediately break the code
    • Chosen Ciphertext
      • again if AB is chosen as ciphertext we find the encryption key but we already have the decryption key in this case so no additional work is needed

Friday, September 20, 2013

Notes - Modular Exponentiation

The following are notes from Introduction to Cryptography with Coding Theory.
  • We will often be looking at numbers in the form of
    •  xa(mod n)
  • suppose we want to compute 21234(mod 789)
    • start with 22 ≡ 4(mod 789) repeatedly square the sides
    • 2≡ 42 ≡ 16
    • 2≡ 162 ≡ 256
    • 216 ≡ 2562 ≡ 49
    • 232 ≡  34
    • 264 ≡  367
    • 2128 ≡  559
    • 2256 ≡  37
    • 2512 ≡  580
    • 21024 ≡  286
  • since 1234 = 1024 + 128 + 64 + 16 + 2
    • 21234 ≡ 286 * 559 * 367 * 49 * 4 ≡ 481 (mod 789)
    • never had to deal with number larger than 788^2

Notes - Congruences

The following are notes from Introduction to Cryptography with Coding Theory.
  • Modular Arithmetic or Congruences
    • Let a, b, n be integers with n ≠ 0 
    • a ≡ b (mod n) 
      • read as a is congruent to b mod n if a-b is a mutliple of n
      • or congruent if a and b differ by a multiple of n
      • can be rewritten as a = b + nk for some integer k
    • Examples
      • 32 ≡ 7 mod 5
      • -12 ≡ 37 mod 7
  • Proposition
    • let a, b, c, n be integers with n ≠ 0
      • a ≡ 0 mod n if and only if n|a
      • a ≡ a mod n 
      • a ≡ b mod n
      • if a ≡ b and b ≡ c mod n, then a ≡ c mod n
  • Proposition
    • let a, b, c, d, n be integers with n ≠ 0 and suppose a ≡ b mod n and c ≡ d mod n
      • then a + c = b + d, a - c = b - d, ac ≡ bd mod n
  • Modulo operations
    • addition - we add them as integers then if the product is less than n we stop, if the product is larger than n-1 then we divide by n and take the remainder. 
    • subtraction - same as addition
    • multiplication- same as addition
    • note -  we can use negative but usually use positive integers
    • division
      • let a, b, c, d, n be integers with n ≠ 0 and with gcd(a,n)=1. If ab ≡ ac mod n then b ≡ c mod n. In other words, if a and n are relatively prime,we can divide both sides of the congruence by a
      • Examples
        • Solve 2x + 7 ≡ 3 mod 17
          • 2x ≡ -4
          • x ≡ -2 ≡ 15
          • division allowed because gcd(2,17) = 1
        • Solve 5x + 6 ≡ 13 mod 11
          • 5x ≡ 7
          • 7 ≡ 18 ≡ 29 ≡ 40
          • 5x ≡ 7 is equivalent to 5x ≡ 40
          • x ≡ 8 mod 11
  • Proposition
    • Suppose gcd(a,n) = 1. Let s and t be integers such that as + nt = 1. (They can be found via the extended euclidean algorithm) Then as = 1 mod n, so s is the multiplicative inverse for a mod n
    • Example
      • solve 11,111x ≡ 4 mod 12,345
      • gcd
        • 12,345 = 1 * 11,111 + 1,234
        • 11,111 = 9 * 1,234 + 5
        • 1234 = 246 * 5 + 4
        • 5 = 1 * 4 + 1
        • 4 = 4 * 1 + 0
      • Extended Euclidean Method
        • x0 = 0
        • x1 = 1
        • x2 = -1 * 1 + 0 = -1
        • x3 = -9 * -1 + 1 = 10
        • x4 = -246 * 10  + -1 = -2461
        • x5 = -1 * -2461  + 10 = 2471
      • Therefore
        • 11111 * 2471 + 12345 * y5 = 1
        • 11111 * 2471 ≡ 1 (mod 12345)
        • multiple original 11111x ≡ 4 by 2471 to get
        • x ≡ 9884 (mod 12345)
  • Summary
    • Finding a-1 (mod n)
      • use extended euclidean algorithm to find integers s and t such that as + nt = 1
      • a-1 ≡ s (mod n)
    • Solving ax ≡ c (mod n) when gcd(a,n) = 1
      • use the extended euclidean algorithm to find as + nt = 1
      • the solution is x ≡ cs (mod n)
    • What if gcd(a,n)>1?
      • If d does not divide b, there is no solution
      • assume d|b consider the new congruence
        • (a/d)x ≡ b/d (mod n/d)
        • solve above to obtain solution x0
        • the solutions of original congruence ax ≡ b (mod n)
          • x0, x+ (n/d), x+ 2(n/d),...., x0+(d-1)(n/d) mod n
      • Example
        • solve 12x ≡ 21 (mod 39)
          • gcd (12,39) =3
          • divide by 3
          • 4x ≡ 7 (mod 13)
            • we can get a x0 of 5 through trial and error or the extended euclidean method
            • we get two more solutions by adding 39/3 once then twice to obtain 18 and 31 as other answers.

Thursday, September 12, 2013

Notes - Solving AX+ BY = D

The following are notes from Introduction to Cryptography with Coding Theory.
  • In a previous example we used the Euclidean Algorithm to find the GCD 
    • We will now show how we can get the integers x,y that fulfill
    • ax + by = gcd(a,b)
  • Example gcd(482,1180)
    • 1180 = 2 * 482 +216
    • 482 = 2 * 216 + 50
    • 216 = 4 * 50 + 16
    • 50 = 3 * 16 + 2
    • 16 = 8 * 2 + 0
    • Which gave us q1 = 2, q2 = 2, q3 = 4, q4 = 3, q5 = 8
  • We will now use the following sequences
    • x= 0, x= 1, x= -qj-1 xj-1 + xj-2
    • y= 1, y= 0, y= -qj-1 yj-1 + yj-2
  • In order to arrive at
    • x= 0
    • x= 1
    • x= -2 x+ x= -2
    • x= -2 x+ x= 5
    • x= -4 x+ x= -22
    • x= -3 x+ x= 71
  • y5 would be calculated similarly to arrive at -29
  • We would then plug this in to ax + by = gcd(a,b)
    • 482 * 71 + 1180 * (-29)
    • 2
  • This is often called the extended Euclidean algorithm
    • used for congruences

Wednesday, September 11, 2013

Notes - One-Time Pads

The following are notes from Introduction to Cryptography with Coding Theory.
  • One-Time Pad is an unbreakable cryptosystem developed by Gilbert Vernam and Joseph Mauborgne 1918
  • Key is a random sequence of 0,1 same length as the message and are added together with XOR aka exclusive or
    • Example
      • plaintext  00101001
      • key         10101100
      • ciphertext 10000101
  • Decryption uses the same key, add teh key onto the ciphertext to return the plaintext
    • If used on the alphabet, the key is a random sequence of shifts between 0 to 25
    • unbreakable for ciphertext only attack
    • if we only have a piece of plaintext, the random generation means we know nothing about the rest of the key
    • Issues
      • truly random generation
      • trusted courier
      • key is very long, dangerous to reuse
  • Trivia
    • hotline between washington and USSR was thought to be a one-time pad
    • Variation of one time pad
      • satellite produce and broadcast several random sequences of bits at a rate fast enough that no computer can store more than a very small faction of the outputs
      • Alice wants to send message to bob
      • use RSA to agree on a method to sample bits from the random bit streams, use these bits to generate a key for a one time pad
      • Attacker Eve cannot decrypt because by the time she knows about the message the stream has disappeared

Notes - Basic Notions

The following are notes from Introduction to Cryptography with Coding Theory.
  • Divisibility
    • let a and b be integers with a ≠ 0. a divides b if there is an integer k such that b = ak, or that b is a multiple of a. This is denoted by a|b
    • 3|15, -15|60
    • Proposition
      • for every a ≠ 0, a|0 and a|a. Also, 1|b for every b
      • if a|b and b|c, then a|c
      • if a|b and a|c then a|(sb + tc) for all integers s and t
  • Prime Numbers
    • A number p > 1 that is divisible by only 1 and itself is a prime number, any number that is not prime is called composite
    • Prime Number Theorem
      • Let π(x) ~ x/(ln x) where π(x) is the number of primes less than x in the sense that π(x)/x/(ln x) ->1 as x->
      • Example
        • 100 digit primes
        • π(10100) - π(1099) ~ 10100/(ln 10100) - 1099/(ln 1099) ~ 3.9 x 1097
    • Theorem - Every Positive Integer is a product of primes, and this factorization is unique up to a reordering of the factors
      • Lemma - If p is a prime and p divides a product of integers ab, then either p|a or p|b. More generally if a prime p divides a product ab...z then p must divide one of the factors a,b,...z
        • Therefore an integer can be written as the product of its prime factors to a given power
  • Greatest Common Divisor
    • GCD is the largest positive integer dividing both a and b
      • example gcd(6,4)=2; gcd(24,60)  = 12
    • Factor both numbers into primes, and take the smallest of the common divisors and multiply them together
    • Euclidean algorithm
      • Example gcd(482,1180)
        • 1180 = 2 * 482 +216
        • 482 = 2 * 216 + 50
        • 216 = 4 * 50 + 16
        • 50 = 3 * 16 + 2
        • 16 = 8 * 2 + 0
      • Since 2 was the last nonzero remainder, the gcd is 2
    • divide a by b in the form
      • a = q1 b + r1
      • if r = 0 then b divides a and the greatest common divisor is b if r ≠ 0 then continue with
      • b = q2 r1+ r2
      • rk-2= qk rk-1 + rk
      • rk-1= qk+1 rk 
      • gcd(a,b) = rk
    • Theorem - Let a and b be two integers with at least one of a,b nonzero, and let d = gcd(a,b). Then there exist integers x, y such that ax + by = d. In particular, if a and b are relatively prime, then there exist integers x,y with ax + by = 1.
    • Corollary - If p is a prime and p divides a product of integers ab,then either p|a or p|b. More generally if a prime p divides a product ab,...z then p must divide one of the factors a,b,...z

Notes - Shift Ciphers

The following are notes from Introduction to Cryptography with Coding Theory.
  • Shift ciphers are one of the earliest cryptosystems and is attributed to Julius Caesar
    • gaul is divided into three parts
    • he then shifts each letter by 3 places
    • JDXOLVGLYLGHGLQWRWKUHHSDUWV
    • Encryption process is then x -> x + k where k = 3
  • Attackers methodology
    • Ciphertext only
      • If the method is known then there are only 26 possible keys. However there is most likely more than one meaningful message that can be found when using these keys.
      • Frequency analysis to see the shift, e is the most common letter in the English language, find the difference between the most common letter in the message and e
    • Known Plaintext
      • if you know one letter of plaintext the key is broken
    • Chosen Plaintext
      • again inputting even just one letter will give you the key
    • Chosen Ciphertext
      • seeing the output of an input will give you the key

Notes - Classical Cryptosystems

The following are notes from Introduction to Cryptography with Coding Theory.
  • For simple cryptosystems we can make a few conventions
    • plaintext is written in lowercase
    • CIPHERTEXT written in uppercase
    • Letters of the alphabet are assigned numbers from 0-25 starting from a
    • Spaces and punctuation are omitted

Notes - Cryptographic Applications

The following are notes from Introduction to Cryptography with Coding Theory.
  • 4 main objectives of Cryptography
    • Confidentiality
      • there should be no eavesdroppers to a message
    • Data Integrity
      • the messag should not be altered through transmission
      • hash functions to detect data manipulation
    • Authentication
      • Sender wants verification that message was received by the correct person
      • identification
    • Non-repudiation
      • cannot claim that a false message has been sent
  • Authentication is closely linked to non-repudiation but there are differences
    • In symmetric key encryption, Bob can be sure a message comes from Alice so authentication is automatic but cannot prove to anyone else that Alice sent that message since he could have sent that message himself
  • Functions
    • Digital Signatures
      • link an individual's identity to a message
    • Identification
      • password protection to identify oneself
      • Feige-Fiat-Shamir method of identification zero knowledge based method for proving identity without revealing password
    • Key Establishment
      • Various ways to pass keys
      • public key cryptography
      • Diffie-Hellman key exchange algorithm
      • Blom's key generation scheme and Kerberos
    • Secret Sharing
      • divide the key among different individuals so all members must be present to unlock
    • Security Protocols
      • How we carry out secure transactions
      • SSL, SET
    • Electronic Cash
      • Providing anonymity while catching counterfeiters
    • Games
      • How to determine fair randomness?

Tuesday, September 10, 2013

Notes - Secure Communications

The following are notes from Introduction to Cryptography with Coding Theory.
  • Secure Communications
    • Actual message is called plaintext
    • Encryption methods are called keys
    • Ciphertext is the encrypted message
    • Goals of an attacker or eavesdropper
      • Read the message
      • Find the key and read all messages encrypted with that key
      • Corrupt initial message
      • Communicated with receiver of message masquerading as sender
  • Possible Attacks
    • Attacker has ciphertext only
    • Attacker has copy of ciphertext and plaintext
    • Attacker gains temporary access to encryption machine to create large quantities of ciphertext with known plaintext
    • Attacker gains temporary access to decryption machine to decrypt several strings of symbols
    • Kerckhoff's Principle
      • In assessing the security of a cryptosystem one should always assume the enemy knows the method being used
  • Symmetric and Public Key Algorithms
    • symmetric key
      • encryption and decryption keys are known to both sender and receiver
      • many cases encryption and decryption key is same
      • DES Data Encryption Standard AES Advanced Encryption Standard
      • Two types of ciphers
        • stream ciphers
          • data is fed in small bits, output in small bits
        • block ciphers
          • data is fed in blocks and fed into algorithm at once outputed at once
    • public key
      • introduced in 1970s
      • RSA encryption
      • Non-mathematical way to do public key encryption Receiver is Alice Sender is Bob
        • Bob sends Alice a box and an unlocked padlock
        • Alice puts message in box locks Bob's lock on it then sends the box back to Bob
          • authorization issues if first transmission is intercepted and lock is substituted
      • Computation of public keys are several orders of magnitude higher than symmetric keys
    • Codes - one to one usages Ciphers - encrypts every string of characters
  • Key Length
    • Brute Force attack -Try every single possible key to see which one yields meaningful decryptions
    • DES Algorithm has 56 bit key and thus 256 ~ 7.2x1016 keys
      • if you have a computer that can do 109 calculations a second would take about 3x1013 years to complete
      • Longer keys are advantageous but not necessarily more difficult to break
    • Other methods of attack
      • Frequency Analysis
      • BirthdayAttacks
    • One time pad is an unbreakable code
      • however requires a key as long as plaintext and the key can only be used once so is not practical

Notes - Overview of Cryptography and its Applications

The following are notes from Introduction to Cryptography with Coding Theory.

  • Cryptography is used to keep data secure
    • Increased need due to dependency on electronic systems
  • Cryptography is often used interchangeably with cryptology and cryptanalysis
    • Cryptology is technically study of communication over unsecured channels
    • Cryptography is designing systems to make channels secured
    • Cryptanalysis deals with breaking cryptographic systems
  • Coding Theory deals with representing input information symbols by output symbols called code symbols
    • often associated with error correcting codes

Cyrptography ToC


The following is a table of contents for Introduction to Cryptography with Coding Theory.
  1. Overview of Cryptography and its Applications
    1. Secure Communications
    2. Cryptographic Applications
  2. Classical Cryptosystems
    1. Shift Ciphers
    2. Affine Ciphers
    3. The Vigenère Cipher
    4. Substitution Ciphers
    5. Sherlock Holmes
    6. The playfair and ADFGX Ciphers
    7. Block Ciphers
    8. Binary Numbers and ASCII
    9. One-Time Pads
    10. Pseudo-Random Bit Generation
    11. LSFR Sequences
    12. Enigma
  3. Basic Number Theory
    1. Basic Notions
    2. Solving ax + by = d
    3. Congruences
    4. The Chinese Remainder Theorem
    5. Modular Exponentiation
    6. Fermat and Euler
    7. Primitive Roots
    8. Inverting Matrices Mod n
    9. Square Roots and Mod n
    10. Legendre and Jacobi Symbols
    11. Finite Fields
    12. Continued Fractions
  4. The Data Encryption Standard
  5. The Advanced Encryption Standard: Rijndael
  6. The RSA Algorithm
    1. The RSA Algorithm
    2. Attacks on the RSA
    3. Primality Testing
    4. Factoring
    5. The RSA Challenge
    6. An Application to Treaty Verification
    7. The Public Key Concept
  7. Discrete Logarithms
    1. Discrete Logarithms
    2. Computing Discrete Logs
    3. Bit Commitment
    4. Diffie-Hellman Key Exchange
    5. The ElGamal Public Key Cryptosystem
  8. Hash Functions
  9. Digital Signatures
  10. Security Protocols
  11. Digital Cash
  12. Secret Sharing Schemes
  13. Games
  14. Zero-Knowledge Techniques
    1. The Basic Setup
    2. The Feige-Fiat-Shamir Identification Scheme
  15. Information Theory
  16. Elliptic curves
    1. The Addition Law
    2. Elliptic Curves Mod p
    3. Factoring with Elliptic Curves
    4. Elliptic Curves in Characteristic 2
    5. Elliptic Curve Cryptosystems
    6. Identity-Based Encryption
  17. Lattice Methods
    1. Lattices
    2. Lattice Reduction
    3. An attack on RSA
    4. NTRU
  18. Error Correction Codes
  19. Quantum Techniques in Cryptography

Monday, September 9, 2013

Physics - Pulley Sample Problem

What is the acceleration of the following configuration?

Like with our atwood's machine example we solve this by looking at each mass individually. The forces acting on M are friction due to the table, opposing the tension T of the rope. The forces acting on m is the weight of m and the tension T of the rope. Now for atwood's situation we started with

m1 g - T = m1 a
T - m2 g =  m2 a

and arrived at

a = g(m1 - m2 )/(m1 + m2 )

For this situation, we can see that m1 can be substituted with M as we define positive acceleration as M going left and m going up, and negative acceleration as M to the right and m going down matching the convention of gravity's downward acceleration. The only difference is that instead of m1 g being the force opposing T we have μMg which is the friction force due to the table. Making this substitution we arrive at


a = g(μM - m )/(M + m )

Physics - Atwood's Machine

Atwood's Machine is a simple experiment that verifies the mechanical laws of motion under constant acceleration. As shown below two masses are attached to the ends of one pulley.


If the weight of m1 and m2 are equal then there is no acceleration. However if they are unequal their acceleration would be as follows. We can define the forces acting on m1 as T the tension force of the rope and W1 the force due to the weight of the block. The forces acting on m2 are T the tension force and W2 the weight of the second block. As you can see the tension force has the same magnitude on each block and all that is left is to solve for our acceleration.

m1 g - T = m1 a
T - m2 g =  m2 a

We then combine this system of equations by adding them together to get

m1 g - m2 g = m1 a + m2 a

This is the same as distributing g and a over m1 and m2 so our acceleration is

a = g(m1 - m2 )/(m1 + m2 )

Physics - Intro to Pulleys

This will be an overview of pulleys and the assumptions that we make of them in mechanics. Usually when doing these problems we can
  • Ignore friction forces of the rope on the pulley itself
  • Ignore the mass of the pulley or rope
Although these assumptions aren't necessarily true we can assume so if the weights are much larger in comparison to the weight of the pulley, or if there are multiple weights in the same system, that the difference between them is very large.

What is the simplest way that we can see the advantages of using a pulley? In the following picture


We can see a pulley attached to a ceiling moving a weight. The force the hand must exert is divided in two because the Tension force on the rope is evenly divided between rope being pulled by the hand and the portion attached to the ceiling reducing the effort of the person pulling the object up.