[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에서 …

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를 만들기 위한 과정 중 복호키(또는 비밀키 라고도 부른다)를 구하기 위해 필요한 알고리즘이다. 일단 지금은 이 정도만 알고 넘어가도록 하자. …

[제 4강] 최대공약수.function

최대공약수 (유클리드 알고리즘을 이용) gcd(a,b)로 표현 하기도 하는 이번 글에선 최대공약수를 다뤄보려고 한다.   우리가 보통 최대공약수를 구하는 방법음 다음과 같다. 2 │ 48  183 │ 24   9   └────         8     3이렇게 구한 뒤에 세로로 곱한다면 최대공약수가 나오는 방식으로 여태까지 구해 왔다. 하지만 컴퓨터는 이러한 방법으로는 최대공약수를 구하지 못한다.또한 각 수를 모두 …