1. Pengenalan & Gambaran Keseluruhan

Dalam domain mata wang digital, rantaian blok, dan penyulitan data awan, kaedah penyulitan dan penyahsulitan berasaskan perisian tradisional menghadapi cabaran besar termasuk kelajuan pengiraan yang perlahan, penggunaan sumber hos yang tinggi, dan keperluan kuasa yang besar. Walaupun pelaksanaan Field Programmable Gate Array (FPGA) menggunakan Verilog/VHDL menawarkan pecutan perkakasan, ia mengalami kitaran pembangunan yang panjang dan kesukaran dalam penyelenggaraan dan peningkatan. Kertas kerja ini menangani batasan ini dengan mencadangkan reka bentuk pemecut FPGA novel untuk algoritma 3DES menggunakan rangka kerja OpenCL.

Reka bentuk yang dicadangkan melaksanakan struktur selari saluran paip 48-lelaran. Strategi pengoptimuman termasuk pelarasan penyimpanan data dan penambahbaikan lebar-bit data dalam modul penghantaran data untuk meningkatkan penggunaan lebar jalur teras, bersama dengan pengoptimuman aliran arahan dalam modul penyulitan algoritma untuk membentuk seni bina selari saluran paip yang cekap. Peningkatan prestasi tambahan dicapai melalui vektorisasi teras dan replikasi unit pengiraan.

111.801 Gb/s

Laluan Puncak pada Intel Stratix 10 GX2800

372x

Peningkatan prestasi berbanding CPU Intel Core i7-9700

644x

Peningkatan Kecekapan Tenaga berbanding CPU

20% & 9x

Peningkatan Prestasi & Kecekapan berbanding GPU NVIDIA GTX 1080 Ti

2. Prinsip Algoritma 3DES

Algoritma Triple Data Encryption Standard (3DES) dibina berdasarkan algoritma DES, meningkatkan keselamatan melalui tiga operasi DES berturut-turut. Walaupun DES menggunakan kunci 56-bit dan 16 lelaran, 3DES menggunakan kunci 168-bit dan 48 lelaran.

2.1 Teras Algoritma DES

Algoritma DES beroperasi pada blok teks biasa 64-bit. Fungsi terasnya, rangkaian Feistel, boleh diwakili sebagai: $L_i = R_{i-1}$ $R_i = L_{i-1} \oplus F(R_{i-1}, K_i)$ Di mana $L_i$ dan $R_i$ adalah separuh kiri dan kanan blok data dalam pusingan $i$, $K_i$ adalah kunci pusingan, dan $F$ adalah fungsi pusingan yang melibatkan pengembangan, penggantian S-box, dan pilih atur.

2.2 Struktur Algoritma 3DES

3DES menggunakan DES tiga kali dengan sama ada dua atau tiga kunci bebas (mod EDE): $Ciphertext = E_{K3}(D_{K2}(E_{K1}(Plaintext)))$. Struktur ini meningkatkan ketahanan terhadap serangan brute-force dengan ketara berbanding DES tunggal.

3. Reka Bentuk Pemecut FPGA Berasaskan OpenCL

Pemecut ini memanfaatkan model pengkomputeran heterogen OpenCL, membolehkan program teras dikompilasi dan dilaksanakan pada peranti FPGA. Pendekatan ini merapatkan jurang antara fleksibiliti perisian dan prestasi perkakasan.

3.1 Seni Bina Sistem

Seni bina terdiri daripada hos (CPU) yang mengurus aliran kawalan dan pemindahan data, dan peranti (FPGA) yang melaksanakan teras 3DES intensif pengiraan. Teras FPGA direka dengan struktur saluran paip yang mendalam untuk memproses berbilang blok data secara serentak.

3.2 Strategi Pengoptimuman Utama

  • Pelarasan Penyimpanan Data: Mengoptimumkan corak akses memori untuk mengurangkan kependaman dan meningkatkan penggunaan lebar jalur.
  • Penambahbaikan Lebar-bit Data: Memproses kata data yang lebih luas setiap kitaran untuk meningkatkan laluan.
  • Pengoptimuman Aliran Arahan: Menyusun semula dan memudahkan operasi untuk memaksimumkan kecekapan saluran paip dan meminimumkan genangan.
  • Vektorisasi Teras: Menggunakan operasi Single Instruction, Multiple Data (SIMD) dalam fabrik FPGA.
  • Replikasi Unit Pengiraan: Menginstantkan berbilang unit pengiraan selari untuk memproses aliran data bebas.

