양방향 암호화와

단방향 암호화가 있다

 

양방향에는 대표적으로 AES256 방식 암호화를 많이 쓴다.

단방향에는 SHA256 방식이 있다.

 

양방향은 암복호화가 가능하지만, 단방향은 암호화한 것을 복호화할 수 없다.

단방향 암호화는 보통 비밀번호 같은 경우에 많이 사용했고,

양방향 암호화는 개인정보 관련된 것에 많이 사용하여 DB에 저장하였다.

전화번호, 이메일, 주민번호 등등...

 

AES암호화는 대칭키 암호화로 암/복호화 키가 같음

 

-----------------

 

대칭키 암호화에는 스트림기반 암호화, 블록기반 암호화가 있다.

 

스트림기반 암호화는 비트단위로 암호화는 방식.

 - 속도가 빠르고 오류 전파 현상이 없다.

 - 주로 스트리밍시 사용

 - LFSR, MUX generator

 ㄴ 선형 되먹임 시프트 레지스터(Linear feedback shift register, LFSR), 피보나치와 갈루아

    XOR 방식으로 연산...

 ㄴ Multiplexer..

 전자회로 방식이네....

 

 

블록기반 암호화는 블록 단위로 암호화하는 방식.

 - 문자열 단어 하나하나를 블록으로 나누어 암호화

 - DES, AES, IDEA, SEED

 

비대칭키 암호화

 - DSA(전자서명), RSA(메세지 암.복호화)

 - 대칭키에 비해서는 느리다는 단점

 - 키 생성 시 개인키와 공유키가 생성되며 공유키는 공개해도 문제가 되지 않는다.

 - 인수분해, 이산대수, 타원곡성 암호화로 나뉨

 ㄴ 비대칭키 암호화를 통해 데이터를 주고받은 적이 있었는데,

   경력차가 얼마 안 되었을 때 일이라 그런지 별로 효율적이지 않았음

   1. 요청과 함께 공개키를 전달하고

   2. 상대가 공개키로 암호화한 파일을 전달

   3. 받은 파일을 개인키로 복호화

   하는 방식.

   공개키는 암호화만 가능하고 개인키로만 복호화할 수 있다

 

   깃 인증된 서명을 활용하기 위해 ssh와 gpg를 이용함.

 

 

-----------------

 

 단방향 암호화

  - Hash를 이용하여 암호화하는 과정

  - 암호화는 가능하지만 복호화는 불가능

  - 데이터의 진위여부만 필요한 경우

 

 종류로는

 MD5, RIPED, SHA

 

 보통 SHA를 이용하는데, 원본값을 그대로 암호화하지 않고

 salt 라는 키값을 더해 원본을 추측할 수 없도록 이용한다.

 

 

 

 

 

 

 

'Study > Tech' 카테고리의 다른 글

[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06
데이터베이스 정규화 과정  (0) 2024.06.06
MVC 패턴  (0) 2024.06.04

+ Recent posts