역사적 암호를 안전한 암호화로 취급함
이 변환들은 패턴이 드러나고 키 공간이 작거나 반복되며 인증 기능도 없습니다. 원리를 보여줄 수는 있지만 비밀번호, 토큰, 비공개 메시지, 고객 기록, 파일을 보호할 수 없습니다.
Atbash, Caesar, ROT13, ROT47, Vigenere, 반복 키 XOR를 하나의 제한된 브라우저 워크벤치에서 비교합니다. 어떤 문자가 바뀌는지 확인하고 예제를 되돌리면서, 역사적 암호 원리와 현대 인증 암호화의 차이를 텍스트 업로드 없이 학습합니다.
관련 작업 흐름을 이어가거나 이 작업 다음에 자주 사용하는 도구를 열어보세요.
암호 학습 워크벤치에서 XOR 바이트 원리를 눈에 보이게 확인합니다. 알려진 벡터를 재현하고 Hex와 Base64를 비교한 뒤 같은 키로 되돌리면서, 실제 비밀 보호라고 표현하면 안 되는 이유까지 기록합니다.
열기관련 도구UTF-8을 엄격하게 인코딩하고 Base64·Base64URL·Data URI·바이너리 바이트를 로컬에서 디코딩합니다.
열기관련 도구17가지 명시적 텍스트 표현을 인코딩·디코딩하고 검증한 래스터 이미지를 로컬에서 Base64로 변환합니다.
열기관련 도구UTF-8 텍스트나 파일 원본 바이트를 해시하고 전체 체크섬을 로컬에서 비교합니다.
열기학습하려는 규칙에 따라 Atbash, Caesar, ROT13, ROT47, Vigenere, XOR 중 하나를 고릅니다. 이 페이지를 보안이나 비밀 보호 절차로 사용하지 마세요.
읽을 수 있는 텍스트에서 시작하면 인코딩, 이미 변환된 결과에서 시작하면 디코딩을 선택합니다. Atbash, ROT13, ROT47은 자기 역연산이지만 방향 표시는 학습 단계를 기록합니다.
Caesar는 1부터 25까지 이동값, Vigenere는 ASCII A-Z 키, XOR는 정확한 UTF-8 키와 Hex 또는 패딩이 포함된 정규 Base64 형식을 설정합니다.
변환을 실행하고 바뀐 문자와 보존된 문자 수를 비교합니다. 고전 문자 방식에서는 비 ASCII 텍스트가 그대로 남고, XOR는 전체 UTF-8 바이트열을 처리합니다.
결과를 반대 방향 입력으로 보내 왕복 결과가 원문과 같은지 확인합니다. 이 검사는 원리 학습일 뿐 현대 암호학적 보안을 증명하지 않습니다.
알려진 벡터를 나란히 실행해 어떤 문자가 변환·보존·순환되는지, 반복 키의 어느 위치와 대응하는지 확인합니다.
제공된 고전 암호 키나 이동값으로 작은 문제를 디코딩하고 정확한 설정을 기록하되, 퍼즐 방식을 안전한 암호라고 표현하지 않습니다.
문구 하나를 인코딩한 뒤 결과를 반대 방향으로 다시 보내 원문을 복구하면서 되돌림과 형식 일치를 이해합니다.
Base64 표현, 해시, 되돌릴 수 있는 고전 암호를 비교해 전송 인코딩, 단방향 지문, 학습용 변환, 실제 암호화를 서로 다른 개념으로 구분합니다.
이 변환들은 패턴이 드러나고 키 공간이 작거나 반복되며 인증 기능도 없습니다. 원리를 보여줄 수는 있지만 비밀번호, 토큰, 비공개 메시지, 고객 기록, 파일을 보호할 수 없습니다.
이 워크벤치에서 Atbash, Caesar, ROT13, Vigenere는 ASCII A-Z 문자만 바꿉니다. 악센트 문자, 한글, 일본어, 이모지, 구두점, 공백은 그대로 보여 암호화된 내용이 되지 않습니다.
Vigenere 키에는 ASCII A-Z 문자만 사용할 수 있습니다. 잘못된 문자는 자동 삭제하지 않고 오류로 처리하며, 입력의 ASCII 문자를 변환할 때만 키 위치가 이동합니다.
Hex와 Base64는 XOR 결과 바이트를 표현하는 형식일 뿐입니다. 디코딩할 때 같은 형식과 정확히 같은 UTF-8 키를 써야 하며, 하나라도 바뀌면 오류나 무관한 텍스트가 나올 수 있습니다.
왕복 성공은 선택한 설정으로 예제 하나가 되돌아왔다는 뜻뿐입니다. 기밀성, 인증, 변조 방지, 무작위성, 다른 구현과의 호환성을 증명하지 않습니다.
Atbash는 영문 알파벳을 거울처럼 대응시키고 대소문자, 공백, 숫자, 비 ASCII 텍스트를 보존합니다. 한 번 더 적용하면 원문으로 돌아갑니다.
Atbash 인코딩: Abc Xyz 123 한글Zyx Cba 123 한글Caesar 이동값 3은 Z 다음을 C로 순환합니다. 디코딩은 같은 이동값을 빼며 구두점과 대소문자를 보존합니다.
Caesar 인코딩, 이동 3: Attack at Dawn!Dwwdfn dw Gdzq!키는 ASCII 문자 위치에만 반복 적용됩니다. 공백과 구두점은 보존되고 키 위치를 소비하지 않습니다.
Vigenere 인코딩, 키 LEMON: ATTACKATDAWNLXFOPVEFRNHR평문과 키를 UTF-8 바이트로 바꾼 뒤 반복 키 XOR를 적용합니다. Hex는 결과 바이트를 읽기 좋게 표현할 뿐, 그 자체가 암호화는 아닙니다.
XOR 인코딩, 키 demo, Hex: hello world0c0001030b451a00160909Atbash는 26개 ASCII 문자에서 A를 Z, B를 Y처럼 치환합니다. Caesar는 1부터 25까지 선택한 이동값을 더하고 ROT13은 고정값 13을 사용합니다. Atbash와 ROT13은 자기 역연산이고 Caesar 디코딩은 선택값을 뺍니다. 대소문자는 보존하며 ASCII A-Z 밖의 문자는 그대로 복사합니다.
ROT47은 ASCII 코드 포인트 33부터 126까지 인쇄 가능한 문자를 처리하므로 문자뿐 아니라 숫자와 구두점도 바꿉니다. 공백, 줄바꿈, 비 ASCII 텍스트는 보존합니다. 94개 범위의 절반인 47만큼 회전하므로 자기 역연산입니다. 이는 난독화 학습이지 문자 인코딩 표준이나 보안 원시 기능이 아닙니다.
Vigenere는 키의 각 ASCII 문자에서 하나의 이동값을 만들고 입력에 반복 적용합니다. 이 구현은 A-Z 또는 a-z만 허용하고 원문의 대소문자를 보존하며 ASCII 문자를 바꿀 때만 키 위치를 진행합니다. 공백, 숫자, 구두점, 비 ASCII 키 문자를 몰래 지우지 않고 거부합니다.
반복 키 XOR는 평문과 키를 UTF-8 바이트로 변환하고 각 입력 바이트에 반복되는 키 바이트를 XOR한 뒤 정확한 Hex 또는 패딩이 있는 표준 Base64로 표현합니다. 디코딩은 표현을 엄격히 파싱하고 같은 XOR를 적용한 후 유효하고 표시 가능한 UTF-8인지 검사합니다. 짧은 키 재사용은 패턴을 노출하며 인증 기능이 없습니다.
읽을 수 있는 텍스트는 유니코드 코드 포인트 1,000,000개와 UTF-8 1 MiB, 인코딩된 XOR 입력은 2,097,152자, 키는 코드 포인트 128개와 256바이트, 출력은 2 MiB로 제한됩니다. 지원하지 않는 제어 문자와 짝이 없는 UTF-16 surrogate는 거부합니다. 처리는 브라우저 안에서 이루어지며 집계 분석에는 입력, 키, 출력값이 포함되지 않습니다.
아니요. 포함된 방식은 모두 역사, 퍼즐, CTF 연습, 바이트 학습용입니다. 실제 데이터에는 nonce, 키, 인증 태그, 실패 처리를 올바르게 관리하는 검토된 인증 암호화 방식과 플랫폼 또는 라이브러리를 사용해야 합니다.
Atbash는 A-Z를 반대로 대응시키고, ROT13은 문자만 13칸, ROT47은 !부터 ~까지 인쇄 가능한 ASCII 전체를 47칸 회전합니다. 셋 모두 같은 연산을 다시 적용하면 원래 값으로 돌아갑니다.
Caesar는 모든 ASCII 문자에 하나의 숫자 이동값을 사용합니다. Vigenere는 A-Z 키에서 만든 여러 이동값을 반복하며, 이 구현에서는 ASCII 문자를 만날 때만 키 순서를 진행합니다.
Hex와 Base64는 같은 XOR 결과 바이트를 되돌릴 수 있는 텍스트로 표현합니다. Hex는 바이트별 검사에 편하고 Base64는 더 짧습니다. 디코딩할 때 선택 형식이 반드시 일치해야 합니다.
변환은 로컬에서 실행됩니다. 동의 기반 분석에는 방식, 방향, 출력 형식, 바이트 수, 문자 수, 소요 시간, 오류 코드가 전달될 수 있지만 입력, 키, 출력 텍스트는 포함되지 않습니다. 로컬 처리라도 승인받지 않은 비밀을 브라우저에 붙여넣어도 된다는 뜻은 아닙니다.
관리 및 검수 SimpleWebUtils검토일
검증 방법: 암호 학습 워크벤치에서 “정확한 UTF-8 반복 키 XOR 벡터 재현” 픽스처를 임의로 고치거나 단순화하지 않고 실행했습니다. “정확한 바이트 표현 선택”에서 “같은 키와 형식으로 되돌리기”로 이어지는 결과를 대조했습니다. 비성공 경로 검토에는 “UTF-8 바이트 대신 화면의 문자에 XOR 적용”, “디코딩 중 Hex와 Base64 혼합” 조건을 사용했습니다.
기대 결과: demo key는 Hex 0c0001030b451a00160909와 Base64 DAABAwtFGgAWCQk=를 만들고 둘 다 “hello world”로 복원했으며, UI는 반복 key XOR를 안전한 암호화가 아닌 학습용으로 표시했습니다.
검증한 작업 가이드 열기도구를 열기 전에 자주 쓰는 작업 흐름과 예시를 확인하세요.
관리 중인 다른 작업 흐름을 이어서 사용해 보세요
UTF-8을 엄격하게 인코딩하고 Base64·Base64URL·Data URI·바이너리 바이트를 로컬에서 디코딩합니다.
17가지 명시적 텍스트 표현을 인코딩·디코딩하고 검증한 래스터 이미지를 로컬에서 Base64로 변환합니다.
UTF-8 텍스트나 파일 원본 바이트를 해시하고 전체 체크섬을 로컬에서 비교합니다.
zxcvbn-ts 패턴, Unicode 길이, NIST 검증자 기준으로 비밀번호 추측 가능성을 로컬 평가합니다.
Web Crypto와 편향 없는 인덱스, 기본 마스킹, 명시적 문자 정책으로 8~128자 비밀번호 하나를 로컬 생성합니다.