平文を暗号化します。

使用上の注意

次の表に、さまざまな種類の顧客マスターキー (CMK) の暗号化アルゴリズムとパディングモードを示します。

CMKタイプ 暗号化アルゴリズム パディングモード 説明
  • Aliyun_AES_128
  • Aliyun_AES_192
  • Aliyun_AES_256
AES_GCM (デフォルト値) N/A ガロア /カウンタモード (GCM) モードが使用される。
AES_CBC
  • PKCS7_PADDING (デフォルト値)
  • NO_PADDING
暗号ブロック連鎖 (CBC) モードが使用される。 パディングモードを設定できます。
AES_ECB 電子コードブック (ECB) モードが使用される。 パディングモードを設定できます。
Aliyun_SM4 SM4_GCM (デフォルト値) N/A GCMモードが使用されます。
  • RSA_2048
  • RSA_3072
  • RSA_4096
RSAES_OAEP_SHA_256 (デフォルト値) N/A SHA-256でSHA-256とMGF1を使用するRSAES-OAEP
EC_SM2 SM2PKE (デフォルト値) N/A 楕円曲線に基づくSM2公開鍵暗号化アルゴリズム
  • EC_P256
  • EC_P256K
ECIES_DH_SHA_1_XOR_HMAC (デフォルト値) N/A 暗号化アルゴリズムは、SEC 1: Elliptic Curve Cryptography, Version 2.0に記載されている標準に従います。
  • 主な合意プロトコル: 楕円曲線Diffie-Hellman (ECDH)
  • キー導出アルゴリズム: SHA-1を使用したキー導出関数2 (KDF2)
  • MACアルゴリズム: HMAC-SHA-1
  • 対称暗号化アルゴリズム: XOR

リクエストメッセージ定义

メッセージEncryptRequest {
     文字列KeyId = 1;
     バイトPlaintext = 2;
     文字列アルゴリズム=3;
     バイトAad = 4;
     バイトIv = 5;    
     文字列PaddingMode = 6;
}

リクエストパラメーター

パラメーター データ型 必須/任意 説明
KeyId String 必須 1234abcd-12ab-34cd-56ef-12345678 **** CMKのID。 IDはグローバルに一意である必要があります。 このパラメーターをCMKにバインドされているエイリアスに設定することもできます。
平文 バイト 必須 バイナリ平文 暗号化するプレーンテキスト。
アルゴリズム String 任意 RSAES_OAEP_SHA_256 暗号化アルゴリズム。 設定可能な値は以下のとおりです。
  • AES_GCM
  • AES_CBC
  • AES_ECB
  • SM4_GCM
  • RSAES_OAEP_SHA_256 (デフォルト値)
  • SM2PKE
  • ECIES_DH_SHA_1_XOR_HMAC
Iv バイト 任意 バイナリベクトル The initialization vector that is generated by the system when the CMK is a symmetric key.
Aad binary 任意 バイナリデータ 認証データ。

このパラメーターは、CMKが対称キーで、Algorithmパラメーターの値がAES_GCMまたはSM4_GCMに設定されている場合に指定できます。このパラメーターを指定する場合、Decrypt操作を呼び出すときにパラメーターを指定する必要があります。

PaddingMode String 任意 PKCS7_PADDING パディングモード。 設定可能な値は以下のとおりです。
  • PKCS7_PADDING: PKCS#7パディングが使用されます。 デフォルト値です。 平文の長さは、バイト単位の暗号ブロックサイズの整数倍でなくてもよい。

    入力平文の長さがLバイトである場合、システムは、K − (L mod K) バイトのパディング文字列を追加する。 各パディングストリングは、長さがK − (L mod K) バイトである。

  • NO_PADDING: パディング文字列はプレーンテキストに追加されません。 平文の長さは、暗号ブロックサイズの整数倍でなければならない。
このパラメーターは、Algorithmパラメーターの値がAES_CBCまたはAES_ECBに設定されている場合に有効です。

応答メッセージの定義

メッセージEncryptResponse {
     文字列KeyId = 1;
     バイトCiphertextBlob = 2;
     バイトIv = 3;
     文字列RequestId = 4;
     文字列アルゴリズム=5;
     文字列PaddingMode = 6;
}

レスポンスパラメーター

パラメーター データ型 説明
Iv バイト バイナリベクトル 暗号化後の初期化ベクトル。
CiphertextBlob バイト バイナリ暗号文 プライマリCMKバージョンを使用して暗号化される暗号文。
楕円曲線統合暗号化スキーム (ECIES) が使用される場合、返される暗号文は、SEC1: 楕円曲線暗号化、バージョン2.0に記載されている標準に従います。
KeyId String 1234abcd-12ab-34cd-56ef-12345678 **** CMKのID。 IDはグローバルに一意である必要があります。 KeyIdパラメーターがCMKのエイリアスに設定されている場合、エイリアスがバインドされているCMKのIDが返されます。
アルゴリズム String RSAES_OAEP_SHA_256 暗号化アルゴリズム。
PaddingMode String PKCS7_PADDING パディングモード。
RequestId String 475f1620-b9d3-4d35-b5c6-3fbdd941423d リクエストの ID です。

エラーコード

エラーコードの詳細については、「一般的なエラーコード」をご参照ください。