$E_K$ は秘密鍵Kの暗号化関数です。数学的な関数ですが、例えばオープンソースの tiny-AES-c (https://github.com/kokke/tiny-AES-c) であれば、以下のようになります。 ($E_K$ はAESである必要はありませんが、ここではAESを想定します) // aes.h void AES_init_ctx(struct AES_ctx* ctx, const uint8_t* key); void AES_ECB_encrypt(const struct AES_ctx* ctx, uint8_t* buf); struct AES_ctx ctx; void E_K(unsigned char *K, unsigned char *M) { AES_init_ctx(&ctx, K); AES_ECB_encrypt(&ctx, M); } GCM