Prepared by: Eng. Ahmed Zaaza
WIMAX layered architecture
ATM transport
IP transport
Convergence Sub-layer Common part Sub-layer Privacy Sub-layer Physical Sub-layer
WIMAX physical sub-layer Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Randomizer: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Randomizer: • Randomizer is used to change the bit order to avoid long sequence of consecutive zeros & ones. 1
Data input
2
3 4
5
6 7
8 9 10 11 12 13 14 15
Data output
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Randomizer: • On the downlink sub-frame, Preambles are not randomised, the randomization begins from the information bits. • At the start of the DL sub-frame, the randomizer is initiated with the sequence: 100101010000000
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Randomizer:
Uplink Sub-frame
Downlink Sub-frame Preamble
FCH
UL PHY Burst 1
MAPs
.…
UL PHY Burst n
• At the start of burst 2, the randomiser is initialised with the vector as shown. 1
2
3 4
5
Frame number
1
6 7
8 9 10 11 12 13 14 15
DIUC
1
1
BSID
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 2. Channel coding: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 2. Channel coding: Why we must use coding before sending data over a channel? 1001010101111010
1001110100011010
Data bits with error
Data bits without coding
Error from channel
Are these bits have error or not ? I don’t know . . . .
WIMAX physical sub-layer 2. Channel coding: Linear Block Code Coded message V of N - bits Parity check bits
Message block U of K-bits
(N-K ) bits
K - bits
• All possible messages = all possible code words = 2 ^ K • How we could get the coded message V from the un-coded message U.
WIMAX physical sub-layer 2. Channel coding: Linear Block Code • We must have G-matrix. N-K
G =
K
Parity matrix
Identity matrix (Unity matrix)
P
Contains only K code words K
I N
• If we have a un-coded message U then we multiply it with G to get V
V = U*G
WIMAX physical sub-layer 2. Channel coding: Linear Block Code • Example:
G =
N-K 1 0 1 1
1 1 1 0
N-K = 3
K 0 1 1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
K=4 if U = 1101
K
N
V = U*G V = 0 0 0 1 1 0 1 send) Check bits
U
(coded message to be
WIMAX physical sub-layer
•
2. Channel coding: Linear Block Code At the receiver we use H -matrix: N-K
H =
K Parity matrix transpose
Identity matrix (Unity matrix)
P -1
I N
• In our example: N-K
H =
1 0 0
N-K
0 1 0
K 0 0 1
1 1 0 N
0 1 1
1 1 1
1 0 1
N-K
WIMAX physical sub-layer 2. Channel coding: Linear Block Code • We send the constructed V:
U
V=U*G R = V + e
channel with error
• In our example: V = 0001101 R = 0001111 Syndrome (S) = R * HT S = (0001111) *
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
= 1 1 1 The sixth bit has an error R = 0001111 U = 0001101
WIMAX physical sub-layer 2. Channel coding: Cyclic Block Code • This code called Cyclic because if we make right rotate to any code word, it gives another code word. • It represents the un-coded message by a polynomial U(x) and the code by another polynomial g(x). • Code dimensions can be written as follows: C (N,K) where: N is the length of the code word. K is the length of the un-coded message. N-K is the number of added check bits. • The greatest power of the code (generator) polynomial indicates the number of added check bits (N-K).
WIMAX physical sub-layer 2. Channel coding: Cyclic Block Code • Example:
• C (7,4)
N=7 , K=4 , m=3 • Generator polynomial g (x) = X³ + X² + 1 • Message polynomial U (x) = X² + X + 1 (mean
1 + X + X² + X⁴
1 1
1
0 )
Step (1): 5 • Multiply U (x) * X^(m) = X³ * (X² + X + 1) = X + X⁴ + X³ Step (2): • Divide U (x) * X^(m) by g (x) Step (3): • V(x) = U (x) * X^(m) + b(x) 5 = X + X ⁴ + X³ + X = 0 1 0 1 1 1 0 Check bits
U
X² + X X³ + X + 1
5
X + X⁴ + X³ 5
X + X ³ + X² X ⁴ + X² X ⁴ + X² + X Reminder X b(x)
WIMAX physical sub-layer 2. Channel coding: Cyclic Block Code V(x)
channel with error
R(x) = V (x)+
e(x) In our example: 5 • V(x) = X + X ⁴ + X³ + X =0 1 0 1 1 1 0 • R(x) = 0 1 1 1 1 1 0 = X5+ X ⁴ + X³ + X² + X Syndrome (S(x)) = R(x) mod g(x) • U(x) = R(x) + S(x) • R(x) = 0 1 1 1 1 1 0 5 = X + X ⁴ + X³ + X² + X 5
X³ + X + 1
X² + X 5
X + X⁴ + X³ + X² + X 5
+
X²
U(x) = X + X ⁴ + X³ + X = 0 1 0 1 1 1 0
X + X ³ + X² X⁴+X X ⁴ + X² + X Reminder X² S(x)
WIMAX physical sub-layer 2. Channel coding: BCH code • BCH codes is a type of codes used to encode block of K symbols each symbol consist of S-bits and adds some symbols as parity check each of s-bits. S bits
S bits
S bits
....
S bits
S bits
K-symbols
S bits
N-K symbols
• It uses a term called finite field (Galois Fields (GF)). • Because we transmit binary data so, we use GF(2^s). This GF contain elements as follows: F={ 0,1,α, α ², α ³, α ⁴, . . . . . ., α^(2^m – 1) } • Example: GF(2^3) = {0,1, α, α ², α ³, α⁴, α5 ,α 6 ,α7 } contains 8 non zero symbols Equal 1 Each element consist of 3 bits.
WIMAX physical sub-layer 2. Channel coding: BCH code • So, each one element have a distribution according to a given Field Generator s Polynomial ex: P(x) = X + X + 1 • The generator polynomial is generated from the roots & there conjugate of the Field Generator Polynomial. • Example: P(x) = x³ + x + 1 S=3 i
αi
α²
α1
0 1 2 3 4 5 6 7
1 α α² α³ = α + 1 α⁴ = α (α + 1 ) = α² + α α5 = α (α² + α ) = α³ + α² = α² + α + 1 α6 = α (α² + α + 1) = α³ + α² + α = α² + 1 7 α = α (α² + 1) = α³ + α = α + 1 + α = 1
0 0 1 0 1 1 1 0
0 1 0 1 1 1 0 0
α0 1 0 0 1 0 1 1 1 repeated
WIMAX physical sub-layer 2. Channel coding: BCH code • BCH code has a dimension of C(N,K) of s-bits. • The number of parity symbols = N – K = 2T • The code can correct up to T error symbols May ( T ) complete symbols have errors. May ( T ) bits have errors each one in difference symbol.
WIMAX physical sub-layer 1. Reed-Solomon Encoder: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 2. Channel coding: Reed – Solomon code • It is a part from the BCH code. • Its dimension is:
RS(255,239)
• N = 255 , K = 239 , S = 8 • N-K = 16 = 2T • T = 8 it can correct 8 symbols. • It uses GF( 2^8 ) i.e: each symbol consist of 8 bit. • Field generator polynomial: p(x) = x8 + x4 + x3 + x2 + 1. • Code generator polynomial: g(x) = (x + m0) (x + m1) (x + m2)…(x + m2T-1) • Coding rate = 239/255 = 0.937
WIMAX physical sub-layer 1.Convolutional Encoder: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • It is defined by three parameters n, k, m Where: • n: number of output coded bits • k: number of input data bits enter the encoder simultaneously. • m: is the number of registers of the encoder menus one (m+1 = registers ). • The coding rate Rc = k/n
(k is chosen to be always 1)
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Example of convolutional coder of:
R=½
, k=1 , n=2 , m=2
u1 First coded bit Input data bits m
(Branch word) Output coded bits
u1 ,u2
u 2Second coded bit
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Example of convolutional coder of: • Message m = (101)
R=½
T1
T2 U1
1
, k=1 , n=2 , m=2
0
0
U1 U2
1 1
U1
0
1
0
U2
1 0 U2
T3
T4 U1
1
U1 U2
0
1
U1 U2
0 0 U2
U1
0
1
0
U1 U2
1 0 U2
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder T5
T6 U1
0
0
1
U1
U1 U2
0
1 1
0
0
U2
k = (101)
U1 U2
0 0 U2
Encoder
U = (11 10 00 10 11)
n = 2, k = 1, m= 2, L = 3 input bits
ďƒ
10 output bits
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Polynomial representation: • We define n generator polynomials, one for each modulo-2 adder. Each polynomial is of degree m or less and describes the connection of the shift registers to the corresponding modulo-2 adder. Example: for m = 2
g1 ( X ) = g 0(1) + g1(1) . X + g 2(1) . X 2 = 1 + X + X 2 g 2 ( X ) = g 0( 2) + g1( 2) . X + g 2( 2 ) . X 2 = 1 + X 2 The output sequence is found as follows:
V ( X ) = u ( X )g1 ( X ) interlaced with u ( X )g 2 ( X )
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Let us see the output from the equation: g1(x) = 1 + X + X ² g2(x) = 1 + X ² u(x) * g1(x) = (1 + X ²) (1 + X + X ²) = 1 + X + X³ + X⁴ u(x) * g2(x) = (1 + X ²) (1 + X ²) = 1 + X⁴ u(x) * g1(x) = 1 + X + 0(X²) + X³ + X⁴ u(x) * g2(x) = 1 + 0(X) + 0(X²) + 0(X³) + X⁴
U1 U2
U1 U2
U1 U2
U1 U2
U1 U2
1 1
1 0
0 0
1 0
1 1
output from first branch U1 output from second branch U2
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Convolutional coding in wimax:
R=½ , k=1 , n=2 , M=6
WIMAX physical sub-layer 2. Channel coding: Convolutional encoder • Convolutional coding in wimax: • OFDM symbol: 6 zero bits to initialize the encoder
Convolutional Encoder
Data block
• OFDMA symbol:
Data block 6 bits
Convolutional Encoder
Data block
12 bits
WIMAX physical sub-layer 1. Interleaver: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Interleaver: •Convolutional codes are suitable for memory less channels with random error events. •Some errors have bursty nature:
Statistical dependence among successive error events (time-correlation) due to the channel memory. Like errors in multipath fading channels in wireless communications.
WIMAX physical sub-layer 1. Interleaver: A burst error of length 3 can not be corrected. A1 A2 A3 B1 B2 B3 C1 C2 C3 2 errors
Let us use a block interleaver 3X3 A1 A2 A3 B1 B2 B3 C1 C2 C3
Interleaver A1 B1 C1 A2 B2 C2 A3 B3 C3
A1 B1 C1 A2 B2 C2 A3 B3 C3
Deinterleaver A1 A2 A3 B1 B2 B3 C1 C2 C3 1 error
1 error
1 error
WIMAX physical sub-layer 1. Mapping: Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. Mapping: • •
The bit rate defines the rate at which information is passed. The baud (or signalling) rate defines the number of symbols per second. Each symbol represents n bits, and has M signal states, where M = 2n. This is called M-ary signalling.
WIMAX physical sub-layer 1. Mapping: Amplitude Shift Keying (ASK) Baseband Data ASK modulated signal A cos ωct
0
0
A cos ωct
Pulse shaping can be employed to remove spectral spreading. ASK demonstrates poor performance, as it is heavily affected by noise and interference.
WIMAX physical sub-layer 1. Mapping: Frequency Shift Keying (FSK) Baseband Data FSK modulated signal f1
f0
f0
f1
where f0 = A cos(ωc-∆ω)t and f1 = A cos(ωc+∆ω)t Bandwidth occupancy of FSK is dependant on the spacing of the two symbols. A frequency spacing of 0.5 times the symbol period is typically used.
WIMAX physical sub-layer 1. Mapping: Phase Shift Keying (PSK) Baseband Data Binary PSK modulated signal s1
s0
s0
s1
where s0 = -A cos ωct and s1 = A cos ωct Binary Phase Shift Keying (BPSK) demonstrates better performance than ASK and FSK. PSK can be expanded to a M-ary scheme, employing multiple phases and amplitudes as different states.
WIMAX physical sub-layer 1. Mapping: Modulation - QPSK
(-1,1)
Q-Channel
Odd Data (NRZ)
Q
(1,1)
0
90
QPSK
I
Cos Wc t Even Data (NRZ)
I-Channel (-1,-1)
(1,-1)
Wc = Carrier Frequency, I = In phase channel, Q = Quadrature channel
Quadrature Phase Shift Keying is effectively two independent BPSK systems (I and Q), and therefore exhibits the same performance but twice the bandwidth efficiency.
WIMAX physical sub-layer 1. Mapping: Multi-level (M-ary) Phase and Amplitude Modulation Amplitude and phase shift keying can be combined to transmit several bits per symbol (in this case M=4). These modulation schemes are often refered to as linear, as they require linear amplification. 16QAM has the largest distance between points, but requires very linear amplification. 16PSK has less stringent linearity requirements, but has less spacing between constellation points, and is therefore more affected by noise. M-ary schemes are more bandwidth efficient, but more susceptible to noise. 16 PSK 16 QAM 16 APSK
WIMAX physical sub-layer 1. Mapping:
Mapping The encoded and interleaved binary serial input data shall be divided into groups of NcpC (1, 2, 4, or 6) bits and converted into complex numbers representing BPSK, QPSK, 16-QAM, or 64-QAM constellation points. The conversion shall be performed according to Gray-coded constellation mappings
WIMAX physical sub-layer 1. Mapping:
• •
d = (I + jQ) × KMOD The output values, d, are formed by multiplying the resulting (I+jQ) value by a normalization factor KMOD. • The normalization factor, KMOD, depends on the base modulation mode Modulation
KMOD
BPSK
1
QPSK
1/
16-QAM
1/
64-QAM
1/
WIMAX physical sub-layer 1. Mapping:
Encoding tables for different modulation schemes BPSK encoding table Input b0
I-out
Q-out
0
-1
0
1
1
0
QPSK encoding table
Input (b0 )
I-out
0
-1
1
1
Input (b1)
Q-out
0
-1
1
1
WIMAX physical sub-layer 1. Mapping:
Encoding tables for different modulation schemes 16 - QAM encoding table
Input (b0b1)
I-out
Input (b0b1)
Q-out
00
-3
00
-3
01
-1
01
-1
11
1
11
1
10
3
10
3
WIMAX physical sub-layer 1. Mapping:
Encoding tables for different modulation schemes 64-QAM encoding table Input (b0b1b2)
I-out
000
-7
001
-5
011
-3
010
-1
110
1
111
3
101
5
100
7
Input (b3b4b5)
Q-out
000
-7
001
-5
011
-3
010
-1
110
1
111
3
101
5
100
7
WIMAX physical sub-layer 1. Mapping:
Constellation of different modulation schemes
WIMAX physical sub-layer 1. Mapping:
WIMAX physical sub-layer 1. IFFT : Channel coding
Data Source
Randomizer
Sub-Carrier Mapping
ReedSolomon Encoder
IFFT
Convolutional Encoder
Interleaver
To air interface
WIMAX physical sub-layer 1. IFFT : • Let us introduce the meaning of the orthogonality. Sin (f) Cos (f) Sin(f) * Cos(f) = 0 90 1 0.5 0.5 1
0
π/2
π
3π/2
2π
WIMAX physical sub-layer 1. IFFT : • We can obtain orthogonal signals by choosing their frequencies have integer multiple of the basic frequency. • sin α , sin 2α , sin3α are orthogonal signals
sin 2α * sin3α = 0
1
Sin 3α
Sin α
Sin 2α
0.5
0.5
1
1 0.5
0
π/2
π
sin α * sin2α = 0
0.5
1
+ 0
+
+
-- π/2 --
+ --
π
--
--
+ --
+
WIMAX physical sub-layer 1. IFFT : A
• Un-modulated orthogonal frequencies. t f1 f2 = n*f1 f3 = m*f1
f
A
f1
f2
f3
f
WIMAX physical sub-layer 1. IFFT : A
• modulated orthogonal frequencies. t f1 f2 = n*f1 f3 = m*f1
f
A
f1
f2
f3
f
WIMAX physical sub-layer 1. IFFT : • The solution for multicarrier using several oscillator. S(t)
S/P t Oscillator array
OFDM symbol in time domain
• Disadvantages: • It requires multiple oscillator for all subcarriers ex.: 256, 512, . . . • It requires very sharp filters (rectangular) to select each carrier.
WIMAX physical sub-layer 1. IFFT : • The solution for multicarrier using inverse fast forrier transform. S(t)
Samples
S/P t OFDM symbol in time domain N −1
• DFT (FFT):
X ( K ) = ∑ x(n). n =0
N −1
• IDFT (IFFT):
− j ( 2πnk / N )
X (n) = (1 / N )∑ x(k ). k =0
j ( 2πnk / N )
WIMAX physical sub-layer 1. IFFT : • The solution for multicarrier using inverse fast forrier transform. S(t)
Samples
S/P t
• DFT (FFT):
OFDM symbol in time domain N −1
N −1
n =0
n =0
X ( K ) = ∑ a ( n). sin( j 2πnk / N ) + j ∑b( n). cos( j 2πnk / N ) • IDFT (IFFT): N −1
N −1
k =0
k =0
X (n) = (1 / N )[∑ a (k ). sin( j 2πnk / N ) + ∑ b(k ). cos( j 2πnk / N )]
WIMAX physical sub-layer 1. IFFT : • OFDM symbol in frequency domain: S(t)
t OFDM symbol in time domain
f
WIMAX physical sub-layer 1. IFFT : • OFDM symbol in frequency domain: Data subcarriers
Lower Guard band
Pilot subcarriers
Upper Guard band
DC ∆f = 1/Tb
f
WIMAX physical sub-layer 1. Cyclic prefix : • OFDM & Inter-Symbol interference: T (symbol)
T (symbol)
• We need to eliminate the corrupted Period of the next symbol. • So, we adds a Guard period between Each two successive symbols.
t
Guard Period
• Solution: Corrupted
Symbol Symbol Symbol
Symbol Symbol Symbol
Symbol Symbol Symbol
.....
WIMAX physical sub-layer 1. Cyclic prefix :
Guard Period
• We solve the adjacent carrier interference but The ISI still exist. T (symbol) Symbol
Symbol Symbol
Symbol Symbol Symbol
Symbol Symbol Symbol
t T(g) T(g)
T(b) T(s)
Copy final part of the symbol
WIMAX physical sub-layer
S/P
D/A
CP
Sampling Frequency (fs)
• Fs = n * BW • n: sampling factor – depends on the used BW – Possible values are: 8/7 , 86/75 , 144/125 , 316/275 , 57/50.
3.5 GHz
WIMAX physical sub-layer 1. IFFT : • OFDM symbol duration: Pilot subcarriers
Data subcarriers
Lower Guard band
Upper Guard band
DC ∆f = 1/Tb
• OFDM symbol duration = Useful symbol time + guard time (CP) = (1/one sub-carrier spacing) + G * Useful symbol time = (1/∆f) ( 1 + G) = (1/(fs/Nfft)) ( 1 + G) = (1/(n*BW/Nfft)) ( 1 + G)
f
WIMAX physical sub-layer 1. IFFT : • OFDM symbol Data rate: Pilot subcarriers
Data subcarriers
Lower Guard band
Upper Guard band
DC
f
∆f = 1/Tb
• Data rate= number of un-coded bites per OFDM symbol/ OFDM symbol duration = (data sub-carriers * bits per FFT point * coding rate ) / OFDM symbol duration.
WIMAX physical sub-layer 1. IFFT : • OFDM & OFDMA PHY layer:
Pilot subcarriers
Data subcarriers
Lower Guard band
Upper Guard band
DC
f
∆f = 1/Tb
• OFDM (fixed WiMAX) PHY layer use only 256 sub-carrier so, the sub-carrier spacing is variable with the selected BW.
• OFDMA (mobile WiMAX) PHY layer use only 256, 512, 1024, 2048 subcarriers so, the sub-carrier spacing is fixed with the selected BW.
WIMAX layered architecture
ATM transport
IP transport
Convergence Sub-layer Common part Sub-layer Privacy Sub-layer Physical Sub-layer
WIMAX Privacy Sub-layer The fundamental services we need:
WIMAX Privacy Sub-layer Attacks Types: • Modification
User A
User B Attacker
• Attack availability
User A
User B Attacker
• Attack Entity Authentication
User A
User B Attacker
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Types of Encryption: 1.Symmetric Key Encryption: used in traffic encryption. 2.Asymmetric Key Encryption: used in key encryption.
WIMAX Privacy Sub-layer Confidentiality using Encryption:
Symmetric Key Encryption
WIMAX Privacy Sub-layer Confidentiality using Encryption: • It is based on the idea that the Transmitter have the secret key of the Receiver .
Data encrypted with key: 2009 Data encrypted with key: 2008 MS 1 SC: 2008
MS 2 SC: 2009
WIMAX Privacy Sub-layer Confidentiality using Encryption: • The simplest example of the encryption is the XOR function. 1011011 Plain text
0110110
1101101 Cipher text
Key
• • • •
But the XOR have some critical disadvantages: Known text attack. Chosen text attack. Flipping attack.
• Note: both Plaintext & Key must be the same in size.
1011011
Received Plain text
0110110 Key
WIMAX Privacy Sub-layer Confidentiality using Encryption: Simple DES (Data Encryption Standard) • So, we must develop another method doesn’t depend on the XOR directly. • We use Simple DES technique (Data Encryption Standard).
Key 10-bit
Key scheduler
Key1 8bit Key2 8bit
Encryption
Plain text 8-bit
Cipher text 8-bit
3
WIMAX Privacy Sub-layer Confidentiality using Encryption: Key 10-bit Key1 8-bit
5
2
7
LS - 1
4
10
1
9
8
Key 106 bit
Key scheduler
Key2 8-bit
Encryption
LS - 1 Plain text 8-bit
Compression Permutation
Key 1 LS - 2
LS - 2
Compression Permutation
Key 2
Cipher text 8-bit
WIMAX Privacy Sub-layer Confidentiality using Encryption: Plain text 8-bit Key1 8-bit
2 Key 1
6
3
1
4
8
7
Key scheduler
Key2 8-bit
Encryption
F1 Switch
Key 2
5
Key 10bit
F2 P-1 Cipher text 8-bit
Plain text 8-bit
Cipher text 8-bit
WIMAX Privacy Sub-layer Confidentiality using Encryption:
Plain text 8-bit
Encryption
Cipher text 8-bit
Key 10-bit • We want to calculate the encryption power. • 2^10 / 2^8 = 2^2 (Keys per Cipher) • This means that each one plain text can have 4(2^2) different Cipher text.
WIMAX Privacy Sub-layer Confidentiality using Encryption: • If we want to increase the encryption system power then we increase the Key length. • But this will be very difficult in hardware because this require change in all the system. • So, we use multi-encryption systems.
Key1 10-bit
Plain text 8-bit
Encryption
Key2 10-bit
Encryption
Key3 10-bit
Encryption
Cipher text 8-bit
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Multi-encryption modes:
Plain text 8-bit
Key1
Key2
Key3
E
E
E
Cipher text 8-bit
EEE mode
Plain text 8-bit
Key1
Key2
Key3
E
D
E
EDE mode
Cipher text 8-bit
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Modes of operation of block cipher: • There are many modes of operation for the encryption block. 1. ECB (Electronic Code Block) 2. CBC (Cipher Block Chaining) 3. CFB (Cipher Feed Back) 4. OFB (Output Feed Back) 5. CTR (Counter mode) Key
• The question is: How will the block operate in multi Plain text input?
Plain text
Encryption
Cipher text
WIMAX Privacy Sub-layer Confidentiality using Encryption: ECB (Electronic Code Block) Plain text 1
Key
Encryption
Cipher text 1
Plain text 2
Key
Encryption
Cipher text 2
Plain text 3
Key
Encryption
Cipher text 3
Features: •If blocks received out of order, the system still run. •No error propagation. •Can’t sense any of the attacks (deletion, insertion, exchanging, substitution). • Suitable to one block ciphering.
WIMAX Privacy Sub-layer Confidentiality using Encryption: CBC (Cipher Block Chaining) Plain text 1
Plain text 2
Plain text 3
IV Key
Encryption
Cipher text 1
Key
Encryption
Cipher text 2
Key
Encryption
Cipher text 3
Features: •Ci = EK (Pi + Ci-1) •Error propagation occur. •Very sense to any of these attacks (deletion, insertion, exchanging, substitution). • Suitable to multi-block ciphering.
WIMAX Privacy Sub-layer Confidentiality using Encryption: CBC (Cipher Block Chaining) Cipher text 1 Key
Decryption
Cipher text 3
Cipher text 2 Key
Decryption
Key
Decryption
IV Plain text 1
Plain text 2
If Ci is corrupted then the error propagates to Pi & Pi+1
Plain text 3
WIMAX Privacy Sub-layer Confidentiality using Encryption: WIMAX Traffic encryption algorithms Plain text 1
Plain text 2
Plain text 3
IV Key
Encryption
Cipher text 1
Key
Encryption
Cipher text 2
• WIMAX uses 3-DES algorithm in CBC mode EDE which: • Key = 56 bits. • Plain text & Cipher text = 64 bits.
Key
Encryption
Cipher text 3
WIMAX Privacy Sub-layer Confidentiality using Encryption: WIMAX Traffic encryption algorithms 64 bit 7 - bit P 7 - bit P . . . . . 7 - bit P
Encrypted message
DES - CBC
User message n * 64
IV
PHY – Synch field
XOR
CBC - IV
Stuffing
WIMAX Privacy Sub-layer Confidentiality using Encryption:
Asymmetric Key Encryption
WIMAX Privacy Sub-layer Confidentiality using Encryption: • It is based on the idea that the Transmitter doesn’t have the secret key of the Receiver .
? MS 1
MS 2
What is the solution?
WIMAX Privacy Sub-layer Confidentiality using Encryption: • We must know the MOD operation which mean the reminder of the division operation.
• 7 mod 5 = 2 7/5 = 1 & 2 reminder • (6+3) mod 5 = 4 • (x mod n) + (y mod n) mod n = (x + y) mod n
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Additive inverse: • Y + (-Y) = 0
• -y mod n = ? • The we must get the value of –y in the modulo system. • Example: 5 – 7 mod 10
= =
5 + (-7 + 10) mod 10 5 + 3 mod 10 = 8
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Multiplicative inverse: • Y * (1/Y) = 1
• y/x mod n = ? • The we must get the value of (1/X) in the modulo system. • Example: 7/6 mod 11
= =
7 * 2 mod 11 14 mod 11 = 3
6 * ? = 1 mod 11 6 * 2 = 12 mod 11 = 1
• Example: 5/4 mod 8 = No answer Because the GCD (Greatest common Divisor) of (4,8) not equal 1
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Prime numbers: • X mod n
where (n) is a prime number
• Then all numbers below this value have a GCD = 1 with this prime number. • Example: • 3/5 mod 7 = (3 * 3) mod 7 = 2
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Euler Totient Ф(n): X mod n • Example: • At n = 6 • Field = { 0, 1, 2, 3, 4, 5 } {1, 5}
numbers less than 6 numbers have GCD = 1 with 6
• Then, Euler Totient Ф(6) = 2
• Example: • At n = 7
Prime number
• Field = { 0, 1, 2, 3, 4, 5, 6 } { 0, 1, 2, 3, 4, 5, 6 }
numbers less than 6 numbers have GCD = 1 with 7
• Then, Euler Totient Ф(7) = 6 = (n – 1)
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Euler Totient Ф(n): • Note: Ф(p) * Ф(q) = (p – 1)(q – 1)
at p, q are prime numbers.
• General Formula: Ф(n)
a Example: At n = 3 , a = 2
Ф(n) = Ф(n) = n – 1 = 3 – 1 = 2.
a
Ф(n) =2^2=4
Then, 4 mod 3 = 1
mod n = 1
WIMAX Privacy Sub-layer Confidentiality using Encryption: • Each user have Secrete Key & Public Key. • It uses the Secrete key decrypt the data sent to it encrypted with its Public key
MS 1
MS 2
Secrete Key (1)
Secrete Key (2)
Public Key (1)
Public Key (2)
WIMAX Privacy Sub-layer Confidentiality using Encryption: •
Data Encryption/decryption sequence.
2. Data decrypted with Secrete Key (2)
1. Data encrypted with Public Key (2) MS 1
MS 2
Secrete Key (1)
Secrete Key (2)
Public Key (2)
Public Key (1)
WIMAX Privacy Sub-layer Confidentiality using Encryption: •
Key generation process.
1. 2. 3. 4. 5.
Pick two large prime numbers P & Q (each of 512 bits). Calculate N = P*Q (RSA public modulus – 1024 bits). Calculate Euler Totion Ф(N) = (P – 1)(Q - 1). Choose (e) – Public exponent - at which GCD(e, Ф(N) ) = 1. Find (d) – Secrete exponent - at which d*e = 1 mod N.
• • •
Then: Public key = (e , N). Secrete key = (d , N).
•
Lets have an example . . . .
WIMAX Privacy Sub-layer Confidentiality using Encryption: •
If there is a message x ,
where x < N
Encryption: • Then C – encrypted message – equals: C = x e mod N Decryption:
d
x = C mod N d e = (x mod N) mod N ed = (x
mod N) mod N
e * d = 1 mod
N = x mod N = x
x<N
WIMAX Privacy Sub-layer Authentication using hash message: • • 1. 2.
Hash function is a on way function. Hash function features: If x is a message ,then hash message (Y) = H(x). Very low collision, i.e: low Prop. to find one hash message to different X messages. Plain text 1
Plain text 2
Plain text 3
IV Key
Encryption
Key
Encryption
Key
Encryption
Hash message
WIMAX Privacy Sub-layer Authentication using hash message: â&#x20AC;˘
WIMAX makes HMAC (Hash Message Authentication Code) using SHA-1 Algorithm.
HASH
Ipad = 36 , 36 , . . ,36 Opad = 5C , 5C , . . . 5C
SHA
+
message XOR output
SHA output
XOR
MAK 0000 XOR
SHA XOR output
opad
message
ipad
message