Enkripsi kunci simetris ada di mana-mana di dunia saat ini - menyimpan dan mengirimkan informasi, email, bahkan menonton video di YouTube. Cipher simetris yang kuat mencakup S-box yang dibentuk dengan baik. Dalam posting ini, saya akan memandu Anda melalui berbagai cara untuk membuat S-box dan membandingkannya.
1. Apa itu S-block
S-block adalah fungsi yang mengambil n bit pada input, mengubahnya sesuai dengan algoritma tertentu dan mengembalikan m bit pada output. S-box banyak digunakan di sebagian besar block cipher. Mereka dapat berbeda dalam ukuran input dan output (n dan m), dapat dihasilkan secara deterministik atau acak, dan juga dapat tidak dapat diubah (tetap) atau dihasilkan berdasarkan kunci. S-box dapat direpresentasikan sebagai tabel (seperti dalam DES) atau sebagai fungsi Boolean aljabar (seperti dalam AES). Kriteria penting saat membuat S-box adalah nonlinier dan kriteria untuk penyebaran fungsi Boolean. Untuk melihat S-box sebagai urutan fungsi Boolean, pertama-tama kita memahami bagaimana fungsi Boolean secara umum berhubungan dengan kriptografi.
2. Fungsi Boolean dalam kriptografi
Dalam sistem enkripsi tradisional, yang menerjemahkan pesan terbuka menjadi terenkripsi dengan kunci rahasia, peralatan fungsi Boolean sangat banyak digunakan. Persyaratan utama bagi mereka adalah bahwa mereka mempersulit dekripsi pesan oleh orang yang bukan penerima pesan.
Untuk menggambarkan penggunaan fungsi Boolean, kami menyajikan skema enkripsi aliran, ketika setiap karakter yang masuk segera diubah menjadi karakter ciphertext. Teks asli, kunci dan ciphertext adalah string biner dengan panjang yang sama. Dalam praktiknya, pengirim dan penerima paling sering memilih urutan pseudo-random daripada kunci dalam sandi Vernam, yang dihasilkan dari kunci rahasia pendek sesuai dengan algoritme yang disepakati. Urutan ini disebut aliran kunci atau gamma .
, (Linear Feedback Shift Register, LSFR).
. ( ) ( ). LSFR , , LSFR.
, , L. , , .
, .
3.
- 2 ( ), - .
S- :
:
, S- :
- (). .
.
( ) :
2.
, :
, () . "".
4.
, , .
, - . :
( - , - . - , . - , - . - .
( ) . , ,
-
, - , . -.
- .
5.-
- - , . - .
, -, .
- , - . , .
, , . .
6. -
6.1
- .
1.
: .
: - - 8 .
: , :
2.
: - , , - -.
: - .
:
( -) . . 4 6 . - "" (, ), .
3.
: , , - .
: - , .
: , -
- . - , -. .
6.2 -
"" - , . , , , .
, - 6 . . . - , , - .
- , . - , - . .
. , , . , , .
, .
- -, -. . . - ( ).
- , - . , , - .
. -, - . (, 6 ). -, - .
4. ( -)
:
- ( - )
, ,
:
(1.1) (1.2) , :
-
.
:
(1.1) (1.2) , :
1.1 , ,
1.2 1 .
.
.
, (3), , - -, ; (1).
, 4 . - (. - ), (4) - , , .
7. S-
S- - , , , . ,
S-, . S-.
S-, 8- .
1. S-, ,
2. S-, ,
1 2, , S-, , S- (98 100).
3. S-, ,
, S- , S- - ( 2) (. 3). , 98, S- .
4. S-, -,
S-, - (. 4). S- 112, ( , 104). 20 S- 100, S-, - .
, - S- .
, , - S- (80, ). S- (, ) S- .
8.
, S- . , , . S-, -.
. -
Anna Grocholewska-Czurylo and Janusz Stoklosa - Random Generation of S-Boxes for Block Ciphers
Meier, W., Staffelbach, O - Kriteria nonlinier untuk fungsi kriptografi
Wikipedia - S-box (ilmu komputer)
Wikipedia - S-box
Wikipedia - Fungsi bengkok