database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9625 게시물 읽기
No. 9625
aes 256 암호화 문의드립니다.
작성자
정성헌(zedite)
작성일
2016-01-17 19:33
조회수
11,236

컬럼의 값을 aes 256 으로 암호화, 복호화 하는 방법을 알고 싶습니다.

 

구글링을 해보니

 

encrypt( 'data', 'key', 'aes')

 

pgp_sym_encrypt('avalue', 'apasswordwithsomeentropy'

,'compress-algo=1, cipher-algo=aes256')

 

정도를 사용할 수 있는 것 같은데 영어가 짧아 어떻게 다른지, 어떤게 맞는지 정확히 알 수 없습니다.

 

encrypt 를 사용할 수 있다면 aes 128, 256 을 어떻지 지정하는지도 알려 주시면 감사하겠습니다.

 

예문을 들어 설명해주시면 감하겠습니다. 그럼 많은 도움 부탁드립니다.

이 글에 대한 댓글이 총 2건 있습니다.

aes128, aes256 구분은 그 키의 길이를 얼마로 할래입니다.

암호화하는 알고리즘은 모두 aes 이고요.

 

통상 공개키 암호화, 개인키 복호화 하는 이중키 방식이 아닌 암복호화는 encrypt, decrypt 함수를 사용하면 되고요. (pgcrypto 확장모듈을 설치해서 사용하면 되죠)

 

이런 방식이 아닌, 보다 엄격한 이중키 방식은 리눅스에서 일반적으로 쓰는 pgp 방식을 사용합니다. 이때는 pgp_... 함수들을 사용합니다.

 

일반적으로 응용프로그램에 어떤 자료의 암복화는 encrypt, decrypt 함수만으로 충분하고요.

 

보안팀쪽에서 aes256 이상 암호화를 하라는 소리는

암호화 알고리즘을  aes로 하고, 그 사용하는 key를 32byte로 하라는 소리입니다.

 

즉,

select convert_from(decrypt(encrypt('평문', digest('암호키', 'sha256'), 'aes'), digest('암호키', 'sha256'), 'aes'), 'utf8');

 

구문으로 충분합니다.

 

postgresql의 encrypt, decrypt 함수는 기본 0x00 집합으로 초기값(iv)를 쓰기 때문에, 좀 더 엄격한 암호화를 원한다면, encrypt_iv, decrypt_iv 함수를 사용하고, 그곳의 iv 값을 독자적으로 지정하는 방법도 있기는 하겠죠.

여튼 위 digest(.... 'sha1' 또는 'md5' ) 형태라면, 흔히 말하는 aes128 암호화를 하고,

ᆫsha256 으로 하면, aes256 암호화를 사용하는 식이 됩니다.

 

 

김상기(ioseph)님이 2016-01-18 13:34에 작성한 댓글입니다.

자세하고 명쾌한 답변 대단히 감사합니다. 많은 도움이 되었습니다.

정성헌(zedite)님이 2016-01-21 22:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9628질문드립니다. [1]
황일기
2016-01-25
7529
9627text and character varying 의 차이 [1]
초보
2016-01-22
7848
9626distributed table. [3]
초로기
2016-01-19
8087
9625aes 256 암호화 문의드립니다. [2]
정성헌
2016-01-17
11236
9624트리거확인어떻게해야할까요? [1]
김원진
2016-01-11
8802
9622postgre의 중국어(간체) 인식에 대해 질문이 있습니다 [4]
장승우
2016-01-08
9473
9621대용량 데이터 Group by 튜닝법 질문드립니다. [2]
최대호
2015-12-30
8186
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다