🔑 암호학 (Cryptography)
✅ 협의 : 제3자로부터 정보를 보호하는 방법에 대한 연구
✅ 광의 : 수신자와 송신자가 신원을 확인하는 방법, 메세지가 중간에 조작되지 않았음을 보증하는 방법 등에 대한 연구
➕ 주요 keyword : 키 생성, 암호화, 복호화
- 키 생성 : 암호화와 복호화에 사용할 키를 만드는 과정
- 암호화 : 키를 이용해 평문을 암호문으로 변환하는 과정
- 복호화 : 송신자가 전송한 암호문을 수신자가 키를 이용해 평문으로 변환하는 과정
- 암호 시스템 : 암호화와 복호화로 정보가 전달되는 체계
🔎 암호화와 인코딩
인코딩(Encoding) : 데이터를 다른 형태로 변환하는 것
※ 암호화와 인코딩의 차이점
인코딩 : 데이터 기밀성을 고려하지 않아 누구나 디코딩을 통해 원문을 구할 수 있음
→ 크기를 줄이거나 컴퓨터가 이해하기 쉬운 형식으로 변형하기 위해 사용
ex. 압축, Base64 ...
➕ 암호학을 위한 Tool
PyCryptodome
PyPI에 등록된 암호학 전용 패키지
✔️ 설치 방법
pip install pycryptodome
- 655337 소수 여부 확인
pwntools
바이너리 분석 & 소켓 통신, 시스템 해킹 등 다양한 분야에서 사용
pip install pwntools
from pwn import *
명령어로 사용될 예정
▶주로 process 나 remote 기능
tqdm
많은 양의 연산 시에 진행도를 진행표시줄로 표시해주고, 완료까지 걸리는 예상시간 표시해주는 패키지
pip install tqdm
sage --pip install tqdm
from tqdm import tqdm, trange
명령어로 사용될 예정
예시)
from tqdm import tqdm, trange
val=0
for i in trange(10000000):
val+=3
val
SageMath
Sage : CAS(Computer Algebra System) 로 불리는 컴퓨터용 수학 소프트웨어
사용 기능 : Zmod, GF, 행렬 & 벡터 클래스, 행렬 관련 함수 등
✔️ 설치 방법
WSL(Windows Subsystem for Linux) 설치 후 Linux 환경에서 SageMath 설치
https://pkjung.tistory.com/190
sagemath 설치법
여기서는 윈도우/리눅스에 sagemath를 설치하는 법을 다룬다. 1. 준비해야 할 것 CPU 정보sagemath를 설치할 검퓨터의 cpu에 대한 정보가 필요하다. 작업관리자를 호출하여 [성능] 탭에서 CPU의 코어 및
pkjung.tistory.com
1. CPU 정보 확인
작업 관리자 > 성능 > CPU 코어 및 논리 프로세서 개수 확인
➕작성자 본인 : CPU 코어 6 / 논리 프로세서 12
2. Windows Termianl 설치
Windows Store > Termianl 검색 > Windows Termianl 설치
⚠️ 오류 발생
이런 작업을 오랜만에 해보니 깜박했다 환경 설치하는게 제일 힘들다는 거
학교 다닐 때 기억이 새록새록...
해결 방법
1) 관리자 권한으로 실행
2) get-help Set-ExecutionPolicy 통해 설정 권한 확인
한참 걸려놓고 나오지도 않아서 기다리다가 결국 재실행
회사 다니면서 배운 것 중 하나가 인내심ㅎㅎ...
AllSigned : 신뢰된 배포자에 의해 서명된 스크립트만 실행하는 정책
ByPass : 어떤 것도 차단 및 경고 없이 실행 가능한 정책
RemoteSigned : 로컬에서 본인이 생성한 스크립트만 실행 가능 & 인터넷에서 다운받은 스크립트 중 신뢰된 배포자에 의해 서명된 것만 실행 가능한 정책
Restricted : PowerShell 실행 권한 정책 중 기본적으로 적용되어 있는 옵션으로 ps1 스크립트 파일을 로드하여 실행할 수 없는 정책
Unrestricted : 제한 없이 모든 스크립트 실행 가능한 정책
3) Set-ExecutionPolicy RemoteSigned
RemoteSigned 정책으로 변경
⚠️ 오류 발생
지금 누가 이기나 해보자는 거지
내가 학부생 시절 유리멘탈로 보인다면 오산이다
Windows PowerShell cmdlet용 Azure Active Directory 모듈을 실행하려고 할 때 오류(\<cmdlet name> 용어가 인식되
Windows PowerShell cmdlet용 Azure Active Directory 모듈을 실행하려고 할 때 오류 메시지가 표시되는 문제를 설명합니다. 해결 방법이 제공됩니다.
learn.microsoft.com
https://lifeplan-b.tistory.com/87
Azure Active Directory 모듈 Powershell 설치 Step!
Office365 or AzureAD를 관리하는 관리자라면, Powershell을 이용한 관리가 필수라고 할 수 있습니다. Office365, AzureAD가 상당히 많은 기능이 GUI로 구현이 되어 있지만, Powershell로 관리할 수 있는 명령에 비
lifeplan-b.tistory.com
Install-Module MSOnline > Y > Y
https://blog.naver.com/ms_leo/221399933330
Office 365 - powershell 연결 (&Connect-MsolService 오류)
Office 365는 포털이 존재하기 때문에 IT 관리자가 쉽게 관리할 수 있습니다. 하지만 종종 관리포털에서...
blog.naver.com
계속 진행하다가 깨달았는데 내가 AzureAD 서비스를 구매하지 않아서 오류가 나는 것 같다는 생각이...
모르겠고 그냥 오류 뜨던 말던 wsl을 설치하기로..
[PowerShell] "용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지
파워쉘(PowerShell)로 작업을 하려는데 다음과 같은 오류가 나면서 진행이 안될때가 있습니다. 1. 오류 내용 [파일명] : '[파일명]' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램
blog.danggun.net
전 안 되는데요 안된다구요 세상이 날 억까해
아무래도 powershell을 실행하자마자 뜨는 anaconda3 경로가 내 컴퓨터에는 anacoda 폴더이기 때문에
발생하는 오류인 것 같아 시스템 환경 변수도 바꿔보고 powershell profile 파일에 경로 추가도 해보았지만
결국에는 안되서 wsl을 몇 번이고 삭제 재설치 반복하다가
홧김에 anaconda 삭제 후 재설치하기로 결정
파이썬 아나콘다 삭제- 삭제 후 리부팅, 설치 위치, Uninstall Anaconda - 데이터이야기
파이썬 아나콘다 삭제 - 아나콘다를 삭제하는 방법입니다. 아나콘다를 다시 설치하고 싶을 때 가장 먼저 필요한 것은, 기존 꺼 삭제인 거죠. 다시 설치하기 위해 삭제를 해 볼까요. 따라오실 준
dataiyagi.com
anaconda3로 되어있는 걸 anaconda로 못 바꾼다면
내가 다시 anacond3로 맞춰주지 라는 마음가짐으로
anaconda 재설치 후, pycharm interpreter 경로도 재설정해주었다
이 참에 python 사용할 때 경로가 꼬여 힘들었던 생각이 떠올라 뿌리를 잘라버리자는 생각으로 기존에 별도 설치되어 있던 python도 삭제
주변인한테 물어보려다가 진짜 마지막 수단으로
GPT한테 물어봤는데 완벽하진 않았으나
GPT + 구글링 + anaconda 재설치 콜라보로
어찌저찌 powershell 오류는 대충 고쳐진 듯 했다
그 후 다시 wsl 설치
뭔가 이전의 설치 화면가 다르다며 기쁘기도 잠시
저기서 멈춰서 삭제하고 다시 깔았다
노트북 재부팅 2n번째...
불굴의 의지로 설치 완료
https://coffeebaralog.tistory.com/67
[ERROR] 디스크를 WSL2에 연결하지 못했습니다. 지정된 파일을 찾을 수 없습니다.Error code: Wsl/Service/C
문제 ❗ wsl install 하고 재부팅 후 접속하려 했으나 에러 원인 🔧 https://github.com/microsoft/WSL/issues/10032 Failed to attach disk 'LocalState\ext4.vhdx' to WSL2: The system cannot find the file specified. · Issue #10032 · microsof
coffeebaralog.tistory.com
그런데 또 다시 오류가 생겨서 ubuntu에서 접속해보니 연결 실패 오류가 뜨길래
다시 구글링해서 해결
만물 구글링설
와 1n번째 설치하면서 이런 화면 처음본다 진짜로
기쁨의 설치로 캡처
하지만 또 다시 오류
이정도면 뭐 그냥 설치하면서 만날 수 있는 오류란 오류는 다 만나는 듯
또 다시 gpt와 구글링과 드림핵 설치 내용을 짬뽕으로 섞어가며
머리를 쥐어짜가며 해결 중
제발 해결되라는 마음으로 기다렸지만
역시나 또 패키지 설치 실패
진짜 나한테 왜이러니..
그래서 powershell 말고 우분투로 돌아옴
드림핵 암호학 커리큘럼이 언제 만들어진건진 모르겠으나 정말 그대로하면 되는게 없어...
위에 올려놓은 SageMath 설치 블로그 따라가기
그러나 또 오류
이젠 웃음도 화도 안나..
명령어 입력해서 별도로 m4패키지 설치해주고 다시 진행
환장할 오류는 또 발생 C 컴파일러가 경로에 있지 않아서 발생한 오류이므로 다시 별도로 설치해줬다
이후에도 헤더파일이 없어 오류가 발생했지만
블로그 내용이 너무 길어지니 오류는 그만 넣겠다..
설치 설치를 거듭해서 SageMath 소스코드를 구성하고
빌드까지 도전
MAKE="make -j6" make
그동안 했던 작업 중 가장 오랜 시간이 걸리는 것 같다
블로그 주인장분도 오래 걸린다고 했으니 마음의 평안을 가지고 기다림의 연속
은 무슨 진짜 엄청 오래 걸림
한 시간 넘은 듯 심지어 뭐가 잘못됐는지 중간에 멈춰서 계속 냅뒀는데
안 움직여서 엔터 쳤더니 다시 움직이는 이런 상황... 스터디 카페였는데... 두시가 넘어도 집에 못 가는 상황..
한 시간이요? 4시간 넘게 걸림...
새벽 4시 반인데 아직도 진행 중인 상황...
집 갈 때 다운로드 끊길까봐 노트북 열고 들고 감 ㅎㅅㅎ..
결국 계속 켜놓고 오전 8시에 확인한 결과, 완료되어 있는 모습 발견
눈물이 난다..
혹시 또 무언가 오류가 날 수 있으니 확인
드디어 된다 ㅜㅜㅜㅜㅜ
브라우저에서 jupyter 노트북으로 실행 가능
드림핵에서 나온 샘플 결과도 확인 가능
좋았다
https://pkjung.tistory.com/119
sagemath
소프트웨어의 발달로 복잡한 계산을 컴퓨터에 맡기는 일이 많습니다. 단순한 숫자계산이나 그래픽 계산을 벗어나서 복잡한 수식계산도 요즘에는 컴퓨터가 척척 해내지요. 일, 이차방정식 같이
pkjung.tistory.com
'WorkOut > Dreamhack' 카테고리의 다른 글
Cryptography | Double DES _ Exploit : Meet-in-the-middle Attack (0) | 2024.07.16 |
---|---|
Cryptography | 현대 암호 (대칭키 & 비대칭키 암호, 기밀성/무결성/인증/부인방지) (0) | 2024.07.15 |
Cryptography | 고전 암호 (치환 & 전치) (0) | 2024.07.07 |
Cryptography | 배타적 논리합과 합동식 (0) | 2024.07.07 |