이모티콘을 통한 임의의 데이터 인코딩하기

1 month ago 6

  • 임의의 데이터를 하나의 이모티콘으로 인코딩하는 것이 가능함
    • 유니코드는 텍스트를 코드포인트의 시퀀스로 표현하며, 각 코드포인트는 유니코드 컨소시엄이 의미를 부여한 숫자임.
    • 간단한 라틴 알파벳 텍스트의 경우, 유니코드 코드포인트와 화면에 나타나는 문자 간의 일대일 매핑이 존재함.
    • 다른 문자 시스템에서는 화면에 나타나는 문자가 여러 코드포인트로 표현될 수 있음.
  • 변형 선택자
    • 유니코드는 "변형 선택자"로 불리는 256개의 코드포인트를 지정하며, 이는 자체적으로 화면에 나타나지 않지만, 이전 문자의 표현을 수정하는 데 사용됨.
    • 대부분의 유니코드 문자는 변형이 없으며, 변형 선택자는 변환 중에도 보존되어야 함.
    • 256개의 변형 선택자는 단일 바이트를 숨길 수 있는 방법을 제공함.
  • 데이터 인코딩
    • 변형 선택자 시퀀스를 연결하여 임의의 바이트 문자열을 표현할 수 있음.
    • 예를 들어, "hello"라는 텍스트를 표현하는 데이터 [0x68, 0x65, 0x6c, 0x6c, 0x6f]를 인코딩할 수 있음.
    • 바이트를 변형 선택자로 변환한 후, 이를 기본 문자 뒤에 연결하여 인코딩함.
  • 데이터 디코딩
    • 디코딩은 인코딩과 유사하게 간단함.
    • 변형 선택자를 바이트로 변환하여 원래의 데이터를 복원할 수 있음.
  • 악용 가능성
    • 유니코드를 악용하는 것이므로 권장되지 않음.
    • 사람의 콘텐츠 필터를 우회하거나 텍스트에 워터마크를 삽입하는 등의 악의적인 용도로 사용될 수 있음.
  • 결론
    • 이모지를 사용하여 임의의 데이터를 숨길 수 있는 방법을 설명하며, 이는 유니코드의 변형 선택자를 활용한 것임.
    • 이 방법은 재미있지만, 실제로 사용하기에는 부적절할 수 있음.

Read Entire Article