--- title: "Decrypt" slug: "security-kms2-token-decrypt" updated: 2026-09-17T09:16:56Z published: 2026-09-17T09:16:56Z canonical: "api.ncloud-docs.com/security-kms2-token-decrypt" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Decrypt Classic/VPC 환경에서 이용 가능합니다. 키로 암호화된 암호문을 복호화합니다. AES256 또는 RSA2048 키 타입으로만 요청할 수 있습니다. 주의 마스터 키로 암호화되어 반환되는 데이터는 `KMS prefix + 암호문`으로 구성되어 있습니다. KMS prefix는 `ncpkms:버전정보`로 구성되어 있으며, 복호화 요청 시에 지정된 키 버전으로 복호화되기 때문에 암호문과 함께 KMS prefix가 정확하게 명시되어야 합니다. KMS prefix가 올바르지 않으면 정확하게 복호화되지 않으므로 임의 제거 또는 조작 없이 반환된 암호화 형태 그대로 관리해 주십시오. ``` ncpkms:v1:XjsPWPjqPrBi1N2DupSiSbX/ATkGmKA ---------- ------------------------------- KMS prefix 암호문 ``` ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /kms/v1/keys/{keyTag}/decrypt | ### 요청 헤더 Key Management Service API에서 공통으로 사용하는 헤더에 대한 정보는 [Key Management Service 요청 헤더](/docs/security-kms#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%942%ED%86%A0%ED%81%B0%EC%9D%B8%EC%A6%9D)에서 토큰 인증 방식을 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `keyTag` | String | Required | 키 태그 - 키 이름에서 파생된 키의 고유 식별자 - [Get Key List](/docs/security-kms2-key-list) 참조 - REST API로 암호화 또는 복호화 요청 시 사용 - 키 태그는 기밀 정보로 취급되지 않음 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `ciphertext` | String 또는 Array[String] | Required | 평문을 암호화하여 생성된 문자열 | | `context` | String | Conditional | Base64로 인코딩된 문자열 데이터 - 수렴 암호화(convergent encryption)가 적용된 키로 데이터를 암호화할 때 사용한 `context` 파라미터 값 필수 입력 | ### 요청 예시 요청 예시는 다음과 같습니다. - `ciphertext`를 String 타입으로 요청 ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/decrypt' \ --header 'x-ncp-ocapi-token: {Access Token}' \ --data '{ "ciphertext": "{CIPHERTEXT}", "context": "{BASE64_CONTEXT}" }' ``` - `ciphertext`를 Array[String] 타입으로 요청 ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/decrypt' \ --header 'x-ncp-ocapi-token: {Access Token}' \ --data '{ "ciphertext": ["{CIPHERTEXT_1}", "{CIPHERTEXT_2}", "{CIPHERTEXT_3}"], "context": "{BASE64_CONTEXT}" }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `code` | String | - | 성공 여부 | | `data` | Object | - | 응답 결과 | | `data.plaintext` | String 또는 Array[String] | - | 복호화된 문자열 데이터 - 암호화 전의 Base64로 인코딩된 문자열 데이터 | ### 응답 상태 코드 Key Management Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Key Management Service 응답 상태 코드](/docs/security-kms#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C2)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. - `ciphertext`를 String 타입으로 요청 ``` { "code": "SUCCESS", "data": { "plaintext": "{BASE64_PLAINTEXT}" } } ``` - `ciphertext`를 Array[String] 타입으로 요청 ``` { "code": "SUCCESS", "data": { "plaintext": [ "{BASE64_PLAINTEXT_1}", "{BASE64_PLAINTEXT_2}", "{BASE64_PLAINTEXT_3}" ] } } ``` ### RSA2048 공개 키로 암호화한 데이터 복호화 RSA2048의 경우, NCP KMS API를 호출하지 않고 공개 키로 직접 암호화한 데이터도 [Encrypt](/docs/security-kms2-token-encrypt#%EC%95%94%ED%98%B8%ED%99%94%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0)에 명시된 조건과 동일하게 암호화했다면 이 API로 복호화할 수 있습니다. 복호화를 요청할 때는 RSA 암호문을 Base64로 인코딩한 뒤 KMS 암호문 식별 접두사를 붙여 `ciphertext`로 전달해야 합니다. ``` ncpkms:v{키 버전}:{Base64(RSA 암호문)} ``` 공개 키 조회와 암호화 예시는 [Get Public Key](/docs/security-kms2-token-public-key#%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%A1%9C%EC%95%94%ED%98%B8%ED%99%94)를 참조해 주십시오. 참고 Decrypt는 암호화 시 사용된 파라미터로 KMS가 복호화하므로 별도의 알고리즘 파라미터를 지정할 필요가 없습니다. 공개 키로 직접 암호화한 데이터를 복호화하려는 경우에는 파라미터를 동일하게 맞춰야 하며, 자세한 내용은 [Encrypt](/docs/security-kms2-token-encrypt#%EC%95%94%ED%98%B8%ED%99%94%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0)의 암호화 파라미터를 참조해 주십시오.