3.3 Struktur Selari Saluran Paip

Teras reka bentuk ini adalah saluran paip 48-peringkat yang sepadan dengan 48 lelaran 3DES. Setiap peringkat diseimbangkan dengan teliti untuk memastikan frekuensi jam yang tinggi dan penggunaan penuh saluran paip, menyembunyikan kependaman operasi individu.

4. Butiran Pelaksanaan Teknikal

4.1 Modul Penghantaran Data

Modul ini mengendalikan pergerakan data antara memori hos dan memori global FPGA. Strategi seperti pemindahan letupan dan akses memori sejajar digunakan untuk mencapai lebar jalur teori hampir puncak. Penggunaan antara muka AXI yang lebih luas (contohnya, 512-bit) adalah faktor utama dalam meningkatkan lebar jalur berkesan.

4.2 Modul Penyulitan Algoritma

Modul ini melaksanakan pusingan Feistel 3DES. S-box, yang secara tradisional dilaksanakan sebagai jadual carian (LUT), dioptimumkan untuk elemen logik FPGA. Operasi pilih atur dan pengembangan diwayar keras ke dalam laluan data.

4.3 Formulasi Matematik

Jumlah laluan $T$ pemecut boleh dimodelkan sebagai: $T = f_{clk} \times W \times N_{CU} \times \eta$ Di mana $f_{clk}$ adalah frekuensi operasi, $W$ adalah lebar-bit yang diproses setiap kitaran, $N_{CU}$ adalah bilangan unit pengiraan, dan $\eta$ adalah faktor kecekapan saluran paip (hampir 1 untuk reka bentuk yang seimbang).

5. Keputusan Eksperimen & Analisis Prestasi

5.1 Metrik Prestasi

Pemecut ini dilaksanakan pada FPGA Intel Stratix 10 GX2800. Keputusan utama adalah:

  • Laluan: 111.801 Gb/s
  • Kependaman: [Nilai kependaman akan diperoleh daripada kedalaman saluran paip dan frekuensi jam].
  • Penggunaan Kuasa: [Penggunaan kuasa FPGA biasanya jauh lebih rendah berbanding GPU prestasi setara].

5.2 Analisis Perbandingan

vs. CPU (Intel Core i7-9700): Pemecut FPGA menunjukkan peningkatan prestasi 372x dan peningkatan kecekapan tenaga yang menakjubkan sebanyak 644x (Prestasi/Watt). Ini menyerlahkan keunggulan FPGA untuk teras intensif pengiraan yang tetap.

vs. GPU (NVIDIA GeForce GTX 1080 Ti): FPGA mencapai laluan 20% lebih tinggi dan kecekapan tenaga 9x lebih baik. Walaupun GPU cemerlang dalam keselarian besar-besaran pada data biasa, FPGA boleh mencapai kecekapan lebih tinggi pada operasi peringkat-bit dan saluran paip tersuai, seperti yang dilihat dalam algoritma kriptografi.

5.3 Penggunaan Sumber

Reka bentuk ini menggunakan sumber FPGA dengan cekap. Metrik utama termasuk:

  • Penggunaan ALM (Adaptive Logic Module): [Peratusan]
  • Penggunaan Blok DSP: [Kemungkinan rendah untuk 3DES]
  • Penggunaan Blok Memori (M20K): [Untuk S-box dan penimbal]
Penggunaan sumber kekal dalam kapasiti peranti Stratix 10, membolehkan penskalaan atau integrasi berpotensi dengan fungsi lain.

6. Kerangka Analisis & Kajian Kes

Kerangka untuk Menilai Pemecut Kripto Perkakasan:

  1. Kesesuaian Algoritma: Adakah algoritma mempunyai keselarian semula jadi (contohnya, mod cipher blok seperti ECB, CTR)? 3DES dalam mod ECB sangat boleh diselaraskan.
  2. Pemilihan Platform: Bandingkan ASIC (prestasi/kuasa tertinggi, tiada fleksibiliti), FPGA (prestasi/kuasa tinggi, sedikit fleksibiliti), GPU (laluan tinggi pada kelompok besar, kuasa tinggi), dan CPU (fleksibiliti, prestasi lebih rendah).
  3. Metrik Pelaksanaan: Nilai Laluan (Gb/s), Kependaman (kitaran), Kuasa (W), Tenaga per Bit (J/bit), dan Penggunaan Sumber (Logik, Memori, DSP).
  4. Usaha Pembangunan: Pertimbangkan masa-ke-penyelesaian menggunakan HDL (panjang) vs. HLS/OpenCL (lebih pendek).

