지원되는 버전:현재 (18) / 17 / 16 / 15 / 14 / 13
개발 버전:개발
지원되지 않는 버전:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.25. pg윈 토토o

pg윈 토토o모듈은 다음을 제공합니다. 암호화 기능포스트그레SQL.

F.25.1. 일반 해싱 함수

F.25.1.1.다이제스트()

digest(데이터 텍스트, 유형 텍스트)는 bytea를 반환합니다.
다이제스트(데이터 바이트, 텍스트 유형)는 바이트를 반환합니다.

주어진 바이너리 해시를 계산합니다데이터. 유형이것은 사용할 알고리즘. 표준 알고리즘은 다음과 같습니다.md5, 샤1, 샤224, 샤256, sha384그리고샤512. 만일pg윈 토토oOpenSSL로 구축되었습니다. 자세한 내용은 알고리즘을 사용할 수 있습니다.표 F-20.

다이제스트를 16진수 문자열로 원하면 다음을 사용하세요.인코드()결과에 대해. 예를 들면:

함수 생성 또는 교체 sha1(bytea)는 텍스트를 $$로 반환합니다.
    SELECT 인코딩(다이제스트($1, 'sha1'), '16진수')
$$ LANGUAGE SQL STRICT 불변;

F.25.1.2.hmac()

hmac(데이터 텍스트, 키 텍스트, 유형 텍스트)는 bytea를 반환합니다.
hmac(data bytea, key bytea, type text)는 bytea를 반환합니다.

해싱된 MAC 계산데이터와 함께 키. 유형과 동일다이제스트().

이것은 다음과 유사합니다.다이제스트()하지만 해시는 키를 알아야만 다시 계산할 수 있습니다. 이는 방지합니다 누군가가 데이터를 변경하고 해시도 다음과 같이 변경하는 시나리오 일치합니다.

키가 해시 블록 크기보다 크면 먼저 해시되고 그 결과가 키로 사용됩니다.

F.25.2. 비밀번호 해싱 함수

함수암호()그리고gen_salt()특별히 설계되었습니다. 해싱 비밀번호의 경우.암호()그렇습니다 해싱 및gen_salt()준비 이에 대한 알고리즘 매개변수입니다.

알고리즘암호()다르다 다음의 일반적인 MD5 또는 SHA1 해싱 알고리즘에서 존경합니다:

  1. 그들은 느립니다. 데이터의 양이 너무 적기 때문에 이렇습니다. 무차별 암호 대입을 어렵게 만드는 유일한 방법입니다.

  2. 그들은 임의의 값을 사용합니다.소금, 동일한 비밀번호를 가진 사용자는 암호화된 비밀번호가 다릅니다. 이것도 추가로 알고리즘 반전에 대한 방어.

  3. 결과에 알고리즘 유형이 포함되므로 비밀번호는 서로 다른 알고리즘으로 해시된 해시는 공존할 수 있습니다.

  4. 그들 중 일부는 적응력이 있습니다. 즉, 컴퓨터가 더 빠르게, 당신은 알고리즘을 더 느리게 조정할 수 있습니다. 기존 비밀번호와의 비호환성을 소개합니다.

표 F-17다음에서 지원하는 알고리즘을 나열합니다.암호()함수.

표 F-17. 에 대해 지원되는 알고리즘암호()

알고리즘 최대 비밀번호 길이 적응적? 솔트 비트 출력 길이 설명
bf 72 128 60 복어 기반, 변종 2a
md5 무제한 아니요 48 34 MD5 기반 암호화
xdes 8 24 20 확장 DES
데스 8 아니요 12 13 원래 UNIX 암호

F.25.2.1.암호()

윈 토토(비밀번호 텍스트, 솔트 텍스트)는 텍스트를 반환합니다.

