為Delphi編寫的五個示例應用提供了與AES,與RSA和Hybrid加密的非對稱加密對稱加密的介紹,作為加密算法以及符號和符號和驗證的組合。使用Winapi.winrt和Winapi.security.Cryptography庫以自Delphi 10 Seattle Seattle提供的所有代碼,使用純delphi。無需其他第三方庫。此代碼僅在Windows上運行,因此使用VCL。
第一個示例應用程序演示了使用不對稱加密來獲取小消息有多容易。為此,應用程序提供了RSA算法的不同變體。還可以選擇關鍵長度。最大消息長度受密鑰長度的限制。

第二個示例應用程序演示了使用對稱加密以獲取更長的真實消息是多麼容易。為此,應用程序提供了AES算法的不同變體。還可以選擇關鍵長度。對於CBC塊加密,需要一個額外的初始向量,必須為每個加密重新審議。消息長度必須是塊長度的倍數。為此,需要填充消息。 PKCS7填充算法比使用恆定字符作為填充物更安全。

第三個示例應用程序演示瞭如何使用此消息的接收器的公共密鑰加密消息。接收器的適當私鑰用於後續解密。通過每個加密,將生成一個新的會話密鑰,以對稱地加密整個消息。只有該會話密鑰才能通過不對稱算法進行加密和解密。

第四個示例應用程序通過允許多個收件人解密來擴展先前的示例應用程序。
對於幾個收件人,會話密鑰通過其公共鍵不對稱地加密並附加到消息上。

Fiveth示例應用程序通過將發送方簽名添加到消息中擴展了先前的示例應用程序。解密時,使用此簽名來檢查發件人是否使用我知道的公鑰創建的消息。

為Delphi 12.0 Athena開發並準備了樣本項目。
Delphi是Embarcadero Technologies,Inc。的註冊商標。
克里斯托夫·施耐德(Christoph Schneider)
Schneider Infosystems Ltd
2023年11月