공개키 암호화 란 ?
공개 키 암호화 두 개의 다른 키로 데이터를 암호화하고 누구나 사용할 수있는 공개 키라는 키 중 하나를 만드는 방법입니다. 다른 키는 개인 키라고합니다.
공개 키로 암호화 된 데이터는 개인 키로 만 해독 할 수 있으며 개인 키로 암호화 된 데이터는 공개 키로 만 해독 할 수 있습니다.
공개 키 암호화는 비대칭 암호화라고도합니다. HTTPS를 가능하게하는 특히 TLS / SSL에 널리 사용됩니다.
암호화 키란 ?
암호화에서 키는 데이터를 무작위로 표시하기 위해 스크램블링(휘저어 섞는 달걀 = 스크램블 애그를 연상하면 좋음)하는 데 사용되는 정보입니다.
암호화 키는 큰 숫자 또는 숫자와 문자의 조합등으로 만들어진 문자열입니다.
암호화되지 않은 데이터를 키를 사용하여 암호화 알고리즘에 넣으면 일반 텍스트가 무작위로 보이는 데이터로 나옵니다.
그러나 데이터를 해독하기위한 올바른 키를 가진 사람은 누구나 일반 텍스트 형식으로 데이터를 되돌릴 수 있습니다.
예시
아래 예시는 하나의 키를 사용하는 대칭 암호화 방식 입니다.
암호화
평문 + 암호화키 = 암호화 된 문자열
hello + 2jd8932kd8 = X5xJCSycg14=
복호화
암호화 된 문자열 + 암호화키 = 평문
X5xJCSycg14= + 2jd8932kd8 = hello
공개키 암호화의 동작 방식
공개 키 암호화는 처음에는 복잡해 보일 수 있습니다. 하지만 아래 그림을 참조하면 좀 더 쉽게 다가갈 수 있습니다.
- A. 잠금, 키를 왼쪽으로 완전이 돌린다.
- B. 잠금 해제, 가운데로 키를 돌린다.
- C. 잠금, 키를 오른쪽으로 완전이 돌린다.
가정
하나의 키 대신, 키에는 두 개의 키가 있습니다.
- 키 1 번은 왼쪽으로 만 돌 수 있습니다
- 키 2 번은 오른쪽으로 만 돌릴 수 있습니다
즉, 트렁크가 잠겨 있고 키가 A 위치로 바뀌면 2 번 키만 오른쪽으로 돌리면 B 위치 (잠금 해제)로 잠금을 해제 할 수 있습니다.
트렁크가 C 위치에 잠겨 있으면 키 1 번만 잠금 장치를 왼쪽으로 돌려 B 위치로 잠금 해제 할 수 있습니다.
다시 말해, 두 키 중 하나는 트렁크를 잠글 수 있지만 일단 잠긴 후에는 다른 키만 잠금을 해제 할 수 있습니다.
상자 잠그기 열기
위 상황에서 키 1번을 무한이 만들어서 열린 상자와 키를 나눠주고 누군가가 상자에 뭔가를 넣고 왼쪽으로 돌려 상자를 잠갔다면,
잠긴 상자는 키 2번을 가진 사람만이 오른쪽으로 돌려 상자의 내용물을 확인할 수 있습니다.
맺음말
좀 이해하기 힘들 수 있겠지만 이것이 바로 공개키 암호화 방식 입니다.
실제 스팀잇에서도 이것을 활용 할 수 있는데 스팀을 전송할 때 메모에 #을 붙여 글을 작성하여 보내면 해당 글은 공개키 암호화 방식으로 작성되어 보내지며 ( 상대방의 공개 메모키 + 나의 개인 메모키 => 그래서 나와 상대방 만 확인 가능함 ) 해당 글은 메모키를 이용하여 해당 유저와 나만이 볼 수 있게 됩니다.
이해 안되면 2번보기, 그래도 안되면 관련 글 검색 고고, 그냥 귀찮음 응원의 댓글이라도 ㅋ
이해하기 힘든? 글 읽어 주셔서 감사합니다.