E. Quick Reference AI Lab 석사 3학기 염성진.

Slides:



Advertisements
Similar presentations
I. 프로젝트 동기 II. 프로젝트 목표 III. 파일시스템 IV. 암호화 및 복호화 V. 인터페이스 VI. FBR READ/WRITE VII. 프로그램 흐름도 VIII. 미 구현 사항 IX. 프로젝트 기대효과 X. 프로그램 요구사항 및 팀원 역할분담 XI. 시연 XII.
Advertisements

Chapter 8 현대 대칭키 암호를 이용한 암호화 기법
CHAP 22. 블루투스.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Cryptography and Network Security
자바 암호 프로그래밍 Java Cryptography Programming
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
(c) Byoungcheon Lee, Joongbu Univ.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
Chapter 3 Symmetric Key Crypto
Chapter 17 전송층 보안: SSL과 TLS
자바 암호 프로그래밍 Java Cryptography Programming
자바 암호 프로그래밍 Java Cryptography Programming
자바 암호 프로그래밍 Java Cryptography Programming
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
자바 암호 프로그래밍 Java Cryptography Programming
Chapter 3. Architecture AI & HCI Lab 김 주 영.
제 4장 블록 암호 모드.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
교과목 소개 정보보호.
암호학 응용 Applied cryptography
Lesson 9. 예외처리.
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
2 : 대칭암호화 소제목 : 기본적인 대칭암호화.
목 차 PGP S/MIME. 전자우편 보안 Security 목 차 PGP S/MIME.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
자바 암호 프로그래밍 Java Cryptography Programming
7장 인터페이스와 추상 클래스.
자바 5.0 프로그래밍.
프로그래밍 개요
정보보안.
전자상거래보안 전자우편보안 ( Security) 중부대학교 정보보호학과 이병천 교수
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
논리회로 및 실험 조합논리회로 (1) - Adder
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
논리회로 설계 및 실험 5주차.
2. CONCEPTS 컴퓨터 네트워크 실험실 석사 1학기 강 동 호.
자바 암호 프로그래밍 Java Cryptography Programming
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
제 5장 공개키 암호.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
CHAP 21. 전화, SMS, 주소록.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
알고리즘 알고리즘이란 무엇인가?.
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Chapter 3. Public Key Infrastructure
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
발표자 : 이지연 Programming Systems Lab.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
자바 암호 프로그래밍 Java Cryptography Programming
암호 시스템 (Crypto system) 신효철
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
7 생성자 함수.
6 객체.
Presentation transcript:

E. Quick Reference AI Lab 석사 3학기 염성진

The Classes are organized by package java.security(partial) java.security.cert java.security.interface java.security.spec javax.crypto javax.crypto.interface javax.crypto.spec

Package java.security(1/14) Class java.security.AlgorithmParameters 이 클래스는 특정알고리즘으로 구성된 파라미터의 집합을 나타낸다. 이 클래스의 서브클래스는 KeyPairGenerator과 Cipher라는 초기화 방법으로 사용될수 있다.

Package java.security(2/14) Class java.security.AlgorithmParametersSpi 알고리즘 파라미터의 보안제공자 인터페이스 보유하고 있는 알고리즘의 파라미터를 수행하려면 이 클래스를 subclassing하거나 적절한 보안 담당자에게 수행을 등록해야 한다.

Package java.security(3/14) Class java.security.DigestIutputStream A digest input stream은 message digest object와 관련된 input filter stream 데이터를 읽어들이면 message digest object는 input data의 hash를 반환한다.

Package java.security(4/14) Class java.security.DigestOutputStream A digest output stream은 message digest object와 관련된 output filter stream Class java.security.Identity identity는 public key를 가지는 entity에 의해 public knowledge로 캡슐화된다. Identities는 name과 public key를 가짐.

Package java.security(5/14) Class java.security.IdentityScope identity scope는 identities의 집합으로 identity는 single identity scope에 속한다. 이것은 scpoe가 recursive하다는 것을 뜻한다. Interface java.security.Key key는 암호화 알고리즘에 의해 사용된 일련의 byte이다.

Package java.security(6/14) Class java.security.KeyFactory key factory는 public key 또는 private key와 이들의 external format사이의 변환을 가능하게 하는 engine class이다. Class java.security.KeyFactorySpi key factory의 Service Provider Interface key factory를 수행하려면 클래스를 extending하거나 적절한 보안 담당자에게 수행을 등록

Package java.security(7/14) Class java.security.KeyPair Public key와 Private key는 서로 관련되어 있으며 함께 발생된다. Class java.security.KeyPairGenerator public key와 관련된 private key를 발생할 수 있는 engine class이다.

Package java.security(8/14) Class java.security.KeyPairGeneratorSpi key pair generation engine을 위한 Service Provider Interface class이다. Class java.security.KeyStore 이 클래스는 key 집합과 관련된 owners를 유지할 책임이 있다.

Package java.security(9/14) Class java.security.MessageDigest 임의의 입력에 대해 one-way hash value를 생산해낼수 있는 engine class이다. Class java.security.MessageDigestSpi message digest engine을 위한 Service Provider Interface 이다.

Package java.security(10/14) Class java.security.Principal principal은 identity와 같은 name을 가진다. Interface java.security.PrivateKey private key는 수학적인 특성을 가지는 key로서public key와 함께 암호화연산을 수행한다.

Package java.security(11/14 ) Class java.security.Provider Provider class는 algorithm/engine pairs의 수행을 계획해야 함 Interface java.security.PublicKey public key는 수학적인 특성을 가지는 key로서 private key와 함께 암호화연산을 수행한다.

Package java.security(12/14 ) Class java.security.SecureRandom random numbers를 발생한다. Class java.security.Security Virtual machine에 설치된 Providers의 list를 다룬다.

Package java.security(13/14) Class java.security.Signature Security class로 등록된 알고리즘에 의해 digital signatures를 검사하거나 생성할 수 있도록 한다. Class java.security.SignatureSpi Signature engine에 대한 Security Provider Interface이다.

Package java.security(14/14) Class java.security.SignedObject target object를 위한 container class Class java.security.Signer signer는 private key와 대응하는 public key를 가지는 principal의 개념을 추상화 한다.

Package java.security.cert(1/3) Class java.security.cert.Certificate Certificate class는 암호화 증명서와 같은 형태를 표현하며 public key와 관련 정보를 포함한다. Class java.security.cert.RevokedCertificate RevokedCertificate는 더 이상 사용할 수 없는 key를 가지는 증명서를 나타낸다.

Package java.security.cert(2/3) Class java.security.cert.X509Certificate Certificate의 subclass로서 X.509표준으로 정의된 증명서를 나타낸다. Class java.security.cert.X509CRL Certificate Revovation List(CRL)는 더 이상 유효하지 않은 keys를 가지는 증명서의 목록이다.

Package java.security.cert(3/3) Interface java.security.cert.X509Extension X509Extension인터페이스는 X.509v3표준에 의해 정의된 증명서를 나타낸다.

Package java.security.interface(1/3) Interface java.security.interfaces.DSAkey 이 인터페이스는 DSA signature algorithm에 사용하기 적당한 public key와 private key를 나타낸다. Interface java.security.interfaces.DSAkeyPairGenerator DSA keys pair를 생성하여 이용할수 있는 key generators를 나타낸다.

Package java.security.interface(2/3) Interface java.security.interfaces.DSAParams DSA public key와 private key 모두를 공통으로 하는 세가지 변수를 포함하는 인터페이스 Interface java.security.interfaces.DSAPrivateKey DSA private key를 계산하기 위해 사용된 private key parameter를 검색하기 위한 인터페이스

Package java.security.interface(3/3) Interface java.security.interfaces.DSAPublicKey DSA public key를 계산하기 위해 사용된 public key parameter를 검색하기 위한 인터페이스