윈 토토(3) 스타일 해시를 계산합니다.비밀번호. 새 비밀번호를 저장할 때 다음을 수행해야 합니다. 사용gen_salt()새로운 생성을 위해소금값. 비밀번호를 확인하려면 pass 저장된 해시 값은 다음과 같습니다.소금및 테스트 결과가 저장된 값과 일치하는지 여부

새 비밀번호 설정의 예:

업데이트 ... SET pswhash = crypt('새 비밀번호', gen_salt('md5'));

인증의 예:

SELECT (pswhash = crypt('입력된 비밀번호', pswhash)) AS pswmatch FROM ... ;

이것은 반환됩니다.입력된 경우 비밀번호가 맞습니다.

F.25.2.2.gen_salt()

gen_salt(유형 텍스트 [, iter_count 정수 ])는 텍스트를 반환합니다.

다음에서 사용할 새로운 무작위 솔트 문자열을 생성합니다.암호(). 소금 문자열은 또한 다음을 알려줍니다.암호()어떤 알고리즘을 사용할지.

유형매개변수는 다음을 지정합니다. 해싱 알고리즘. 허용되는 유형은 다음과 같습니다.데스, xdes, md5그리고bf.

iter_count매개변수를 사용하면 사용자는 반복 횟수가 있는 알고리즘에 대해 반복 횟수를 지정합니다. 는 숫자가 높을수록 비밀번호를 해시하는 데 더 많은 시간이 걸리고 그러므로 그것을 깨는 데 더 많은 시간이 걸립니다. 카운트가 너무 높음에도 불구하고 해시를 계산하는 데 몇 년이 걸릴 수 있습니다. 다소 비실용적입니다. 만약iter_count매개변수가 생략되면 기본 반복 횟수가 사용됩니다. 허용됨 에 대한 값iter_count다음에 따라 달라집니다. 알고리즘은 다음에 표시됩니다.표 F-18.

표 F-18. 반복 횟수:암호()

알고리즘 기본값 최소 최대
xdes 725 1 16777215
bf 6 4 31

xdes추가사항이 있습니다 반복 횟수는 홀수여야 한다는 제한이 있습니다.

적절한 반복 횟수를 선택하려면 다음을 고려하세요. 원래 DES 암호화는 초당 4개의 해시 속도를 갖도록 설계되었습니다. 당시 하드웨어에서는 두 번째였습니다. 초당 4개 해시보다 느림 두 번째는 아마도 유용성을 약화시킬 것입니다. 당 100개 이상의 해시보다 빠릅니다. 두 번째는 아마도 너무 빠른 것 같습니다.

표 F-19다양한 해싱의 상대적인 속도에 대한 개요를 제공합니다. 알고리즘. 표는 모든 것을 시도하는 데 걸리는 시간을 보여줍니다. 8자리 비밀번호의 문자 조합(가정) 비밀번호에 소문자만 포함되어 있거나 대문자, 소문자 및 숫자. 에서crypt-bf항목, 슬래시 뒤의 숫자는iter_count매개변수gen_salt.

표 F-19. 해시 알고리즘 속도

알고리즘 해시/초 [a-z] [A-Za-z0-9]
crypt-bf/8 28 246년 251322년
crypt-bf/7 57 121년 123457년
crypt-bf/6 112 62년 62831년
crypt-bf/5 211 33년 33351년
crypt-md5 2681 2.6년 2625년
윈 토토-des 362837 7일 19년
샤1 590223 4일 12년
md5 해시 2345086 1일 3년

참고:

  • 사용된 시스템은 1.5GHz Pentium 4입니다.

  • 윈 토토-des그리고crypt-md5알고리즘 번호는 John에게서 가져왔습니다. 리퍼 v1.6.38-테스트출력.

  • md5 해시숫자는 mdcrack에서 가져온 것입니다. 1.2.

  • 샤1숫자의 출처 lcrack-20031130-beta.

  • crypt-bf숫자는 다음을 사용하여 가져옵니다. 1000개의 8자리 비밀번호를 반복하는 간단한 프로그램입니다. 그런 식으로 다양한 반복 횟수로 속도를 표시할 수 있습니다. 에 대한 참조:존 -테스트초당 213개의 루프를 표시합니다. 에 대한crypt-bf/5. (아주 작은 차이 결과는 다음 사실에 따릅니다.crypt-bf구현pg윈 토토o존에서 사용된 것과 동일합니다. 리퍼.)

