Lima aplikasi sampel yang ditulis untuk Delphi memberikan pengantar enkripsi simetris dengan AE, enkripsi asimetris dengan RSA dan enkripsi hibrida sebagai kombinasi dari kedua algoritma enkripsi dan tanda dan verifikasi. Semua kode berdasarkan Delphi murni menggunakan Winapi.winrt dan Winapi.security.cryptography Library dikirimkan sejak Delphi 10 Seattle. Tidak diperlukan perpustakaan pihak ke-3 tambahan. Kode ini hanya berjalan pada Windows dan karenanya menggunakan VCL.
Aplikasi sampel pertama ini menunjukkan betapa mudahnya menggunakan enkripsi asimetris untuk pesan kecil. Untuk tujuan ini, aplikasi ini memberikan berbagai varian algoritma RSA. Panjang kunci juga dapat dipilih. Panjang pesan maksimum dibatasi oleh panjang kunci.

Aplikasi sampel kedua ini menunjukkan betapa mudahnya menggunakan enkripsi simetris untuk pesan nyata yang lebih lama. Untuk tujuan ini, aplikasi memberikan varian yang berbeda dari algoritma AES. Panjang kunci juga dapat dipilih. Untuk enkripsi blok CBC, diperlukan vektor awal tambahan, yang harus diselenggarakan kembali untuk setiap enkripsi. Panjang pesan harus kelipatan panjang blok. Untuk melakukan ini, pesan harus di -empuk. Algoritma padding PKCS7 membuat ini lebih aman daripada menggunakan karakter konstan sebagai pengisi.

Aplikasi sampel ketiga ini menunjukkan cara mengenkripsi pesan dengan kunci publik penerima pesan ini. Kunci pribadi penerima yang sesuai digunakan untuk dekripsi berikutnya. Dengan setiap enkripsi, kunci sesi baru dihasilkan untuk mengenkripsi seluruh pesan secara simetris. Hanya kunci sesi ini yang dienkripsi dan didekripsi oleh algoritma asimetris.

Aplikasi sampel keempat memperluas aplikasi sampel sebelumnya dengan memungkinkan dekripsi oleh lebih dari satu penerima.
Untuk beberapa penerima, kunci sesi dienkripsi secara asimetris dengan kunci publik mereka dan ditambahkan ke pesan.

Aplikasi sampel FIVETH memperluas aplikasi sampel sebelumnya dengan menambahkan tanda tangan pengirim ke pesan. Saat mendekripsi, tanda tangan ini digunakan untuk memeriksa apakah pesan tersebut dibuat oleh pengirim dengan kunci publik yang dikenal saya.

Proyek sampel dikembangkan dan disiapkan untuk Delphi 12.0 Athena.
Delphi adalah merek dagang terdaftar dari Embarcadero Technologies, Inc.
Christoph Schneider
Schneider Infosystems Ltd
November 2023