Kajian Kes - Gerbang Penyulitan Data Awan: Bayangkan perkhidmatan penyimpanan awan selamat yang menyulitkan semua data pada rehat menggunakan 3DES. Penyelesaian perisian sahaja pada pelayan Xeon mungkin menjadi penghalang. Dengan mengalihkan penyulitan 3DES ke kad pemecut FPGA (seperti Intel PAC dengan Stratix 10), perkhidmatan boleh mencapai jumlah laluan keseluruhan yang lebih tinggi, kependaman lebih rendah untuk permintaan individu disebabkan saluran paip perkakasan, dan mengurangkan penggunaan kuasa pelayan dan beban CPU, membebaskan sumber untuk tugas lain.

7. Aplikasi Masa Depan & Hala Tuju Pembangunan

  • Kriptografi Pasca-Kuantum (PQC): Metodologi OpenCL-ke-FPGA sangat relevan untuk mempercepatkan algoritma PQC baru yang intensif pengiraan (contohnya, berasaskan kekisi, berasaskan kod) yang sedang distandardkan oleh NIST.
  • Penyulitan Rangkaian Sebaris: Integrasi pemecut sedemikian ke dalam SmartNIC atau suis rangkaian untuk penyulitan kadar talian pada 100Gb/s dan ke atas.
  • Pemecut Tangkas Berbilang-Algoritma: Membangunkan teras FPGA yang boleh dikonfigurasi semula secara dinamik yang boleh bertukar antara AES, 3DES, ChaCha20, dan algoritma PQC berdasarkan permintaan beban kerja.
  • Keselamatan Dipertingkatkan: Melaksanakan versi algoritma yang tahan serangan saluran sisi (contohnya, dengan penyamaran atau penyembunyian) secara langsung dalam perkakasan.
  • Kematangan Rantaian Alat: Penambahbaikan berterusan dalam penyusun OpenCL untuk FPGA (seperti oneAPI Intel) akan mengurangkan lagi jurang prestasi antara HLS dan HDL dikod tangan, menjadikan pendekatan ini boleh diakses oleh lebih ramai pembangun.

8. Rujukan

  1. K. I. Wong, M. S. B. A. Halim, et al. "A Survey on FPGA-Based Cryptosystems." IEEE Access, 2019.
  2. National Institute of Standards and Technology (NIST). "Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher." SP 800-67 Rev. 2, 2017.
  3. Khronos Group. "The OpenCL Specification." Version 3.0, 2020. [Online]. Available: https://www.khronos.org/registry/OpenCL/
  4. J. Zhu, V. K. Prasanna. "High-Performance and Energy-Efficient Implementation of MD5 on FPGAs using OpenCL." FPL, 2017.
  5. Intel Corporation. "Intel FPGA SDK for OpenCL." [Online]. Available: Intel FPGA SDK for OpenCL
  6. Xilinx. "Vitis Unified Software Platform." [Online]. Available: Xilinx Vitis Platform
  7. W. Jiang, G. R. G. et al. "A Comparative Study of High-Level Synthesis and OpenCL for FPGA-Based Accelerators." TRETS, 2021.
  8. J. Zhu, V. K. Prasanna. "High Performance and Energy Efficient Implementation of AES on FPGAs using OpenCL." FCCM, 2018.

9. Analisis Asal & Ulasan Pakar

Teras Wawasan

Kertas kerja ini bukan sekadar tentang menjadikan 3DES pantas; ia adalah pelan strategik untuk mendapatkan semula kecekapan dalam era pasca-Hukum Moore. Walaupun industri telah terhipnotis oleh FLOPs mentah GPU untuk pecutan, penulis memberikan peringatan yang jelas: untuk teras tertentu yang ditakrifkan dengan baik seperti primitif kriptografi, kebolehprograman peringkat-bit yang deterministik FPGA boleh mengatasi seni bina tujuan umum dan lapar kuasa CPU dan GPU. Peningkatan kecekapan tenaga 644x berbanding CPU moden bukanlah peningkatan tambahan—ia adalah anjakan paradigma untuk pengendali pusat data di mana kuasa adalah pusat kos utama. Kerja ini selari dengan trend yang lebih luas yang diperhatikan dalam hyperscaler seperti Microsoft dan Amazon, yang menggunakan FPGA (dan kini ASIC) pada skala untuk tugas seperti penghayatan rangkaian dan transkod video, mengutamakan prestasi-per-watt berbanding laluan teori puncak.