참고하세요"모든 조합을 시도해보세요"이다 현실적인 운동은 아닙니다. 일반적으로 비밀번호 크래킹은 다음과 같이 수행됩니다. 일반 단어와 단어가 모두 포함된 사전의 도움 그들의 다양한 돌연변이. 그래서 다소 단어 같은 비밀번호라도 위의 숫자가 제시하는 것보다 훨씬 빨리 해독될 수 있지만, 단어와 유사하지 않은 6자의 비밀번호는 크래킹을 피할 수 있습니다. 아니면 아닙니다.

F.25.3. PGP 암호화 기능

여기에 있는 함수는 OpenPGP의 암호화 부분을 구현합니다. (RFC 4880) 표준. 대칭 키와 키가 모두 지원됩니다. 공개 키 암호화.

암호화된 PGP 메시지는 두 부분으로 구성됩니다. 또는패킷:

  • 세션 키(대칭 키 또는 공개 키가 암호화되었습니다.

  • 세션 키로 암호화된 데이터가 포함된 패킷.

대칭 키(예: 비밀번호)로 암호화하는 경우:

  1. 주어진 비밀번호는 String2Key(S2K) 알고리즘을 사용하여 해시됩니다. 이는 다음과 다소 유사합니다.암호()알고리즘 — 의도적으로 느리고 무작위 솔트 사용 — 하지만 전체 길이의 바이너리 키를 생성합니다.

  2. 별도의 세션 키가 요청되면 새로운 무작위 키가 생성되었습니다. 그렇지 않으면 S2K 키가 직접적으로 사용됩니다. 세션 키.

  3. S2K 키를 직접 사용하려면 S2K 설정만 세션 키 패킷에 저장됩니다. 그렇지 않으면 세션 키 S2K 키로 암호화되어 세션 키에 저장됩니다. 패킷.

공개 키로 암호화하는 경우:

  1. 새로운 무작위 세션 키가 생성되었습니다.

  2. 공개 키를 사용하여 암호화되어 세션에 들어갑니다. 키 패킷.

두 경우 모두 암호화할 데이터는 다음과 같이 처리됩니다. 다음과 같습니다:

  1. 선택적 데이터 조작: 압축, utf-8로 변환, 및/또는 줄 끝 변환.

  2. 데이터에는 무작위 바이트 블록이 접두어로 붙습니다. 이것은 무작위 IV를 사용하는 것과 동일합니다.

  3. 임의의 접두사와 데이터의 SHA1 해시가 추가됩니다.

  4. 이 모든 것은 세션 키로 암호화되어 다음 위치에 저장됩니다. 데이터 패킷.

F.25.3.1.pgp_sym_en윈 토토()

pgp_sym_en윈 토토(data text, psw text [, options text ])는 bytea를 반환합니다.
pgp_sym_en윈 토토_bytea(data bytea, psw text [, options text ]) 는 bytea를 반환합니다.

암호화데이터대칭 PGP 키 포함psw.옵션매개변수에는 다음과 같이 옵션 설정이 포함될 수 있습니다. 아래에 설명되어 있습니다.

F.25.3.2.pgp_sym_de윈 토토()

pgp_sym_de윈 토토(msg bytea, psw text [, options text ])는 텍스트를 반환합니다.
pgp_sym_de윈 토토_bytea(msg bytea, psw text [, options text ]) 는 bytea를 반환합니다.

대칭 키로 암호화된 PGP 메시지를 해독합니다.

암호해독 중바이테아데이터 포함pgp_sym_de윈 토토허용되지 않습니다. 이는 피하기 위한 것입니다 잘못된 문자 데이터를 출력하는 중입니다. 원래 텍스트 암호 해독 데이터는pgp_sym_de윈 토토_bytea이다 괜찮아.

옵션매개변수에는 다음이 포함될 수 있습니다. 옵션 설정은 아래 설명과 같습니다.

F.25.3.3.pgp_pub_en윈 토토()

pgp_pub_en윈 토토(data text, key bytea [, options text ])는 bytea를 반환합니다.
pgp_pub_en윈 토토_bytea(data bytea, key bytea [, options text ])는 bytea를 반환합니다.

암호화데이터공개 PGP 키 포함. 이 함수에 비밀 키 제공 오류가 발생합니다.

옵션매개변수에는 다음이 포함될 수 있습니다. 옵션 설정은 아래 설명과 같습니다.

F.25.3.4.pgp_pub_de윈 토토()

pgp_pub_de윈 토토(msg bytea, key bytea [, psw text [, options text ]])는 텍스트를 반환합니다.
pgp_pub_de윈 토토_bytea(msg bytea, key bytea [, psw text [, options text ]]) 는 bytea를 반환합니다.

공개 키로 암호화된 메시지를 해독합니다.다음에 해당하는 비밀 키여야 합니다. 암호화에 사용된 공개 키입니다. 비밀키가 다음과 같은 경우 비밀번호로 보호되어 있으므로 비밀번호를 입력해야 합니다.psw. 비밀번호가 없는데 비밀번호를 알고 싶으시다면 옵션을 지정하려면 빈 비밀번호를 입력해야 합니다.

암호해독 중바이테아데이터pgp_pub_de윈 토토허용되지 않습니다. 이는 피하기 위한 것입니다 잘못된 문자 데이터를 출력하는 중입니다. 원래 텍스트 암호 해독 데이터는pgp_pub_de윈 토토_bytea이다 괜찮아.

옵션매개변수에는 다음이 포함될 수 있습니다. 옵션 설정은 아래 설명과 같습니다.

F.25.3.5.pgp_key_id()

pgp_key_id(bytea)가 텍스트를 반환함

pgp_key_id다음의 키 ID를 추출합니다. PGP 공개 또는 비밀 키. 또는 사용된 키 ID를 제공합니다. 암호화된 메시지가 제공된 경우 데이터 암호화를 위해.

2개의 특수 키 ID를 반환할 수 있습니다:

  • SYMKEY

    메시지는 대칭키로 암호화되었습니다.

  • 아무키

    메시지는 공개키로 암호화되어 있지만 키 ID는 제거되었습니다. 즉, 모든 비밀 키를 시도해야 함을 의미합니다. 어느 것이 해독되는지 확인하세요.pg윈 토토o자체는 그러한 메시지를 생성하지 않습니다.

다른 키가 동일한 ID를 가질 수 있다는 점에 유의하십시오. 이런 경우는 드물지만 정상적인 사건. 그런 다음 클라이언트 애플리케이션은 암호 해독을 시도해야 합니다. 각각에 대해 어떤 것이 맞는지 확인합니다. 처리와 같습니다.아무키.

F.25.3.6.갑옷(), dearmor()

armor(data bytea)는 텍스트를 반환합니다.
dearmor(데이터 텍스트)는 bytea를 반환합니다.

이 함수는 바이너리 데이터를 PGP ASCII 갑옷으로 래핑/래핑 해제합니다 기본적으로 CRC 및 추가 기능이 포함된 Base64 형식입니다. 서식을 지정합니다.

F.25.3.7. PGP 기능 옵션

옵션의 이름은 GnuPG와 유사합니다. 옵션의 값 등호 뒤에 와야 합니다. 각각 별도의 옵션 다른 하나는 쉼표로 표시됩니다. 예를 들면:

pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')

다음을 제외한 모든 옵션변환-crlf암호화 기능에만 적용됩니다. 해독 기능은 다음을 얻습니다. PGP 데이터의 매개변수입니다.

가장 흥미로운 옵션은 아마도 다음과 같습니다.압축-알고그리고유니코드 모드. 나머지는 합리적이어야합니다 기본값.

F.25.3.7.1. 암호알고

어떤 암호화 알고리즘을 사용할지.

값: bf, aes128, aes192, aes256(OpenSSL 전용: 3descast5)
기본값: aes128
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토

F.25.3.7.2. 압축 알고

사용할 압축 알고리즘. 다음 경우에만 사용 가능PostgreSQL다음으로 구축됨 zlib.

값:
  0 - 압축 없음
  1 - ZIP 압축
  2 - ZLIB 압축(= ZIP + 메타데이터 및 CRC 차단)
기본값: 0
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토

F.25.3.7.3. 압축 수준

압축할 양. 레벨이 높을수록 더 작게 압축되지만 더 느리게. 0은 압축을 비활성화합니다.

값: 0, 1-9
기본값: 6
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토

F.25.3.7.4. 변환-crlf

변환 여부\n속으로\r\n암호화할 때\r\n\n복호화할 때. RFC 4880은 텍스트 데이터가 다음을 사용하여 저장되어야 함을 명시합니다.\r\n줄 바꿈. RFC를 완전히 준수하려면 이것을 사용하십시오. 행동.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토, pgp_sym_de윈 토토, pgp_pub_de윈 토토

F.25.3.7.5. 비활성화-mdc

SHA-1로 데이터를 보호하지 마십시오. 이것을 사용하는 유일한 이유 옵션은 고대 PGP 제품과의 호환성을 달성하는 것입니다. RFC 4880에 SHA-1 보호 패킷이 추가되기 이전입니다. 최근 gnupg.org 및 pgp.com 소프트웨어는 이를 잘 지원합니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토

F.25.3.7.6. 세션 키

별도의 세션 키를 사용하십시오. 공개 키 암호화는 항상 별도의 세션 키; 이 옵션은 대칭 키 암호화를 위한 것입니다. 기본적으로 S2K 키를 직접 사용합니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en윈 토토

F.25.3.7.7. s2k 모드

어떤 S2K 알고리즘을 사용할 것인가.

값:
  0 - 소금 없음.  위험해!
  1 - 소금을 사용하지만 반복 횟수는 고정되어 있습니다.
  3 - 변수 반복 횟수.
기본값: 3
적용 대상: pgp_sym_en윈 토토

F.25.3.7.8. s2k-다이제스트-알고

S2K 계산에 사용할 다이제스트 알고리즘.

값: md5, sha1
기본값: sha1
적용 대상: pgp_sym_en윈 토토

F.25.3.7.9. s2k-암호-알고

별도의 세션 키를 암호화하는 데 사용할 암호는 무엇입니까?

값: bf, aes, aes128, aes192, aes256
기본값: 암호 알고리즘 사용
적용 대상: pgp_sym_en윈 토토

F.25.3.7.10. 유니코드 모드

데이터베이스 내부 인코딩에서 텍스트 데이터를 변환할지 여부 utf-8로 그리고 그 뒤로. 데이터베이스가 이미 utf-8인 경우 변환이 없습니다. 완료되지만 메시지에는 utf-8 태그가 지정됩니다. 이것이 없으면 옵션은 그렇지 않습니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en윈 토토, pgp_pub_en윈 토토

F.25.3.8. GnuPG로 PGP 키 생성

새 키를 생성하려면:

gpg --gen-key

선호되는 키 유형은"DSA와 엘가말".

RSA 암호화의 경우 DSA 또는 RSA 로그인 전용을 생성해야 합니다 키를 마스터로 지정한 다음 다음을 사용하여 RSA 암호화 하위 키를 추가하세요.gpg --edit-key.

키를 나열하려면:

gpg --list-secret-keys

공개 키를 ASCII-armor 형식으로 내보내려면:

gpg -a --export KEYID  public.key

ASCII-armor 형식으로 비밀 키를 내보내려면:

gpg -a --export-secret-keys KEYID  secret.key

사용해야 합니다친애하는()이들에 키를 PGP 기능에 제공하기 전에. 아니면 감당할 수 있으면 바이너리 데이터를 삭제할 수 있습니다.-a에서 명령.

자세한 내용은 참조남자 gpg, GNU 개인정보 보호 핸드북및 기타 문서http://www.gnupg.org.

F.25.3.9. PGP 코드의 한계

  • 서명을 지원하지 않습니다. 확인되지 않았다는 뜻이기도 합니다 암호화 하위 키가 마스터 키에 속하는지 여부.

  • 암호화 키를 마스터 키로 지원하지 않습니다. 그러한 실천은 일반적으로 권장하지 않지만 이는 문제가 되지 않습니다.

  • 여러 하위 키를 지원하지 않습니다. 이것은 문제처럼 보일 수 있습니다. 이것은 일반적인 관행입니다. 반면에, 당신은 당신의 일반 GPG/PGP 키pg윈 토토o하지만 사용 시나리오가 다소 다르기 때문에 새로운 것을 만드십시오.

F.25.4. 원시 암호화 기능

이 함수는 데이터에 대해서만 암호를 실행합니다. 그들은 아무것도 가지고 있지 않습니다 PGP 암호화의 고급 기능. 그러므로 그들은 몇 가지 주요한 문제:

  1. 그들은 사용자 키를 암호 키로 직접 사용합니다.

  2. 그들은 무결성 검사를 제공하지 않습니다. 암호화된 데이터가 수정되었습니다.

  3. 그들은 사용자가 모든 암호화 매개변수를 관리할 것으로 기대합니다. 그들 자신, 심지어 IV.

  4. 그들은 텍스트를 처리하지 않습니다.

그래서 PGP 암호화가 도입되면서 원시 암호화 기능은 권장되지 않습니다.

encrypt(데이터 바이트, 키 바이트, 텍스트 입력)는 바이트를 반환합니다.
decrypt(데이터 바이트, 키 바이트, 텍스트 입력)는 바이트를 반환합니다.

en윈 토토_iv(data bytea, key bytea, iv bytea, type text)는 bytea를 반환합니다.
de윈 토토_iv(data bytea, key bytea, iv bytea, type text)는 bytea를 반환합니다.

다음에 의해 지정된 암호화 방법을 사용하여 데이터 암호화/해독유형. 의 구문유형문자열은:

알고리즘 [ - 모드 ] [ /패드: 패딩 ]

어디에서알고리즘다음 중 하나입니다:

  • bf— 복어

  • aes— AES(Rijndael-128, -192 또는 -256)

그리고모드다음 중 하나입니다:

  • cbc— 다음 블록은 이전 블록에 따라 다름 (기본값)

  • ecb— 각 블록은 암호화됩니다. 별도로(테스트용으로만)

그리고패딩다음 중 하나입니다:

  • pkcs— 데이터 길이에는 제한이 없습니다. (기본값)

  • 없음— 데이터는 암호의 배수여야 합니다. 블록 크기

예를 들어 다음은 동일합니다:

암호화(데이터, 'fooz', 'bf')
암호화(데이터, 'fooz', 'bf-cbc/pad:pkcs')

en윈 토토_iv그리고de윈 토토_iv, 그iv매개변수는 CBC 모드의 초기 값입니다. 그것은 무시된다 ECB. 블록 크기가 정확하지 않은 경우 잘리거나 0으로 채워집니다. 이것이 없는 함수의 기본값은 모두 0입니다. 매개변수입니다.

F.25.5. 무작위 데이터 함수

gen_random_bytes(count 정수)는 bytea를 반환합니다.

반품개수암호화로 강력한 임의 바이트. 한 번에 최대 1024바이트를 추출할 수 있습니다. 이는 임의성 생성기 풀이 고갈되는 것을 방지하기 위한 것입니다.

F.25.6. 참고

F.25.6.1. 구성

pg윈 토토o다음에 따라 자체 구성됩니다. 주요 PostgreSQL의 결과에 대해구성스크립트. 영향을 미치는 옵션은 다음과 같습니다.--with-zlib그리고--with-openssl.

zlib로 컴파일할 때 PGP 암호화 기능은 다음을 수행할 수 있습니다. 암호화하기 전에 데이터를 압축하세요.

OpenSSL로 컴파일하면 더 많은 알고리즘이 있습니다 가능합니다. 또한 공개 키 암호화 기능은 다음과 같이 더 빨라질 것입니다. OpenSSL에는 더욱 최적화된 BIGNUM 기능이 있습니다.

표 F-20. 유무에 따른 기능 요약 OpenSSL

기능 내장 OpenSSL 사용
MD5
SHA1
SHA224/256/384/512 예(참고 1)
기타 다이제스트 알고리즘 아니요 예(참고 2)
복어
AES 예(참고 3)
DES/3DES/CAST5 아니요
원시 암호화
PGP 대칭 암호화
PGP 공개 키 암호화

참고:

  1. SHA2 알고리즘이 버전 0.9.8의 OpenSSL에 추가되었습니다. 에 대한 이전 버전,pg윈 토토o사용할 것입니다 내장 코드.

  2. OpenSSL이 지원하는 모든 다이제스트 알고리즘이 자동으로 선택됩니다. 위로. 지원이 필요한 암호로는 불가능합니다. 명시적으로.

  3. AES는 버전 0.9.7부터 OpenSSL에 포함되어 있습니다. 노인용 버전,pg윈 토토o내장된 기능을 사용합니다 코드.

F.25.6.2. NULL 취급

SQL의 표준과 마찬가지로 모든 함수는 NULL을 반환합니다. 인수가 NULL입니다. 이는 부주의한 보안 위험을 초래할 수 있습니다. 사용법.

F.25.6.3. 보안 제한

모두pg윈 토토o함수는 내부에서 실행됩니다. 데이터베이스 서버. 이는 모든 데이터와 비밀번호가 이동한다는 것을 의미합니다. 사이pg윈 토토o및 클라이언트 응용프로그램 일반 텍스트로. 따라서 다음을 수행해야 합니다.

  1. 로컬로 연결하거나 SSL 연결을 사용하세요.

  2. 시스템 관리자와 데이터베이스 관리자를 모두 신뢰하십시오.

할 수 없다면 클라이언트 내부에서 암호화를 수행하는 것이 좋습니다 신청합니다.

구현은 저항하지 않습니다.사이드 채널 공격. 예를 들어, 필요한 시간은 에pg윈 토토o암호해독 기능 완전한 크기는 주어진 크기의 암호문에 따라 다릅니다.

F.25.6.4. 유용한 독서

F.25.6.5. 기술 참조

F.25.7. 작성자

마코 크린

pg윈 토토o다음 코드를 사용합니다. 출처:

알고리즘 저자 소스 출처
DES 지하실 데이비드 버렌 및 기타 FreeBSD lib윈 토토
MD5 크립트 폴-헤닝 캄프 FreeBSD lib윈 토토
복어 지하실 태양광 디자이너 www.openwall.com
복어 암호 사이먼 테이텀 푸티
Rijndael 암호 브라이언 글래드먼 OpenBSD 시스템/암호화
MD5 해시 및 SHA1 와이드 프로젝트 KAME 카메/sys/암호화
SHA256/384/512 아론 D. 기포드 OpenBSD 시스템/암호화
BIGNUM 수학 마이클 J. 프롬베르거 dartmouth.edu/~sting/sw/imath