본 발명은 (a) 평문 구간을 임의의 크기로 확장하여 암호문 구간을 정하고, 상기 평문과 상기 암호문을 동일 크기의 구간들로 분할하는 단계; (b) 상기 각 평문 분할 구간을 순서대로 각각 임의 개의 암호문 분할 구간에 대응(mapping)시켜, 암호화 키를 생성하는 단계; (c) 상기 암호화 키를 사용하여 상기 데이터베이스에 저장할 평문 데이터를 암호화하는 단계; 및 (d) 상기 암호화 키를 사용하여 상기 데이터베이스에서 추출된 암호문 데이터를 상기 암호화 단계의 역변환을 수행하여 복호화하는 단계;를 포함하되, 상기 (a) 단계는 기설정된 안전성 수준에 따라 상기 평문 구간의 크기, 상기 암호문 구간의 크기, 및 상기 분할 구간의 크기를 결정하는 것이며, 상기 (b) 단계에서 상기 암호화 키는 상기 암호문의 분할 지점들 중에서 상기 평문의 분할 구간의 개수보다 하나 적은 수 만큼을 임의로 중복되지 않게 선택해서 오름차순으로 정렬한 것이고, 상기 (c) 단계에서 상기 암호화는 상기 평문 데이터가 속하는 평문 분할 구간에 대응되는 암호문 분할 구간 내에서 상기 평문 데이터에 대응되는 값을 찾음으로써 상기 암호문 데이터를 산출하는 것이며, 상기 (d) 단계에서 상기 복호화는 상기 암호문 데이터가 속하는 암호문 분할 구간에 대응되는 평문 분할 구간 내에서 상기 암호문 데이터에 대응되는 값을 찾음으로써 상...(이하생략)
|