Aliran Logik

Logik penulis adalah menarik dan metodikal. Mereka mengenal pasti masalah dwi dengan betul: perisian terlalu perlahan dan tidak cekap, manakala pembangunan FPGA berasaskan HDL tradisional terlalu perlahan dan kaku. Penyelesaian mereka, menggunakan OpenCL sebagai alat High-Level Synthesis (HLS), menyerang kedua-dua bahagian dengan elegan. Strategi pengoptimuman mengikuti hierarki yang jelas: pertama, pastikan data boleh mengalir ke unit pengiraan dengan cekap (penyimpanan data, lebar-bit). Kedua, pastikan unit pengiraan itu sendiri digunakan secara maksimum (pengoptimuman arahan, saluran paip). Akhirnya, skala keluar (vektorisasi, replikasi). Ini mencerminkan proses pengoptimuman untuk teras GPU tetapi digunakan pada fabrik di mana "teras" dibina khas untuk tugas yang tepat. Perbandingan dengan GTX 1080 Ti amat bermakna—ia menunjukkan bahawa walaupun terhadap pemproses yang sangat selari, laluan data tersuai pada FPGA boleh menang pada kedua-dua prestasi dan, secara muktamad, kecekapan.

Kekuatan & Kelemahan

Kekuatan: Keputusan prestasi dan kecekapan adalah luar biasa dan diukur dengan teliti. Penggunaan OpenCL menyediakan kebolehcapaian pembangun yang penting dan pembuktian masa depan, seperti yang dinyatakan dalam spesifikasi Khronos OpenCL yang membolehkan kebolehportingan merentasi vendor. Fokus pada 3DES, piawaian warisan tetapi masih digunakan secara meluas (contohnya, dalam sistem kewangan), menangani keperluan dunia sebenar untuk pemodenan dan bukan sekadar latihan akademik semata-mata.

Kelemahan & Jurang Kritikal: Kelemahan kertas kerja ini adalah skopnya yang sempit. 3DES sedang dihentikan secara berperingkat memihak kepada AES-256 untuk sistem baharu, mengikut garis panduan NIST. Kerja ini akan jauh lebih memberi impak jika ia menunjukkan ketangkasan pendekatan OpenCL dengan juga melaksanakan AES atau calon pasca-kuantum, menunjukkan nilai rangka kerja di luar satu algoritma. Tambahan pula, analisis kekurangan perbincangan mengenai kerentanan saluran sisi. Pelaksanaan perkakasan, terutamanya yang bertujuan untuk laluan tinggi, boleh terdedah kepada serangan analisis masa atau kuasa. Mengabaikan dimensi keselamatan ini adalah pengawasan yang besar untuk kertas kerja kriptografi. Kerja penyelidik seperti Mangard et al. mengenai rintangan saluran sisi perkakasan adalah konteks penting yang tiada di sini.

Wawasan Boleh Tindak

Untuk Pengurus Produk dalam syarikat awan atau perkakasan keselamatan: Penyelidikan ini adalah bukti-konsep untuk menggunakan kad pemecut berasaskan FPGA untuk mengalihkan beban kerja kriptografi (penamatan TLS, penyulitan penyimpanan). Penjimatan tenaga sahaja membenarkan projek perintis. Untuk Arkitek Keselamatan: Tolak vendor anda. Tuntut agar pemecut perkakasan, sama ada FPGA atau ASIC, termasuk reka bentuk tahan saluran sisi sebagai ciri standard, bukan pemikiran selepas itu. Untuk Penyelidik & Pembangun: Jangan berhenti pada 3DES. Gunakan metodologi OpenCL ini sebagai asas. Langkah kritikal seterusnya adalah membina perpustakaan teras OpenCL sumber terbuka, dioptimumkan, dan tahan saluran sisi untuk satu set algoritma (AES-GCM, ChaCha20-Poly1305, SHA-3, Kyber, Dilithium). Komuniti memerlukan blok binaan yang boleh alih, cekap, dan selamat, bukan sekadar demonstrasi satu kali. Kematangan rantaian alat yang diserlahkan oleh oneAPI Intel dan Xilinx Vitis akhirnya menjadikan ini boleh dilaksanakan. Perlumbaan ini bukan hanya untuk kelajuan; ia adalah untuk pecutan yang selamat, cekap, dan boleh disesuaikan.