Redshift Academy

  Search by keyword:  


Astronomical Distance Units
Celestial Coordinates
Celestial Navigation
Location of North and South Celestial Poles


Avogadro's Number
Balancing Chemical Equations
The Periodic Table

Classical Mechanics

Blackbody Radiation

Classical Physics

Archimedes Principle
Bernoulli Principle
Center of Mass Frame
Comparison Between Gravitation and Electrostatics
Compton Effect
Coriolis Effect
Cyclotron Resonance
Doppler Effect
Double Slit Experiment
Elastic and Inelastic Collisions
Electric Fields
Error Analysis
Fick's Law
Fluid Pressure
Gauss's Law of Universal Gravity
Gravity - Force and Acceleration
Hooke's law
Ideal and Non-Ideal Gas Laws (van der Waal)
Impulse Force
Inclined Plane
Kepler's Laws
Kinetic Theory of Gases
Kirchoff's Laws
Maxwell's Equations
Moments and Torque
Nuclear Spin
One Dimensional Wave Equation
Pascal's Principle
Phase and Group Velocity
Poiseuille's Law
Refractive Index
Rotational Dynamics
Simple Harmonic Motion
Specific Heat, Latent Heat and Calorimetry
The Gas Laws
The Laws of Thermodynamics
The Zeeman Effect
Young's Modulus

Climate Change

Keeling Curve


Cosmic Background Radiation and Decoupling
CPT Symmetries
Dark Matter
Friedmann-Robertson-Walker Equations
Hubble's Law
Inflation Theory
Introduction to Black Holes
Olbers' Paradox
Planck Units
Stephen Hawking's Last Paper
Stephen Hawking's PhD Thesis
The Big Bang Model
Vacuum Energy

Finance and Accounting

Brownian Model of Financial Markets
Capital Structure
Dividend Discount Formula
Lecture Notes on International Financial Management
Periodically and Continuously Compounded Interest
Repurchase versus Dividend Analysis

Game Theory

The Truel

General Relativity

Basis One-forms
Catalog of Spacetimes
Curvature and Parallel Transport
Einstein's Field Equations
Gravitational Waves
Hyperbolic Motion and Rindler Coordinates
Quantum Gravity
Ricci Decomposition
Ricci Flow
Stress-Energy-Momentum Tensor
The Area Metric
The Dirac Equation in Curved Spacetime
The Equivalence Principal
The Essential Mathematics of General Relativity
The Induced Metric
The Light Cone
The Metric Tensor
The Principle of Least Action in Relativity
Vierbein (Frame) Fields

Group Theory

Basic Group Theory
Basic Representation Theory
Building Groups From Other Groups
Sets, Groups, Modules, Rings and Vector Spaces
Symmetric Groups
The Integers Modulo n Under + and x

Lagrangian and Hamiltonian Mechanics

Classical Field Theory
Euler-Lagrange Equation
Ex: Newtonian, Lagrangian and Hamiltonian Mechanics
Hamiltonian Formulation
Liouville's Theorem
Symmetry and Conservation Laws - Noether's Theorem


Lecture Notes on International Economics
Lecture Notes on Macroeconomics
Macroeconomic Policy


