Program_Light
-
KMS10 : C language RSA 키 연산 결과 보고(Arduino Due 순정)Program_Light 2021. 4. 17. 13:00
2020년 2월에 기회가 생겨 RSA알고리즘이라는 것을 접하게 되었다. 이 알고리즘을 5달 반동안 개발하며, RSA를 거의 완벽하게 구현하여, 프로젝트를 마무리 지으며 최종결과 포스팅을 올린다. 이 글을 쓰는 시점에서 RSA과 ECC의 기반이 되는 2048bit 정수 변수 라이브러리를 모두 비공개로 전환했습니다. 그 이유는 이번에 제 스승님께 제가 만든 프로그램 배포에 관해 물었더니 극구 반대를 하시길래 기존에 공개되어있던 프로그램 까지 모두 비공개로 바꾸었습니다.(다시 보니 별 특별한 기술은 없더군요. 다행) 그래서 이번에는 소스를 제외하고, RSA키 생성 프로그램 결과만을 소개하려고 합니다. 제목에서와 같이 Arduino Due순정에서 테스트 하였으며, 설치한/삭제한 라이브러리는 듀에 라이브러리 ..
-
KMS08 : C++ 한글→숫자 변환함수 소스Program_Light 2021. 4. 10. 13:00
간단하게 한글을 수로 변형시켜주는 함수를 개발하였다. 상수와 for문으로 이루어진, 간단함 함수이며, 네이버 블로그 초창기 시절에 개발한 것이라 성능이 그렇게 뛰어나지는 않다. 안녕하세요 KMS입니다. 이번에는 지난번에 만들었다 삭제한 KtoI변환함수를 만들었습니다. 설명은 너무 복잡하므로 생략하겠습니다. 소스코드 아래있는 파일은 릴리즈 파일 입니다. KMS08.h #pragma once #ifndef __KMS_08__ #define __KMS_08__ #include #include namespace korean_KMS { namespace _for_kms08_inline_func { #define alpha_plus_0"영" #define alpha_plus_1"하나" wchar_t read_alp..
-
KMS07 : C++ 소인수분해, 소수판별, 확장유클리드 알고리즘 소스Program_Light 2021. 4. 3. 13:00
요즘 좋은 영감이 떠오르질 않네요. 그래서 지난번 KMS06에서 만든 확장유클리드 알고리즘과 여러 소수관련 함수들을 통합한 프로그램을 하나 만들었습니다. 참고로 소수 탐색기는 KMS04에서 만들었는데, KMS04소스 하나에만 500줄을 넘어가서 굳이 합치지는 않았습니다. 사실상 KMS04, KMS06종합인 KMS07이기 때문에 이번에 설명은 따로 하지 않겠습니다. 소스 source.cpp #include #include #include #include using namespace std; namespace GenP_KMS { #define TRUE1 #define FALSE0 #define MAX(x, y)((x > y) ? (x) : (y)) #define MIN(x, y)((x < y) ? (x) :..
-
KMS01 : 자작 Algorithm Tayo AlgorithmProgram_Light 2021. 3. 27. 13:00
이번에는 옛날에 만든 알고리즘을 하나 올려보도록 하곘습니다. 참고로 제가 2019년에 주소창 최우수상 탄 알고리즘이 바로 이겁니다. 알고리즘 설명 이 알고리즘은 평면방정식과 원주각의 응용버전으로서 1대의 카메라의 높이, 설치각, 촬영각등이 주어졌을때 카메라의 사진상에 있는 점의 위치를 삼차원의 점의 위치를 계산할 수 있습니다. 이때 삼차원에서 카메라가 바라보는 방향을 -x, 높이성분을 y, 나머지 수평성분을 z라고 합니다. 카메라의 위치는 원점(0, 0, 0)입니다. 예를 들어, 카메라가 45도를 바라보게 설치되어있고, 카메라가 수직으로 60도, 수평으로 60도를 촬영할 수 있고, 설치높이가 10m일때를 가정한다면 물체가 카메라가 찍은 사진의 중앙에 위치한다면 물체의 위치는 라고 할 수 있습니다. (..
-
KMS04 : C++ 소수탐색 프로그램 Ver3 (source)Program_Light 2021. 3. 20. 13:00
안녕하세요 tomskang입니다. 오늘은 지난번에 만든 소수 탐색기를 업그레이드 시켜보았는데요 이번에 확실하게 프로그래밍을 각잡고 해서, 최적화되었다 할 수는 없지만, 여러 방면으로 지금까지 나온 소수탐색기 중 가장 혁신적인 성능을 가졌습니다. https://blog.naver.com/tomskang/221714771632 [C++]소수탐색 프로그램 Ver2(source) 이번에 여러모로 바빠서 프로그래밍을 못했었다. 그래서 오랜만에 연습도 할 겸 지난번에 만든 소수탐색 ... blog.naver.com 1. 바뀐점 2. 소스 3. 함수설명 4. 실행 바뀐점은 위와 같습니다. 대부분의 블로그에서는 보지 못했던 새로운 기능을 추가하고자 생각하였고, 그 결과 "저장"이라는 새로운 기능이 생겨났습니다. [소..
-
KMS04 : C++ 소수탐색 프로그램 Ver2 (source)Program_Light 2021. 3. 6. 13:00
이번에 여러모로 바빠서 프로그래밍을 못했었다. 그래서 오랜만에 연습도 할 겸 지난번에 만든 소수탐색 프로그램을 고쳤다. 대부분의 입력과 출력, 원리는 기존과 똑같아서 간단하게 적엇으니 혹시 헷갈린다면 아래 링크를 참고하면 된다. https://blog.naver.com/tomskang/221524574533 소스코드 source.cpp #include #include #include #define TRUE1 #define FALSE0 using namespace std; int f(int N) { static bool C = TRUE; if (C) { N += 2; C = FALSE; } else { N += 4; C = TRUE; } return N; } int main(void) { vector pr..
-
KMS04 : C언어 소수탐색 프로그램 Ver1 (source)Program_Light 2021. 2. 27. 13:00
이 프로그램은 2019. 4. 28. 16:29에 네이버 블로그에서 작성되었습니다. 안녕하세요 tomskang입니다. 오늘은 간단하게 소수탐색 프로그램을 한번 만들습니다. 시간 복잡도는 O(Nsqrt(N))입니다. 소스코드 보겠습니다. 소스코드 source.cpp #include #include #define TRUE1 #define FALSE0 using namespace std; int main(void) { vector vnum; // FindPrime int MN; // MaxNUM int num, i; bool con = FALSE; //continue? double before = 0; cout > MN; if ((MN >= 2) || (MN == -1)) { num = 2; vnum.push..
-
(구)KMS06 : C언어 소인수분해 프로그램 + source (MSFIP)Program_Light 2021. 2. 20. 13:00
이 글은 기존의 네이버 블로그에 2019. 1. 31. 11:10에 올라온 게시물입니다. 안녕하세요 tomskang입니다. 오늘은 간단하게 소인수 분해 프로그램을 한번 만들습니다. 시간 복잡도는 O(sqrt(N)) 입니다. 바로 소스코드 보겠습니다. 소스코드 source.cpp #include #include int main(void) { unsigned long long inum, tnum; unsigned long long i; printf("number : "); scanf("%llu", &inum); tnum = inum; printf("%llu = ", inum); for (i = 2; i