프로젝트 지원 환경#git URLgit clone https://github.com/HaeJuk-Lab/crypto.git 1. 프로젝트 구조폴더 기반 프로젝트: 모든 소스 코드, 헤더, 빌드 파일 및 문서를 명확하게 구분하는 폴더 구조로 설계CMakeLists 지원: CMake를 사용해 다양한 플랫폼에서 일관된 빌드 시스템 제공폴더 구조 예시CryptoProject/│├── CMakeLists.txt├── src/ # 소스 코드│ ├── rng/ # 난수 생성기 관련 코드│ │ ├── rng.cpp│ │ └── rng.h│ ├── rsa/ # RSA 관련 코드│ │ ├── rsa.cpp│ ..
1. 개요#git URLgit clone https://github.com/HaeJuk-Lab/crypto.gitProxmox VE와 Jenkins를 활용하여 다양한 OS 환경에서 빌드 및 테스트를 자동화하는 프로젝트 지원 범위를 정의합니다. 이 구성은 CI/CD 파이프라인을 통해 여러 OS에서 동시에 빌드 및 테스트를 수행하며, GitLab과의 통합으로 소스 코드의 관리 및 배포를 자동화합니다.2. 시스템 설계 흐름Proxmox에서 각 OS(컨테이너 또는 VM)에 고유 IP를 부여Jenkins에서 각 OS를 빌드 에이전트(노드)로 등록GitLab에서 코드 푸시 시 Jenkins가 Proxmox에서 해당 OS로 빌드 및 테스트 요청빌드 결과 및 테스트 리포트를 GitLab으로 피드백3. Proxmox에서..
#git URLgit clone https://github.com/HaeJuk-Lab/crypto.git암호화 모듈 개발 프로젝트 계획서1. 프로젝트 개요프로젝트 명: 암호화 모듈 개발 (CMVP 인증 목표)개발 언어: C/C++목표: ARIA, RSA-2048, SHA-256, SHA-1 알고리즘을 직접 구현하고, CMVP(FIPS 140-2/140-3) 인증 기준에 맞는 난수 생성기(RNG) 개발제약 사항: 오픈소스 사용 금지2. 프로젝트 범위암호화 알고리즘 구현ARIA (256비트 암호화 지원)RSA-2048 (공개 키 기반 암호화)SHA-256, SHA-1 (해시 알고리즘)난수 생성기(RNG) 개발AES-CTR 기반 DRBG 직접 구현 (NIST SP 800-90A 준수)엔트로피 수집을 위한 하드..
리눅스 타이머 방식 정리 및 비교표1. 리눅스에서 사용 가능한 타이머 방식리눅스에서는 다양한 방식으로 주기적인 작업을 수행할 수 있습니다. POSIX 타이머, sleep, pthread, alarm 등 여러 방식이 존재하며, 각각의 방식은 성능과 사용 용도에 따라 적합성이 다릅니다.2. 리눅스 타이머 방식 및 예제 코드1. POSIX 타이머 (timer_create)설명: 고정밀 타이머로, SIGEV_THREAD 옵션을 사용해 타이머 만료 시 별도의 스레드에서 콜백이 실행됩니다.#include #include #include void timer_handler(union sigval sv) { printf("Timer expired! Data sent.\n");}void create_timer() {..
SetTimer vs Thread Sleep vs CreateTimerQueueTimer 비교 윈도우 애플리케이션에서 일정 시간 간격으로 작업을 수행하는 방법으로 SetTimer, Thread + Sleep, CreateTimerQueueTimer가 자주 사용됩니다. 각각의 방식은 동작 방식과 장단점이 다르며, 상황에 따라 적합한 방식이 달라집니다. 1. SetTimer 동작 방식: 일정 시간 간격으로 WM_TIMER 메시지를 메시지 큐에 추가하여 타이머 이벤트를 발생시킵니다. 메인 스레드에서 타이머 콜백이 처리됩니다. SetTimer(hWnd, 1, 1000, NULL); // 1초마다 WM_TIMER 발생switch (message) { case WM_TIM..

1. Red Hat 환경 준비1.1 필수 패키지 설치다음 명령으로 개발에 필요한 도구와 라이브러리를 설치합니다:sudo yum groupinstall "Development Tools"sudo yum install gcc gcc-c++ cmake ninja-build gdb zlib-devel openssl-devel boost-devel sqlite-devel libstdc++-devel 최신 GCC 버전(GCC 12 이상)을 설치하려면:sudo yum install gcc-toolset-12scl enable gcc-toolset-12 bash 1.2 PATH 설정환경 변수 PATH에 최신 도구 경로를 추가합니다:export PATH=/opt/rh/gcc-toolset-12/root/usr..
- Total
- Today
- Yesterday
- Build
- 제주도
- Linux
- 스쿠버다이빙
- ip
- 패턴
- C#
- C++
- ReFS
- C
- DLL
- OpenSource
- 울릉도
- 디자인패턴
- Windows
- 서귀포블루버블
- 현포다이브
- CMake
- C# 고급 기술
- 블루버블다이브팀
- PowerShell
- 성산블루버블
- 리눅스
- 블루버블다이빙팀
- 암호화
- 블루버블
- C#.NET
- 서귀포
- Thread
- 윈도우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |