분류 전체보기
-
~2021까지 나갔던 모든 대회 정리C&E: career & experience/Contest 2021. 5. 29. 13:00
Language 주 언어 : C / C++ (당연히 자료구조도 할 줄 암) sub1 : Python (GUI를 이용한 프로그램을 5개 정도 제작) 예시1 sub2 : Java C++ / Rust / Android studio(Kotlin) / JavaScript를 다룰 수 있음 웹개발 - CRUD시스템을 제작할 수 있음. EJS framework를 다룰 수 있음. but 리액트 할 줄 모름. 보안 - 자체제작 RSA, ECC 암호화 프로그램 보유 중. openRSA보다 18%의 성능 향상이 있음을 확인함 알고리즘 - 기본만 함. KOI 은상 수준. 인공지능 - CNN부터 LSTM까지 다 배웠으나 직접 구현은 안 해봄 tensorflow갓갓. portfolio 2018 주니어 소프트웨어 창작대회 중등부 장..
-
C언어 NIST a statistical Test Suite for Random and Pseudo random Number Generators for Ctyptographic Applications에 관련된 자료R&E: research & education/Research 2021. 5. 22. 13:00
오늘은 난수에 대한 자료들을 다루어보겠습니다NIST에서 권장하는 난수 생성의 기준이라고 할까요? 그정도 느낌의 자료입니다.영어로 된 자료는 많지만, 한국어로 된 자료는 없어서 내가 볼겸, 정보공유를 할 겸 해서 포스트를 하게 되었습니다일단 pdf를 먼저 올려드리도록 하겠습니다이 pdf는 어떻게 수가 난수인지를 판별하는가에 대한 13가지의 기준을 설명하고 있습니다. 모든 기준을 만족해야 random number라 할 수 있구요, 각종 통계학에서 사용되는 것으로 보이는 함수들을 수식에 다량 사용하고 있습니다. 개인적으로는 뒤로 갈수록 수식이 더 복잡해지는 것 같았습니다. NIST에서는 이 random 판별 방식의 소스또한 공개하고 있습니다.(아래 사이트를 클릭하시면 자료를 가져온 사이트로 가실 수 있습니다)..
-
포스트 일정 변경 공지카테고리 없음 2021. 5. 22. 13:00
작년까지 열심히 해오던 네이버 블로그를 버리고 티스토리 블로그로 와 지금까지는 네이버 블로그의 signature 프로젝트들을 포스팅 하면 되었기 때문에 소재 걱정이 없었습니다 5월 초까지만 해도 네이버 블로그에서 해오던 (2월쯤에 끝난) ECC프로젝트 결과를 포스팅하는 걸로 버텼지만, 이제는 주제를 생각해야 될 시기가 되었습니다 문제는 소재가 너무 느리게 나온다는 겁니다 관련 주제를 생각하는 데도 엄청난 시간이 걸리고 과거에는 signature 프로젝트라 해봤자 간단한 수준이기에 1달은 가지는 못했지만 최근 signature 프로젝트인 RSA, ECC모두 2개 모두 개발 및 연구 기간이 6개월을 넘겼습니다 코드는 모두 800줄, 1800줄 정도 되고요 그래서 제가 생각한 바로는 앞으로는 포스팅은 1달에 ..
-
C언어 math.h에서 파이값 가져오는 방법R&E: research & education/Research 2021. 5. 15. 13:00
이번주에도 간단하게 C언어 파이값을 비롯해, 자연상수, 자연상수 로그값, 자연소그부터 루트 파이와 2 분의 파이 등 다양한 상수값?들을 알아내는 방법을 알아봅시다.이 방법은 개인적으로 알면 별거 아닌데, 모르고있다 알게되면 '아...'하게 되는 내용입니다.참고로 비주얼 스튜디오를 기준으로 설명드리는 겁니다. gcc에서는 높은 확률로 작동이 안될겁니다.+ 2주연속 간단한 내용이라 죄송합니다. 다음주에는 NIST에서 권장하는 난수 판독기로 돌아오겠습니다코드#include #define _USE_MATH_DEFINES#include //이제 여러분은 이 소스에서 math.h에서 지원하는 모든 매크로(define)들을 사용할 수 있습니다.int main(void) { return 0;} 사용가능한 매크로들 (..
-
C언어 array[-1]에 접근할 수 있는 방법R&E: research & education/Research 2021. 5. 8. 13:00
오늘은 거대한, signature 프로젝트 보다는간단하게 신기한 코드를 알아보도록 합시다.이건 제가 알아낸 방법이며, 어디든 퍼가도 좋으니 제발 퍼가신다면 출처에 KMS studio라고 잘보이게 써주세요코드#include int main(void) { int array_s[5] = { 0, 1, 2, 3, 4 }; int* arr = array_s + 4; int i; printf("arr[-3] = %d\n\n", arr[-3]); for (i = -4; i 출력결과원리간단한 원리로 "이게 될까?"했는데 "이게 되네?"가 되서 올립니다.사실 포인터만 배우시면 이정도 프로그램 원리는 알 것이라 생각합니다. printf 부분만 보면 런타임에러가 발생하거나 쓰레기 값이 출력될 것 같은 생긴 코드지만arr[-..
-
KMS11 : C language ECC 키 연산 결과 보고Program_Light 2021. 5. 1. 13:00
이 글이 공개되는 시점은 5월 초 쯤이겠지만, 이 글을 작성하는, 지금 2월 16일쯤에, ECC프로젝트를 적절히 테스트한 후 마무리 하기로 하였다. 개인적으로 몽고메리를 구현해보고자 하는 욕심이 있었지만, 그럴려면 Divide와 powMod연산을 다 갈아엎어야 해서... 이제 새로 시작되는 고등학교 생활을 위해 접어두기로 했다. 물론 시간이 많이 나게 된다면, 그때 구현할 의향은 있다, 작년 7월쯤에 RSA끝나고 시작해서 2월까지 왔으니 8개월쯤 한 셈이다;; RSA구현할 때 보다 거의 1.6배가 걸렸다. (물론 마지막 한달간은 간단한 최적화만 했지만) 개인이 혼자 하는 프로젝트라서 특히 초반 자료조사가 힘들었다. 특히 타원곡선 자료들 긁어오는게 너무 힘들었다. 많은 것을 공개하지는 못하지만, 표준 타원..
-
KMS11 : C language ECC 키 연산 중간 보고(4 - 0.0.2)Program_Light 2021. 4. 24. 13:00
지난번에 개발하던 RSA알고리즘을 거의 마무리 짓고 ECC 알고리즘을 개발하여, 프로그램이 입력값에 따라 계산을 하고 그 결과를 확인할 수 있는 수준까지 개발하였다. 아직 완벽한 단계는 아니며, 약 30%까지 개발했다고 할 수 있다. 최근 세 달 정도 ECC제작을 핑계로 포스팅을 잘 하지 않았다.(+기말고사, NYPC, KOI) 사실상 블로그 조회수의 대부분은 그나마 덜 마이너한 이진법 암호가 모두 책임지고 있지만 활동은 안해서인지 유입량이 줄었다. 조회수 늘어난다고 딱히 쓸 곳은 없지만 개인적으로 참 아쉬운 기분이다. 게임에서 골드 빼았기는 기분이 이런건가. * 이 글은 2020.10.31에 작성된 제작자의 네이버 블로그 글입니다. 결론적으로 말하자면 세 달을 투자한 것에 비해 결과가 좋지 못하게 ..
-
KMS10 : C language RSA 키 연산 결과 보고(Arduino Due 순정)Program_Light 2021. 4. 17. 13:00
2020년 2월에 기회가 생겨 RSA알고리즘이라는 것을 접하게 되었다. 이 알고리즘을 5달 반동안 개발하며, RSA를 거의 완벽하게 구현하여, 프로젝트를 마무리 지으며 최종결과 포스팅을 올린다. 이 글을 쓰는 시점에서 RSA과 ECC의 기반이 되는 2048bit 정수 변수 라이브러리를 모두 비공개로 전환했습니다. 그 이유는 이번에 제 스승님께 제가 만든 프로그램 배포에 관해 물었더니 극구 반대를 하시길래 기존에 공개되어있던 프로그램 까지 모두 비공개로 바꾸었습니다.(다시 보니 별 특별한 기술은 없더군요. 다행) 그래서 이번에는 소스를 제외하고, RSA키 생성 프로그램 결과만을 소개하려고 합니다. 제목에서와 같이 Arduino Due순정에서 테스트 하였으며, 설치한/삭제한 라이브러리는 듀에 라이브러리 ..