Amplitude, Period and Phase
Arithmetic and Geometric Sequences and Series
Augmented Matrices and Cramer's Rule
Binomial Theorem (Pascal's Triangle)
Completing the Square
Complex Numbers
Composite Functions
Conformal Transformations
Conjugate Pair Theorem
Contravariant and Covariant Components of a Vector
Derivatives of Inverse Functions
Double Angle Formulas
Eigenvectors and Eigenvalues
Euler Formula for Polyhedrons
Factoring of a3 +/- b3
Fourier Series and Transforms
Gauss's Divergence Theorem
Grassmann and Clifford Algebras
Heron's Formula
Index Notation (Tensors and Matrices)
Integration By Parts
Introduction to Conformal Field Theory
Inverse of a Function
Law of Sines and Cosines
Line Integrals, ∮
Logarithms and Logarithmic Equations
Matrices and Determinants
Matrix Exponential
Mean Value and Rolle's Theorem
Modulus Equations
Orthogonal Curvilinear Coordinates
Parabolas, Ellipses and Hyperbolas
Piecewise Functions
Polar Coordinates
Polynomial Division
Quaternions 1
Quaternions 2
Regular Polygons
Related Rates
Similar Matrices and Diagonalization
Spherical Trigonometry
Stirling's Approximation
Sum and Differences of Squares and Cubes
Symbolic Logic
Tangent and Normal Line
Taylor and Maclaurin Series
The Essential Mathematics of Lie Groups
The Limit Definition of the Exponential Function
Tic-Tac-Toe Factoring
Trapezoidal Rule
Unit Vectors
Volume Integrals


Marginal Revenue and Cost

Nuclear Physics

Radioactive Decay

Particle Physics

Feynman Diagrams and Loops
Field Dimensions
Helicity, Chirality and Weyl Spinors
Klein-Gordon and Dirac Equations
Regularization and Renormalization
Scattering - Mandelstam Variables
Spin 1 Eigenvectors

Probability and Statistics

Box and Whisker Plots
Buffon's Needle
Categorical Data - Crosstabs
Chebyshev's Theorem
Chi Squared Goodness of Fit
Conditional Probability
Confidence Intervals
Data Types
Expected Value
Factor Analysis
Hypothesis Testing
Linear Regression
Monte Carlo Methods
Non Parametric Tests
Pearson Correlation
Permutations and Combinations
Pooled Variance and Standard Error
Probability Distributions
Probability Rules
Sample Size Determination
Sampling Distributions
Set Theory - Venn Diagrams
Stacked and Unstacked Data
Stem Plots, Histograms and Ogives
Survey Data - Likert Item and Scale
Tukey's Test

Programming and Computer Science

How this site works ...
More Programming Topics
MVC Architecture
Open Systems Interconnection (OSI) Standard - TCP/IP Protocol
Public Key Encryption

Quantum Computing

Density Operators and Mixed States
Entangled States
The Qubit

Quantum Field Theory

Creation and Annihilation Operators
Field Operators for Bosons and Fermions
Lagrangians in Quantum Field Theory
Path Integral Formulation
Relativistic Quantum Field Theory

Quantum Mechanics

Bohr Atom
Clebsch-Gordan Coefficients
Dyson Series
Electron Orbital Angular Momentum and Spin
Heisenberg Uncertainty Principle
Ladder Operators
Multi Electron Wavefunctions
Pauli Spin Matrices
Photoelectric Effect
Position and Momentum States
Probability Current
Schrodinger Equation for Hydrogen Atom
Schrodinger Wave Equation
Spin 1/2 Eigenvectors
The Differential Operator
The Essential Mathematics of Quantum Mechanics
The Quantum Harmonic Oscillator
The Schrodinger, Heisenberg and Dirac Pictures
The WKB Approximation
Time Dependent Perturbation Theory
Time Evolution and Symmetry Operations
Time Independent Perturbation Theory

Semiconductor Reliability

The Weibull Distribution

Solid State Electronics

Band Theory of Solids
Fermi-Dirac Statistics
Intrinsic and Extrinsic Semiconductors
The P-N Junction

Special Relativity

Electromagnetic (Faraday) Tensor
Energy and Momentum in Special Relativity, E = mc2
Invariance of the Velocity of Light
Lorentz Invariance
Lorentz Transform
Lorentz Transformation of the EM Field
Newton versus Einstein
Spinors - Part 1
Spinors - Part 2
The Continuity Equation
The Lorentz Group

Statistical Mechanics

Entropy and the Partition Function
The Harmonic Oscillator
The Ideal Gas

String Theory

Bosonic Strings
Extra Dimensions
Introduction to String Theory
Kaluza-Klein Compactification of Closed Strings
Strings in Curved Spacetime
Toroidal Compactification


Bardeen–Cooper–Schrieffer Theory
BCS Theory
Cooper Pairs
Introduction to Superconductivity
Superconductivity (Lectures 1 - 10)
Superconductivity (Lectures 11 - 20)

Supersymmetry (SUSY) and Grand Unified Theory (GUT)

Chiral Superfields
Generators of a Supergroup
Grassmann Numbers
Introduction to Supersymmetry
The Gauge Hierarchy Problem

The Standard Model

Electroweak Unification (Glashow-Weinberg-Salam)
Gauge Theories (Yang-Mills)
Gravitational Force and the Planck Scale
Introduction to the Standard Model
Isospin, Hypercharge, Weak Isospin and Weak Hypercharge
Quantum Flavordynamics and Quantum Chromodynamics
Special Unitary Groups and the Standard Model - Part 1
Special Unitary Groups and the Standard Model - Part 2
Special Unitary Groups and the Standard Model - Part 3
Standard Model Lagrangian
The Higgs Mechanism
The Nature of the Weak Interaction


Units, Constants and Useful Formulas


Public Key Encryption

Public Key Infrastructure (PKI) is the cornerstone of information security technology for the internet. Public key cryptography was invented in 1976 by Whitfield Diffie and Martin Hellman.


Asymmetric key algorithms use public (available to everyone) and private (only you have access to) key pairs. The two keys work together, so a message encrypted with the private key can only be decrypted with the public key and vice versa. This is illustrated in the following diagram.

This is all well and good but how do you know that the public key returned is genuine and not a fake? Enter the Certificate Authority (CA). The CA is a trusted third party organization that is responsible for verifying that a given site is genuine. Once a CA has verified a site it will issue a certificate that contains information about the owner of the site, for example e-mail address, owner's name, certificate usage, duration of validity, resource location or Distinguished Name (DN) which includes the Common Name (CN) (web site address or e-mail address depending of the usage) and the certificate ID of the person who certifies (signs) this information. It also contains the public key and finally a hash to ensure that the certificate has not been tampered with. The public key is encrypted using the CA's private root key. The CA includes both the unencrypted and encrypted versions of public key in the result. The browser then decrypts and checks the signature included with that public key. So how does it do that? All browsers securely maintain a predefined set of public keys on a local machine for each of the official CAs. When the browser establishes a new https:// connection it validates the signature on the public key it gets from the site using the public root key contained in one of those trusted root certificates in its store. Root certificates are generally managed securely by the OS to ensure that only official and trusted root certificates are made available on the local machine. Root certificates are updated from time to time as CAs update their own certificates, or CAs are added to or removed from the list. An example certificate is shown below:

Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=FJ,ST=Fiji,L=Suva,O=SOPAC,OU=ICT,CN=SOPAC Root CA/
Validity Not Before: Nov 20 05:47:44 2001 GMT
Not After : Nov 20 05:47:44 2002 GMT
Subject: C=FJ,ST=Fiji,L=Suva,O=SOPAC,OU=ICT,
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
X509v3 Authority Key Identifier:
Signature Algorithm: md5WithRSAEncryption

Note: The certificate does not contain the private key as it should never be transmitted in any form whatsoever.


From that point on:


With symmetric key encryption both parties share the same key for en- and decryption. Symmetric key encryption does not consume as much computing power as asymmetric encryption power but is potentially highly insecure. Generally symmetric keys are chosen randomly so that if a key is discovered then the next transaction will be totally different. In many applications, a combination of both asymmetric and symmetric keys are being used. The asymmetric keys are used for authentication and after this has been successfully done, one or more symmetric keys are generated and exchanged using the asymmetric encryption. This way the advantages of both algorithms can be used. The flow is: Symetric Key-->[Public Key]-->Encrypted Symetric Key-->[Private Key]-->Symetric Key. The browser creates a random session key, which is encrypted with the server's public key and then sends it to the server. The server then decrypts this information using its private key. Both the browser and the server now are using the same session key. This is a symmetric key used to encrypt and decrypt data exchanged by the browser and server. Browsers and servers usually negotiate the strongest mutually supported session. This means that if the user's browser and your Web server both support 128-bit SSL sessions, a 128-bit session is established. If the user's browser only supports 40-bit SSL sessions, then a 40-bit session is established even if your Web server supports 128-bit sessions.


To sign a message, you create its hash, and then encrypt the hash with your private key, you then add the encrypted hash and your signed certificate with the message. The recipient will recreate the message hash, decrypt the encrypted hash using your public key stored in your signed certificate, check that both hash are equals and finally check the certificate. The digital signature for a message is generated in two steps:

The digital signature is attached to the message, and sent to the receiver. The receiver then does the following: Using the sender's public key, it decrypts the digital signature to obtain the message digest generated by the sender. The receiver then uses the same message digest algorithm used by the sender to generate a message digest of the received message. Both message digests (the one sent by the sender as a digital signature, and the one generated by the receiver) are then compared. If they are not exactly the same, the message has been tampered with by a third party. We can be sure that the digital signature was sent by the sender (and not by a malicious user) because only the sender's public key can decrypt the digital signature. If decrypting using the public key renders a faulty message digest, this means that either the message or the message digest are not exactly what the sender sent.

Using public-key cryptography in this manner ensures integrity, because we have a way of knowing if the message we received is exactly what was sent by the sender. However, notice how the above example guarantees only integrity. The message itself is sent unencrypted. This is not necessarily a bad thing: in some cases we might not be interested in keeping the data private, we simply want to make sure it isn't tampered with. To add privacy to this conversation, we would simply need to encrypt the message as explained in the first diagram. The digital signature process is summarized in the following diagram: