암호수학2 [암호수학] Euclidean Algorithm 구현 Euclidean Algorithm(유클리드 알고리즘) GCD(최대공약수)를 구하기 위한 알고리즘으로 위의 규칙을 바탕으로 이러한 식을 도출해 증명 할 수 있다. 자바에 익숙해져야 할 것 같아서 자바로 코딩 해 보았다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344package 암호수학;import java.util.*; public class EuclideanAlgorithm { public void cal(int a, int b){ int[] q = new int[50]; int[] r = new int[50]; int i = 0; int cnt = 0; int gcd = 0; int[] s = new i.. 2018. 3. 30. [암호수학] 카이사르 암호화문 복호화 카이사르 암호화(Caesar’s cipher) 카이사르 암호화된 위 암호문을 복호화 해보자 일반적인 shift 연산으로 암호화 된 것이 아니라 불규칙적으로 암호화 되어있다그래서"알파벳 빈도수"를 이용하여 해결해보자 위 그래프는 영어 문장에서 알파벳이 나타나는 빈도수이다.따라서 먼저 암호문의 빈도수를 구하고 빈도수에 맞춰서 다른 문자로 치환하는 코드를 짜면 될것 같다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include char *change(char *letter){ char before,after; int i,j; printf("\n\n치환할 문자를 입력해주세요 : "); scanf("%c".. 2018. 3. 15. 이전 1 다음 반응형