Tuesday, October 29, 2013

Electrical Engineering - Finfet

The following will be notes taken on the subject of FinFets
  • Summary
    • Classical Mosfet
      • Transistor that operates by using an Electrical field to invert the channel allowing conduction from source to drain


        • The Classical Mosfet Dimensions
          • Include length the short distance in this picture, Width is the longer dimension
        • Functionality
          • Length reduction results in loss of control over the channel
            • performance reduction
      • Finfet
        • Goal
          • solve performance reduction caused by smaller sizes 
        • Wrap the gate electrode around the channel
        • Thin fin of sillicon acts as the channel and it is encased by the gate electrode
        • Silicon fin surrounded by extension implant and poly oxide
        • Premise
          • di-electric and metal gate allows for a stronger e-field to be formed as it increases the dimensions of the gate effective using the height/thickness of the fin as the channel length allowing for a decrease in overall size when compared to a typical Mosfet
        • Source and Drain can be wrapped in silicon germanium or silicon carbon stressors just like classical transistors
        • Shown below is a representation of a finfet design used for production
        • The gate electrode is uniform for ease of construction
    • Clarification of terminology
      • After seeing the design used for production, we can see that it is nearly identical to the construction of the tri-gate

      • The only difference is that a tri-gate includes multiple sources and drains whereas the finfet description shows only a single source and drain but the process of construction seems identical, and terminology could be used interchangeably assuming you're fine with annoying Intel
      • The original papers indicate that the original process of the finfet did not wrap around on top of the fin, lowering the overall z or height of the overall transistor but this is too complicated of a process for mass production so the standard finfet is equivalent to the tri-gate which does wrap around 
    • Benefits
      • Maintain performance which includes
        • Conductivity when turned on
        • Insulation when turned off
          • Finfet in relation to a standard mosfet reduces electron tunneling effect when insulation is small
            • Main issues are - weaker dielectric, small size
            • Finfet significantly increases volume of dielectric reducing leakage currents
        • increase switching speed
          • due to lower size due to gate capacitance being smaller
          • note - non-issue in modern constructions, interface delay between metals is more significant as we get to smaller scale
        • Lower's Voltage requirements
          • increases lifetime/efficiency of product per charge
      • Company Promises
        • estimation, 2-5% higher price in exchange for 37% speed increase and 90% reduction in leakage current
    • Complications
      •  Adds complexity to construction process
        • possible reduction in yield
          • can increase price significantly above 2-5% estimate for the company overall
      • Depending on process
        • high k-dielectrics are more expensive, but already required as transistor size decreases
      • Increased modeling difficulty
        • geomotries now are first order effects
          • random fluctuations in manufacturing can now cause deviations in result
          • impacts possible econcomic forecasts for the division
        • Verification
          • requires new software to ensure design rules for fin to fin spacing is followed
    • History
      • construction process has roots in 1990s

    Tuesday, October 22, 2013

    Notes - Square Roots Mod n

    The following are notes from Introduction to Cryptography with Coding Theory.
    • Suppose we are told that x2 ≡ 71 (mod 77) has a solution
      • How do we find one solution/all solutions?
    • Proposition
      • if y has a square root mod p, then teh square roots of y mod p are +-x.
      • If y has no square root mod p, then -y has a square root mod p, and the square roots of -y are +-x
    • Example
      • Lets find the square roots of 5 mod 11. Since (P+1)/4 = 3, we compute x ≡ 53 ≡ 4 (mod 11). Since 42 ≡ 5 (mod 11), the square roots of 5 mod 11 are +-4 or 5,7 mod 11
      • Let's try to find the square root of 2 mod 11. Since (p+1)/4 = 3, we compute 23 ≡ 8 (mod 11). But 82 ≡ 9 ≡ -2 (mod 11), so we have found a square root of -2 rather than 2
    • Example
      • Composite Modulus square roots
      • x2 ≡ 71 (mod 77)
      • x2 ≡ 71 ≡ 1 (mod 7) and x2 ≡ 71 ≡ 5 (mod 11)
      • x ≡ +-1 (mod 7) and x ≡ +-4 (mod 11)
        • The chinese remainder theorem tells us that a congruence mod 7 and a congruence mod 11 can be recombined into a congruence mod 77
          • m1 = 7, m2 = 11, m = m1m= 77
          • M1 = m/m1= 11, M2 = m/m2= 7
          • M1N1 ≡ 1 (mod m1) => 11 N≡ 1 (mod 7) => 4 N≡ 1 (mod 7) => N≡ 2 (mod 7)
        • this will get us results of x ≡ +-15,+-29 (mod 77) 

    Tuesday, October 8, 2013

    Notes - Primitive Roots

    The following are notes from Introduction to Cryptography with Coding Theory.
    • Consider the powers of 3 (mod 7)
      • 31≡ 3, 32≡ 2, 33≡ 6, 34≡ 4, 35≡ 5, 36≡ 1
      • Note that we obtain all nonzero congruence classes mod 7 as powers of 3
    • Generally when p is a prime, a primitive root mod p is a number whose powers yield every nonzero class mod p
    • Primitive Roots
      • Let g be a primitive root for the prime p
      • Let n be an integer. Then gn≡ 1 (mod p) if and only if n ≡ 0 (mod p - 1)
      • If j and k are integers, then g≡ g(mod p) if and only if j ≡ k (mod p - 1)

    Notes - Fermat's Little Theorem and Euler's Theorem

    The following are notes from Introduction to Cryptography with Coding Theory.
    • Fermat's Little Theorem
      • if p is a prime and p does not divide a, then
      • p-1≡ (1 mod p)
      • Example
        • 210 = 1024 ≡ 1 (mod 11)
        • can then evaluate 253 (mod 11)
        • 253 = (210)523 ≡ 1523  ≡ 8 (mod 11)
    • We now require an analog for composite modulus n
      • Define φ(n) as the number of integers a between 1 and n such that gcd(a,n) = 1
      • Example
        • φ(10) = 4 [1,3,7,9]
      • Also can be deduced from chinese remainder theorem
        • φ(n) = n Πp|n (1-1/p)
      • φ(p) = p - 1 where p is a prime number
        • when n = pq where p and q are primes φ(pq) = (p - 1)(q - 1)
    • Euler's Theorem
      • If gcd(a,n) = 1, then aφ(n) ≡ 1 (mod n)
      • Example
        • What are the last 3 digits of 7803
          • same as working mod 1000
          • 1000 = 2353
          • φ(1000) = 1000(1-1/2)(1-1/5) = 400
      • Example
        • Compute 243210  (mod 101)
          • Note that 101 is prime, therefore 2100  ≡ 1 (mod 101)
          • Therefore (2100)432210 = 1432210 ≡ 1024 (mod 101) ≡ 14

    Notes - The Chinese Remainder Theorem

    The following are notes from Introduction to Cryptography with Coding Theory.
    • Chinese remainder theorem is used to break a congruence mod n into a system of congruences mod factors of n
      • Example
        • Number satisfies x≡ 25(mod 42)
        • means we can write x = 25 + 42k (k is some integer)
        • we can rewrite 42 as 7*6
        • x = 25 + 7(6k)
        • x = 25 + 6(7k)
    • Chinese Remainder Theorem
      • suppose gcd(m,n) = 1. If an integer c is a multiple of both m and n, then c is a multiple of mn. given integers a and b there exists exactly one solution x (mod mn)to the simultaneous congruences
        • x ≡ a (mod m)
      • x ≡ a (mod m)
        • x ≡ b (mod n)
    • Lemma
      • Let m,n be integers with gcd(m,n) = 1
      • if an integer c is a multiple of both m and n, then c is a multiple of mn
    • Example
      • Solve x ≡ 3 (mod 7), x ≡ 5 (mod 15)
      • 7*15 = 105
      • list congruences
        • 5,20,35,50,65,80
        • 3,10,17,24,31,38,45,52,59,66,73,80
        • x ≡ 80 mod 105
      • solve
        • nk ≡ a - b (mod m)
        • k ≡ (a - b)i (mod m) [i is the multiplicative inverse of n]

    Wednesday, October 2, 2013

    Notes - Pseudo-random Bit Generation

    The following are notes from Introduction to Cryptography with Coding Theory.
    • Ways to generate random bits
      • sampling thermal noise from semiconductor resistor
      • flipping coins
    • Sampling natural processes however is very slow and its difficult to ensure that the enemy does not view the process
    • Pseudo-Random generation
      • example rand()
        • takes a seed as an input produces output bitstream
        • based on linear congruential generators
        • xn = a x n-1 + b (mod m)
        • number x0 is the initial seed
      • this is suitable for experimental purposes but not for cryptographic purposes because it is too predictable
      • one way functions
        • functions f(x) that are easy to compute but is computationally infeasible to determine y = f(x)
        • therefore we can define a xj = f(s+j) for j = 1,2,3
        • DES, SHA
      • Blum-Blum Shub pseudo-random bit generator
        • quadratic residue generator
        • generate two large primes p, q that are congruent to 3 mod 4
        • then set n = pq and chose random integer x that is relatively prie to n
        • BBS produces a sequence by
          • x≡ x2j-1 (mod n)
          • bj is the least significant bit of xj
        • However BBS is slow to calculate due to size of primes

    Tuesday, October 1, 2013

    Notes - Block Cipher

    The following are notes from Introduction to Cryptography with Coding Theory.
    • also known as the hill cipher
    • choose an integer n, the key is an n x n matrix
      • M =
      • (1   2 3)
      • (4   5 6)
      • (11 9 8)
    • Message is written as a series of row vectors
      • abc becomes (0 1 2) which gets 
      • (012)(1   2 3)
      •         (4   5 6)
      •         (11 9 8)
      • mod 26
      • (0,23,22)
    • In order to decrypt we need the determinant of matrix M to satisfy
      • gcd(det(M),26)=1
      • Find the inverse of matrix M
      •       (-14 11 -3)
      • -1/3(34 -25  6)
      •       (-19 13 -3)
        • Since 17 is the inverse of -3 mod 26
      •      (22 5  1 )
      •      (6 17 24)
      •      (15 13 1)
        • can return plaintext by mulitplying inverse matrix by (0,23,22) mod 26
    • In order to perform the block cipher we just divide the plaintext into blocks of n characters and if the ciphertext does not divide evenly, the blanks are left as 0 but the matrix multiplication is still done
    • changing one letter changes n letters of plaintext therefore frequency decryption is very difficult
    • Claude Shannon
      • the fundamental foundations of cryptography include
        • Diffusion
          • means that changing one character of the plaintext, then several characters
        • Confusion
          • means that key does not relate in a simple way to the ciphertext
          • each ciphertext should depend on several parts of the key