양방향 암호화 (Two way Encryption)
암호문을 통해 암호화된 평문(Plain Text)을 복호화할 수 있는 경우 양방향 암호화라 볼 수 있다. (단방향 암호화의 경우 복호화를 할 수 없다는 특징이 있다.)
암/복호화 시 Key가 존재하며, 같은 키를 사용할 때는 대칭키 암호화, 다른 키를 사용할 때는 비대칭키 암호화라 한다.
Qustion. 단방향 암호화(One way Encryption)의 경우 복호화 할 수 없다?
단방향 암호화 기법으로 Hash 함수 알고리즘을 통해 암호화를 한다.
문득 해당 알고리즘을 파악하여 유추할 수 있는 경우 복호화를 할 수 있을까 의문이 들게 되었다.
물론 이전에 사용되던 Hash 함수 알고리즘은 복호화가 되는 문제와 취약점의 문제가 발생되었다.
그렇기 때문에 단방향 암호화는 복호화할 수 있다. Hash 함수 알고리즘은 대표적으로 MD5, SHA 등이 있고 그 외에 다른 알고리즘 방식이 있다.
앞서 얘기한 MD5와 SHA-1는 해쉬 충돌(Hash Collision) 취약점으로 사용을 권장하지 않는다.
SHA-256 또는 SHA-3을 사용하는 것을 권장하고, 현재 지구상의 계산값으로 알아내기 힘들다.
하지만 지구상의 계산값이 보다 빨라진다면 암호의 보안이 취약해질 수 있다.
참고 및 출처
https://opentutorials.org/module/5250/29713
https://raonctf.com/essential/study/web/cryptography
양방향 암호화 알고리즘 종류
대칭형(비공개키 암호) 암호화
- 대칭형 암호화는 암/복호화 시 동일한 키를 사용하는 암호화 방식이다. 해당 키가 노출되면 안되기 때문에 비공개키 암호이다.
- Block 방식
- Feistel 구조
- DES, 3DES(Triple DES), SEED
- Feistel 구조
- SPN 구조
- IDEA, AES, ARIA
- Stream 방식
- OPT, RC4, a5/1
- Block 방식
비대칭형(공개키 암호) 암호화
- 비대칭형 암호화는 암/복호화 시 서로 다른 키를 사용하는 방식이다. 노출되면 안되는 private key와 노출되도 상관 없는 public key가 있다.
- 소인수분해
- RSA, Robin
- 이산대수
- DH, DSA, EIGmal
- 타원곡선방정식
- ECC, ECDSA
- 소인수분해
댓글