Package java.security.spec(1/5) Interface java.security.spec.AlgorithmParameterSpec 알고리즘 파라미터 정의는 key factory를 통해 유입된 키와 유출된 키가 사용된다. Class java.security.spec.DSAParameterSpec parameters를 통해 DSA key 발생의 기준을 제공하며, DSA algorithms에 공통인 세가지 parameters를 캡슐화 한다.

Package java.security.spec(2/5) Class java.security.spec.DSAPrivateKeySpec 키를 구성하는 네가지 parameters에 근거를 두는 DSA private key를 계산할 수 있도록 한다. Class java.security.spec.DSAPublicKeySpec 키를 구성하는 네가지 parameters에 근거를 두는 DSA public key를 계산할 수 있도록 한다.

Package java.security.spec(3/5) Class java.security.spec.EncodedKeySpec key들과 이들의 외부 암호화 형태 사이의 번역에 사용된다. Interface java.security.spec.KeySpec 키 정의는 key factory를 통해 유입된 키와 유출된 키에 사용된다.

Package java.security.spec(4/5) Class java.security.spec.PKCS8EncodedKeySpec private key의 PKCS#8 encoding으로 표현되며 DER format으로 암호화 된다. Key factory에서 DSA private keys로 이용될대 사용된다.

Package java.security.spec(5/5) Class java.security.spec.X509EncodedKeySpec Public key의 X509 encoding으로 표현된다.

Package javax.crypto(1/8) Class javax.crypto.Cipher 대칭이거나 비대칭의 cryptographic cipher로 표현되며, cipher를 얻기 위해 getInstance() method를 호출한다. Algorithm name과 cipher mode, padding scheme을 정의해야 하며, cipher는 init() method와 적당한 key를 사용하여 암호화 혹은 복호화를 위해 초기화되어야 한다.

Package javax.crypto(2/8) Class javax.crypto.CipherInputStream CipherInputStream은 Cipher를 통해 데이터를 통과한 java.io.FilterInputStream의 subclass이다. Class javax.crypto.CipherOutputStream CipherOutputStream은 Cipher를 통해 데이터를 통과한 java.io.FilterOutputStream의 subclass이다.

Package javax.crypto(3/8) Class javax.crypto.CipherSpi CipherSpi는 모든 cipher 방법의 parent class로서 특별한 cipher algorithm을 수행하기 위해서는 CipherSpi subclass를 생성하거나 정의해야 한다.

Package javax.crypto(4/8) Class javax.crypto.KeyAgreement 이 Class는 key agreement protocol로 표현되며 secret value에 의해 두 부분으로 나눠진다. Class javax.crypto.KeyAgreementSpi KeyAgreementSpi는 모든 key agreement protocol방법의 superclass이며, key agreement algorithm을 수행하고자 한다면 KeyAgreementSpi의 subclass를 생성하고 정의한다.

Package javax.crypto(5/8) Class javax.crypto.KeyGenerator KeyGenerator는 대칭형 Ciphers를 사용하여 random key를 생성하며, KeyGenerator를 얻기위해 알고리즘이름과 함께 getInstance()를 호출한다.

Package javax.crypto(6/8) Class javax.crypto.KeyGeneratorSpi KeyGenerator의 방법은 KeyGeneratorSpi로 부터 상속한다. Class javax.crypto.NullCipher NullCipher는 Cipher가 없는 것으로 Cryptographic 프로그램을 테스트하기 위해 사용된다.

Package javax.crypto(7/8) Class javax.crypto.SealedObject 다른 Object를 위한 Container로서 포함된 Object는 Cipher를 사용하여 암호화된다. Interface javax.crypto.SecretKey SecretKey는 java.security.Key interface의 어의적확장으로 symmetric cipher를 사용한 key로 표현된다.

Package javax.crypto(8/8) Class javax.crypto.SecretKeyFactory SecretKeyFactory는 secret key data formats사이에서 변환을 위해 사용된다. Class javax.crypto.SecretKeyFactorySpi SecretKeyFactory의 방법을 나타낸다. 수행하기 위해 SecretKeyFactorySpi의 subclass를 만들거나 정의한다.

