암호(5)
-
SSH
원격 linux 서버에 연결하는 가장 일반적인 방식의 명령어 SSH (Secure Shell, Secure Socket Shell) : 원격 서버에 연결할 수 있도록 해주는 암호화된 네트워크 프로토콜 암호화를 통해 호스트와 클라이언트가 안전하게 통신할 수 있음 클라이언트가 원격 서버의 터미널에 접속하여 명령어를 입력하면, 호스트가 명령 실행 결과를 클라이언트에게 전달 ssh user@HOST -p PORT -i [개인 키 파일 경로] #HOST : 접속하려는 원격 서버의 ip 또는 도메인 # -p : 특정 포트로 접속하고 싶은 경우 접속하는 클라이언트가 믿을만한 사용자인지 인증하는 방법 1. 패스워드 인증 ssh user@HOST 명령을 실행하면 패스워드를 입력한 뒤 원격 서버에 접속할 수 있음 패스워드..
2023.10.31 -
DreamHack [crypto] Basic_Crypto 1
dreamhack crypto 난이도 1 첫번째 문제입니다.Roman emperor's cipher ==> 카이사르 암호 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 암호화 기법으로, 시저 암호라고도 부름.즉, 암호화를 할 때 평문을 n번씩 밀려서 암호화하는 방법.알파벳을 밀어낸 횟수를 key라고 하면, 알파벳은 총 26자 => 가능한 키의 개수는 26. 복호화 시작=~~~~~~ (서치했습니다^^;)출처: http://[Dreamhack] Basic_Crypto1.. : 네이버블로그 (naver.com) #caesar.c#define _CRT_SECURE_NO_WARNINGS#include #include #include int main(void) { char arr[501]; ..
2023.09.04 -
DreamHack [crypto] ROT128
암호학 워게임입니다.(암호학 최고!!!)소스코드#!/usr/bin/env python3hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] #0~255 정수 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 list에 저장with open('flag.png', 'rb') as f: #flag파일을 이진모드로 열어서 파일 내용을 읽어옴 plain_s = f.read() #plain_s에 저장plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] #plain_s에 저장된 바이트 값을 16진수 문자열로 변환한 뒤, 이를 두 자리로 맞추고 대문자로 바꾼 값을 l..
2023.08.31 -
DreamHack [crypto] SingleByteXor
dreamhack 암호학 워게임입니다.dying message입니다.54586b6458754f7b215c7c75424f21634f744275517d6d xor 변환기를 돌려보았습니다.흐음..... 텍스트 데이터를 보면 형태는 DH{} 비슷한걸로 보아바로 xor변환을 하면 안될 것 같습니다. 0_0seo 님의 C코드를 참고하였습니다.#define _CRT_SECURE_NO_WARNINGS#include #include void main(){ char hex[25] = { 0x54, 0x58, 0x6b, 0x64, 0x58, 0x75, 0x4f, 0x7b, 0x21, 0x5c, 0x7c, 0x75, 0x42, 0x4f, 0x21, 0x63, 0x4f, 0x74, 0x42, 0x75, 0x51, 0x7d, ..
2023.08.23 -
SuNiNaTaS 5번
5번입니다.힌트는 12342046413275659정답이 아님을 알면서도 한번 넣어보기~실패!ㅋㅋㅋㅋㅋㅋㅋ 한참을 소스코드를 보는데 딱봐도 수상한 부분을 포착했습니다.eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\..
2023.08.23