CHƯƠNG 1 TỔNG QUAN VỀ MÃ MẠNG
2.2. MÃ MẠNG TRÊN VÀNH ĐA THỨC, TRƯỜNG ĐA THỨC
2.2.4. Mã mạng trên trường đa thức
Xét một đa thức nguyên thủy ( ) có bậc với các hệ số trong GF(2), từ đó
Z2[ ]/ ( ) là một trường đa thức [62].
2.2.4.1. Mã mạng sử dụng phép nhân trên trường đa thức
Q trình mã mạng có thể được mơ tả như Hình 2.8 bên dưới:
Hình 2.8. Mã mạng trên trường đa thức
- Pha thứ nhất: Truyền thông tin
Nút C nhận thông tin là các đa thức ( ) và ( ) từ nút A và B.
Trong đó, ( ), ( ) ∈ Z2[ ]/ ( ); ( ) là một đa thức nguyên thủy; deg ( ) = ; deg ( ) < ; deg ( ) < .
- Pha thứ hai: Tại nút C thực hiện phép tính:
()= ().()() (2.24)
rồi sau đó phát quảng bá ( ) tới cả nút A và B.
-Pha thứ ba: Tại nút A và B khôi phục được thông tin ( ), ( ) sau khi giải mã ( ):
Tại nút A: ( ) = ( ).−1( )( )
Tại nút B: ( ) = ( ).−1( )( )
Chú ý: −1( ) và −1( ) là đa thức nghịch đảo tương ứng của ( ) và ( ).
Ví dụ: Xét ( ) = 1 + 2 + 5 ⟷ (025) với deg ( ) == 5.
-Pha thứ nhất: Giả sử ( ) = (023) và ( ) = (024). Nút C nhận được cả ( ) và ( ). Sau đó chuyển sang pha 2.
- Pha thứ hai: Tại nút C thực hiện phép tính:
( ) = ( ). ( )( ) = (023)(024) = (14)
rồi sau đó phát quảng bả ( ) tới cả nút A và B.
- Pha thứ ba:
Tại nút A khôi phục thông tin ( ) từ ( ):
( ) = ( ).−1( )( ) = (14)(0123) = (024)
Tại nút B khôi phục thông tin ( ) từ ( ):
( ) = ( ).−1( )( ) = (014)(134) = (023)
Trong đó, −1( ) = (0123) và −1( ) = (134) là đa thức nghịch đảo tương
ứng của ( ) và ( ).
2.2.4.2. Mã mạng Affine trên trường đa thức
Trong mơ hình mã mạng này, NCS sử dụng cả phép cộng và phép nhân đa thức trên trường đa thức để thực hiện mã mạng.
Hình 2.9. Mã mạng Affine trên trường đa thức
- Pha thứ nhất: Truyền thông tin
Nút C nhận thông tin là các đa thức ( ) và ( ) từ nút A và B.
Trong đó, ( ), ( ) ∈ Z2[ ]/ ( ); ( ) là một đa thức nguyên thủy; deg ( ) = ; deg ( ) < ; deg ( ) < .
- Pha thứ hai: Tại nút C thực hiện phép tính:
( ) = ( ). ( ) + [ ( ) + ( )] (2.25) rồi sau đó C phát quảng bá ( ) tới cả nút A và B.
-Pha thứ ba: Tại nút A và B khôi phục được thông tin ( ), ( ) sau khi giải mã ( ). Tại nút A: ()− ()= ().()+ ()= ().[()+1] ( )= c(x)−a(x) ( ) +1 Hoặc: ( )=[ ( )− ( )].[ ( )+1]−1 Tại nút B: ()− ()= ().()+ ()= ().[()+1] ( )=c(x) −b(x) ( )+1 Hoặc:
( )=[ ( )− ( )].[ ( )+1]−1
Ví dụ: Xét trường đa thức Z
một đa thức nguyên thủy và deg ( ) == 5.
- Pha thứ nhất:
Nút A chọn ( ) = 1 ++ 2 ∈ Z2[ ]/ ( ), ( ) = ( )
với deg ( ) = 2 < ; Sau đó A tính trước: [ ( )+1]−1=[1++2+1]−1=[ +2]−1=2+3 ⟷(23)
Nút B chọn ( ) = 2 + 4 ∈ Z2[ ]/ ( ), ( ) = ( )
với deg ( ) = 4 < ; Sau đó B thực hiện phép tính:
[ ( )+1]−1=[ 2+4+1]−1 =1+3+4 ⟷(034)
-Pha thứ hai: Nút C nhận ( ) và ( ) từ nút A và B, rồi C thực hiện phép tính:
( )= ( ) ( )+[ ( )+ ( )]=(012)(24)+[(012)+(24)]=(2)
Sau khi tính được ( ), nút C phát( ) = 2 ⟷ (2) cho cả nút A và B.
- Pha thứ ba: Khôi phục thông tin Tại nút A: ( )=[ ( )− ( )][ ( )+1]−1 =[(2) − (012)](23) =(01)(23) = ( ) Tại nút B sẽ thực hiện phép tính: ( )=[ ( )− ( )][ ( )+1]−1 =[(2) − (24)](034) =(4)(034) = ( )