Package javax.crypto.interfaces(1/6) Interface javax.crypto.interfaces.DHKey Diffie-Hellman KeyAgreement 방법으로 사용된 key로 나타낸다. Interface javax.crypto.interfaces.DHPrivateKey Diffie-Hellman Key Agreement protocol의 private key로 나타낸다.

Package javax.crypto.interfaces(2/6) Interface javax.crypto.interfaces.DHPublicKey Diffie-Hellman Key Agreement protocol의 public key로 나타낸다. Interface javax.crypto.interfaces.RSAPrivateKey RSAPrivateKey는 RSA asymmetric cipher로 사용하기 적절한 private key로 나타낸다.

Package javax.crypto.interfaces(3/6) Interface javax.crypto.interfaces.RSAPrivateKeyCrt RSA private key의 대한 표현으로서 private key값을 표현하기 위해 Chinese Remainder Theorem(CRT)를 사용한다. Interface javax.crypto.interfaces.RSAPublicKey RSAPublicKey는 RSA asymmetric cipher로 사용하기 적절한 public key로 나타낸다.

Package javax.crypto.spec(1/8) Class javax.crypto.spec.DESKeySpec DES symmetric cipher로 사용된 key를 나타내며byte arrays와 DES SecreteKeys 사이의 변환에 유용하다. Class javax.crypto.spec.DESedeKeySpec DESede key로 표현되며 DESede SecreteKeys와 byte arrays사이에서 번역을 위해 SecretKeyFactory와 함께 사용될 수 있다.

Package javax.crypto.spec(2/8) Class javax.crypto.spec.DHGenParameterSpec 이 Class의 Instance는AlgorithmParameterGenerator의 초기화 방법에의해 통과될수 있다. Class javax.crypto.spec.DHParameterSpec Diffie-Hellman key agreement protocol에서 사용된 public parameters로 캡슐화 한다.

Package javax.crypto.spec(3/8) Class javax.crypto.spec.DHPrivateKeySpec Diffie-Hellman key agreement protocol에서 사용된 private key로 표현하며, Diffie-Hellman parameters와 PrivateKeys사이에서 convert하기 위해 KeyFactory가 사용될 수 있다.

Package javax.crypto.spec(4/8) Class javax.crypto.spec.DHPublicKeySpec Diffie-Hellman key agreement protocol에서 사용된 public key로 표현하며, Diffie-Hellman parameters와 PrivateKeys사이에서 convert하기 위해 KeyFactory가 사용될 수 있다.

Package javax.crypto.spec(5/8) Class javax.crypto.spec.IvParameterSpec feedback mode에서 사용되는 cipher는 IV로 표현되며 CBC, PCBC, CFB OFB modes에서 Cipher는 IV로 초기화될 필요가 있다. Class javax.crypto.spec.PBEKeySpec passphrase encryption으로 사용된 key로 표현되며, JCE는 PBEWithMD5AndDES로 명명된 기법을 포함한다.

Package javax.crypto.spec(6/8) Class javax.crypto.spec.PBEParameterSpec passphrase based encryption으로 사용된 salt(?)와 반복 카운터로 캡슐화한다. PBEWithMD5AndDES cipher로 초기화하여 사용 될수 있다.

Package javax.crypto.spec(7/8) Class javax.crypto.spec.RSAPrivateKeyCrtSpec RSA cipher algorithm에서 사용된 Chinese Remainder theorem(CRT) 위한 private key로 나타낸다.

Package javax.crypto.spec(8/8) Class javax.crypto.spec.RSAPrivateKeySpec modulus와 private exponent로 설명된 RSA cipher algorithm을 위한 private key로 나타낸다. Class javax.crypto.spec.RSAPublicKeySpec modulus와 public exponent로 설명된 RSA cipher algorithm을 위한 public key로 나타낸다.