[SimpleDES] Simplified Data Encryption Standard

Simplified Data Encryption Standard (Simplified DES) Author silnex Introduce S-DES TL; DR 바로 Example로 넘어가고 싶다면, [SimpleDES] Simplified Data Encryption Standard Practice 로… Padding Oracle Attack을 공부하기 위해 CBC에 대해서 공부하던 중 Block Cipher에 대해 자세히 알고 싶다는 생각이 들어, 지금은 사용되지 않지만 가장 유명한 암호화 방식인 Data Encryption Standard(DES)를 공부하게 되었다. DES알고리즘을 학습해야하지만 일반적인 DES에서 …

[Day 1] 시스템 해킹?

귀찬으니 정리만 한다. #include <stdio.h> int main(){ int i; for(i = 0; i < 10; i++){ printf(“Hello, World!\n”); } return 0; } 간단히 hello world를 10번 출력하는 예제이다. gcc helloword.c 와같이 컴파일 하게되면 아시다 시피 바이너리로 변해 컴퓨터가 해석을 위해 변환 되게 된다. 이를 기계어로 변하게 하는데 이를 볼 수 있게 해주는 objdump명령어를 통해서 자세히 봐보자. Command …

PushPush 순서도(알고리즘) 만들기

PUSH_PUSH Video [onedrivefile id=”file.c18eeaaf089d2b4b.c18eeaaf089d2b4b!10735″] Main Func [onedrivefile id=”file.c18eeaaf089d2b4b.c18eeaaf089d2b4b!10734″] Move Func [onedrivefile id=”file.c18eeaaf089d2b4b.c18eeaaf089d2b4b!10732″] AddRandomBlock Func [onedrivefile id=”file.c18eeaaf089d2b4b.c18eeaaf089d2b4b!10731″] Display & FinishCheck Func [onedrivefile id=”file.c18eeaaf089d2b4b.c18eeaaf089d2b4b!10733″]  

[제 7강] RSA

RSA 순서 256 보다 작은 소수 p와 q를 에라토네스 체 사용해서 구하시오. (단 p > q) n =  p * q 를 계산하시오.  phi(n) = phi(p*q) = phi(p)*phi(q) = (p-1) * (q-1)을 계산하시오. 암호 키 e, (0 < e < n, gcd(e, phi(n)) = 1)을 선택하시오. 복호키 e * d = 1 mod phi(n) 인 …

[제 6강] 고속 누승 알고리즘과 모듈러

고속 누승 알고리즘과 모듈러 연산 누승 알고리즘이란 거듭 제곱을 의미하고 모듈러 연산이란 % 연산자이다. 거듭 제곱은 while 문으로 계속 a를 곱하면 되고모듈러는 % 연산자로 해결 하면 되니 바로 코드를 짜보자. int expo_algorism(int a, int b, int n) { int result = 1; while( b > 0 ) { result = (result * a) % n …

[제 5강][수정됨] 확장 유클리드 알고리즘.function

확장 유클리드 알고리즘 m, n이 gcd(m,n) = 1인 경우 유용한데, 그럼 위의 식은 am + bn = 1이 되고, 여기서 a는 모듈로 연산의 곱의 역원(modular multiplicative inverse)이 되기 때문이다. 출처 : 위키백과 확장 유클리드 알고리즘은 RSA를 만들기 위한 과정 중 복호키(또는 비밀키 라고도 부른다)를 구하기 위해 필요한 알고리즘이다. 일단 지금은 이 정도만 알고 넘어가도록 하자. …