우리가 스팀잇에서 로그인을 하거나 송금을 할 때 입력하는 포스팅키, 액티브키는 비밀키(private key)입니다. 그리고 각 비밀키에 대응하는 공개키(public key)가 존재합니다.
메모 암호화에 사용하는 메모키 또한 비밀키와 공개키가 있습니다. 비밀키와 공개키로부터 실제로 메모 문자열을 암호화하기 위한 키를 만들어냅니다. 인터넷 통신에서는 세션키(session key)라는 표현을 쓰는데 여기서는 뭐라고 부르는지 모르겠네요. 아무튼 편의상 세션키라고 하겠습니다.
암호학에 대한 지식이 매우 얕은 관계로 자세한 동작 방식은 저도 잘 모릅니다만, 아무튼 기본적으로 암호화된 메모를 받은 수신자는 송신자가 암호화할 때 사용한 세션키를 알아야만 다시 이전 문자열을 복원할 수 있겠죠.
이 부분이 재미있는데, 송신자는 세션키를 만들 때 송신자의 메모 비밀키와 수신자의 메모 공개키를 사용해서 만듭니다. 그러면, 수신자는 수신자의 메모 비밀키와 송신자의 메모 공개키를 사용해서 해당 세션키를 만들어낼 수 있습니다. 즉, 송신자와 수신자가 상대방의 메모 비밀키는 모르지만 암호화에 사용한 세션키는 자신의 비밀키와 상대방의 공개키를 이용해서 서로 공유할 수 있게 된다는 것입니다.
마찬가지로 포스팅키 또한 비밀키와 공개키가 존재하는데, 동일한 방식을 활용할 수 있다면 포스트 본문을 암호화하는 비공개 포스트 작성도 가능하지 않을까 싶기도 합니다. 송신자와 수신자가 둘 다 나 자신이라면 나만 볼 수 있는 비밀글이 될 수 있겠죠. 물론 이것은 스팀잇 자체적으로 지원하는 방식은 아니기 때문에 별도의 작업이 필요할 것입니다.