

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Clean Rooms용 암호화 컴퓨팅의 열 유형
<a name="crypto-computing-column-types"></a>

이 항목에서는 Clean Rooms용 암호화 컴퓨팅의 열 유형에 대한 정보를 제공합니다.

**Topics**
+ [Fingerprint 열](#fingerprint-columns)
+ [밀폐형 열](#sealed-columns)
+ [Cleartext 열](#cleartext-columns)

## Fingerprint 열
<a name="fingerprint-columns"></a>

Fingerprint 열은 JOIN 명령문에 사용할 수 있도록 암호로 보호되는 열입니다.**

fingerprint 열의 데이터는 해독할 수 없습니다. 봉인된 열의 데이터만 해독할 수 있습니다.

Fingerprint 열은 다음 SQL 절 및 함수에서만 사용해야 합니다.
+ JOIN (INNER, OUTER, LEFT, RIGHT, or FULL)을 다른 fingerprint 열과 대조합니다.
  + `allowJoinsOnColumnsWithDifferentNames` 매개 변수 값이 `false`로 설정된 경우 JOIN의 두 fingerprint 열 모두 이름이 같아야 합니다.
+ `SELECT COUNT()`
+ `SELECT COUNT(DISTINCT )`
+ `GROUP BY`(공동 작업에서 `preserveNulls` 파라미터 값을 `true`(으)로 설정한 경우에만 사용)

이러한 제약조건을 위반하는 쿼리는 잘못된 결과를 초래할 수 있습니다.

## 밀폐형 열
<a name="sealed-columns"></a>

*봉인된 열*은 SELECT 명령문에 사용할 수 있도록 암호로 보호되는 열입니다.

봉인된 열은 다음 SQL 절 및 함수에서만 사용해야 합니다.
+ `SELECT`
+ `SELECT ... AS`
+ `SELECT COUNT()`
**참고**  
`SELECT COUNT(DISTINCT )`는 지원되지 않습니다.

이러한 제약 조건을 위반하는 쿼리는 잘못된 결과를 초래할 수 있습니다.

### 암호화 전에 sealed 열의 데이터 패딩
<a name="padding-data"></a>

하나의 열을 sealed 열로 지정하면 C3R은 어떤 종류의 패딩을 선택할지 묻습니다.** 암호화 전에 데이터 패딩은 선택 사항입니다. 패딩이 없는 경우(패드 유형`none`), 암호화된 데이터의 길이는 cleartext의 크기를 나타냅니다. 경우에 따라 cleartext의 크기로 인해 일반 텍스트가 노출될 수 있습니다. 패딩(패드 유형이 `fixed` 또는`max`인 경우)을 사용하면 모든 값이 먼저 공통 크기로 채워진 다음 암호화됩니다. 패딩을 사용하면 암호화된 데이터의 길이에 따라 데이터 크기에 상한이 주어지는 것 외에는 원래 cleartext 길이에 대한 정보가 제공되지 않습니다.

열에 패딩을 적용하고 해당 열에 있는 데이터의 최대 바이트 길이를 알고 있는 경우 `fixed` 패딩을 사용합니다. 적어도 `length` 열에 있는 가장 긴 값의 바이트 길이만큼 큰 값을 사용합니다.

**참고**  
값이 제공된 `length`보다 길면 오류가 발생하고 암호화에 실패합니다.

열에 패딩을 적용하고 해당 열에 있는 데이터의 최대 바이트 길이를 알 수 없는 경우 `max` 패딩을 사용합니다. 이 패딩 모드는 모든 데이터를 가장 긴 값에 추가 `length` 바이트를 더한 길이로 채웁니다.

**참고**  
데이터를 일괄적으로 암호화하거나 정기적으로 새 데이터로 테이블을 업데이트하는 것이 좋습니다. `max`패딩은 주어진 배치에서 가장 긴 일반 텍스트 항목의 길이 (`length`바이트를 더한 값) 로 항목을 채우게 된다는 점에 유의하세요. 즉, 사이퍼텍스트 길이는 배치마다 다를 수 있습니다. 따라서 열의 최대 바이트 길이를 알고 있는 경우에는 `max` 대신 `fixed`를 사용해야 합니다.

## Cleartext 열
<a name="cleartext-columns"></a>

*Cleartext 열*은 JOIN 또는 SELECT 문에서 사용할 때 암호로 보호되지 않는 열입니다.

Cleartext 열은 SQL 쿼리의 어느 부분에서나 사용할 수 있습니다.