일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 리눅스
- 고전역학
- kotlin
- 자바암호
- Database
- 시스템
- 자바네트워크
- chatGPT's answer
- 웹 크롤링
- 유닉스
- python
- Java
- android
- jpa
- 파이썬
- write by GPT-4
- GPT-4's answer
- 데이터베이스
- spring data jpa
- NIO
- 코틀린
- oracle
- flet
- spring integration
- 소프트웨어공학
- 인프라
- write by chatGPT
- 역학
- 자바
- JVM
- Today
- Total
기억을 지배하는 기록
자바을 이용한 암호학 - 3 본문
PLT 1.3 기본 개념
보안의 3대 규칙
1. 기밀성(Confidentially) : 비인가 된 사람은 내용을 볼 수 없어야 한다.
A. 대칭암호화 : 송신측과 수신측이 동일한 키를 사용한다.(비밀키, 개인키 방식)
B. 비대칭 암호화 : A의 공개키로 암호화 한 내용은 A의 개인키로만 풀 수 있다. 비대칭 암호화는 대칭 암호화에 비해 상당히 느리다.
2. 무결성(Integrity) : Date가 불법 수정되지 못하게 보장한다. 암호화된 메시지 축약을 서명(signature)이라고 한다.
3. 인증(Authentication) : 상호 교신하는 사람이 각각 믿을 수 있는 객체임을 보장한다. 인증서는 한 사람에 의해 발급되는 문장으로 다른 사람의 공개키를 가지는 어떤 값이다. 필수적으로 인증서는 서명된 공개키이다.
알고리즘
비대칭 암호화와 서명은 다양한 키 크기를 가진다. 적절한 키 크기를 선택하는 것은 사용자와 애플리케이션에 달려 있다.
명 칭 | 타 입 | 비 고 |
MD-5 | 메시지 축약 | 128비트 메시지 축약 생성 저항력에 약간의 허점을 발견 |
SHA-1 | 메시지 축약 | 160비트의 메시지 축약 생성 저항력이 증가 |
HmacMD5와 HmacSHA1 | 메시지 인증 코드 | |
DSA | 서명 | 512 ~ 1024비트 까지의 키 생성 |
ElGamal 서명 | 서명 | |
DES | 대칭 암호화 | |
DESede | 대칭 암호화 | |
PBEWithMD5AndDES | 대칭 암호화 | |
ElGamal 암호 | 비대칭 암호화 | |
DH | 키 교환 |
표) 암호화 알고리즘
클래스/인터페이스 | 정의 |
java.security.cert.Certificate | 암호인증 |
javax.crypto.Cipher | 암호화 |
java.security.Key. java.security.PrivateKey, java.security.PublicKey, javax.crypto.SecretKey | 서명이나 암호화에 사용되는키 |
javax.crypto.KeyAgreement | 비밀키 교환 프로토콜 |
java.security.KeyFActory | 공개키와 비밀키의 형식 변환 |
javax.crypto.KeyGenerator | 대칭암호문에 사용될 키 생성 |
java.security.KeyPairGenerator | 암호화와 인증에 사용된 공개키와 비밀키 생성 |
javax.crypto.Mac | 메시지 인증 코드(MAC) |
java.security.MessageDigest | 암호화 해시함수 |
javax.crypto.SecretKeyFactory | 비밀키의 형식 변환 |
java.security.SecureRandom | 난수생성 |
java.security.Signature | 전자서명 |
표) JDK와 JCE에 포함된 암호화 클래스
개념클래스 | Sun이 지원하는 암호화 알고리즘 | SunJCE가 지원하는 암호화 알고리즘 |
Cipher | DES, Desede, PBEWithMD5AndDES | |
KeyAgreement | DH | |
KeyFactory | DSA | |
KeyGenerator | DES,DESede | |
KeyPairGenerator Mac | DSA | |
Mac | HmacMD5, HmacSHA1 | |
MessageDigest | MD5, SHA-1 | |
SecretKeyFactory | DES, Desede, PBEWithMD5AndDES | |
Signature | DSA |
표) 표준 알고리즘 이름
'오래된글 > Java' 카테고리의 다른 글
자바을 이용한 암호학 - 5 (0) | 2018.04.07 |
---|---|
자바을 이용한 암호학 - 4 (0) | 2018.04.07 |
자바을 이용한 암호학 - 2 (0) | 2018.04.07 |
자바을 이용한 암호학 - 1 (0) | 2018.04.07 |
Java HotSpot VM Options (0) | 2018.04.07 |