본문 바로가기

디지털포렌식(Digital forensic)/한글

한글 문자 대체 암호, '가장맛있는음식은'

반응형

한글 대체 방식 암호는 한글 문자를 다른 한글 문자나 기호로 대체하여 암호화하는 방식을 말한다.
이 방식은 한글 문자를 읽기 어렵게 만들고 특정 정보를 숨기는 용도로 사용된다. 
한글 대체 방식 암호화의 기본 아이디어는 원래의 한글 문자를 대체 문자로 바꾸는 것이다.
이때, 대체 문자들의 매핑은 미리 정해진 규칙에 따라서만 완성된다.
 



암호화된 문자열을 복호화하려면 암호화 시에 사용된 대체 문자들의 1:1 매핑 정보를 알고 있어야 
원래 문자열을 알 수 있다. 따라서, 매핑정보 자체가 암호가 된다.

예를 들어, '서해안'이 원문이고 '동중국'이 매칭문이라면
매핑정보가 담긴 책자를 별도로 제공하고 암호를 받은 날짜에 해당하는 페이지를
찾아 매칭을 하는 방법도 있다.

using System;

class Program
{
    static string CharacterSubstitution(string input)
    {
        
        char[] originalCharacters = { '국', '가', '와', '민', '족', '을', '위', '해' };
        char[] substitutedCharacters = { '가', '장', '맛', '있', '는', '음', '식', '은' };
        
        var substitutedText = new System.Text.StringBuilder();

        foreach (char c in input)
        {
            int index = Array.IndexOf(originalCharacters, c);
            if (index != -1)
            {
                substitutedText.Append(substitutedCharacters[index]);
            }
            else
            {
                substitutedText.Append(c);
            }
        }

        return substitutedText.ToString();
    }

    static void Main(string[] args)
    {
        string originalText = "국가와민족을위해";
        string substitutedText = CharacterSubstitution(originalText);

        Console.WriteLine($"Original Text: {originalText}");
        Console.WriteLine($"Substituted Text: {substitutedText}");
    }
}

결과
Original Text: 국가와민족을위해
Substituted Text: 가장맛있는음식은

728x90