Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "E. Quick Reference AI Lab 석사 3학기 염성진."— Presentation transcript:

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

2 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

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

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

5 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를 반환한다.

6 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를 가짐.

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

8 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하거나 적절한 보안 담당자에게 수행을 등록

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

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

11 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 이다.

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

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

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

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

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

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

18 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를 가지는 증명서의 목록이다.

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

20 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를 나타낸다.

21 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를 검색하기 위한 인터페이스

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

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

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

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

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

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

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

29 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이다.

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

31 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를 생성하고 정의한다.

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

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

34 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로 표현된다.

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

36 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로 나타낸다.

37 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로 나타낸다.

38 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로 나타낸다.

39 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와 함께 사용될 수 있다.

40 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로 캡슐화 한다.

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

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

43 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로 명명된 기법을 포함한다.

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

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

46 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로 나타낸다.


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

Similar presentations


Ads by Google