삼진암호엔진 CRN-CUBE-243
가져오기 "삼진암호엔진.한선" — 243트릿(9큐브) ≈ 385bit, 27라운드 대칭/비대칭/하이브리드 암호화
대칭 암호화
| 함수 | 매개변수 | 반환 | 설명 |
크라우니암호화 | 평문, 비밀키 | 암호문.MAC | CRN-CUBE-243 암호화 + TMAC-81 |
크라우니복호화 | 전체암호문, 비밀키 | 평문 | 복호화 + MAC 자동검증 |
삼진암호화 | 평문, 키문자열 | TOA 문자열 | 저수준 27라운드 암호화 |
삼진복호화 | 암호문, 키문자열 | 평문 | 저수준 복호화 |
키 관리
| 함수 | 매개변수 | 반환 | 설명 |
마스터키생성 | 시드문자열 | 243트릿 배열 | SHA-256 체이닝 마스터키 |
삼진KDF | 비밀번호, 솔트, 반복횟수, 출력길이 | 트릿 배열 | PBKDF2 유사 키 파생 |
솔트생성 | — | 해시 문자열 | 고유 솔트 생성 |
DH 키교환
| 함수 | 매개변수 | 반환 | 설명 |
DH키쌍생성 | — | 맵{개인키, 공개키} | DH 키페어 |
DH키교환_세션키생성 | 상대공개키, 내개인키 | 243트릿 세션키 | KDF 기반 세션키 파생 |
비대칭 / 서명 / MAC
| 함수 | 매개변수 | 반환 | 설명 |
비대칭키쌍생성 | 시드 | 맵{개인키, 공개키, 시드해시} | ElGamal-243 키 |
비대칭암호화 | 평문, 공개키 | "임시공개|암호문" | ElGamal-243 암호화 |
비대칭복호화 | 전체암호문, 개인키 | 평문 | ElGamal-243 복호화 |
전자서명생성 | 메시지, 개인키 | "r:서명(243트릿)" | DSA-243 서명 |
전자서명검증 | 메시지, 서명, 공개키 | 참/거짓 | 서명 검증 |
삼진MAC생성 | 메시지, 키 | 81트릿 TOA | TMAC-81 |
삼진MAC검증 | 메시지, 키, mac | 참/거짓 | MAC 검증 |
봉투암호화 | 데이터, 공개키 | 맵{암호키, 암호데이터} | 하이브리드 암호화 |
봉투복호화 | 봉투, 개인키 | 원본 | 하이브리드 복호화 |
가져오기 "삼진암호엔진.한선"
변수 암호문 = 크라우니암호화("기밀 데이터", "마스터키")
변수 복호문 = 크라우니복호화(암호문, "마스터키")
출력값(복호문) // "기밀 데이터"
해시무결성
가져오기 "해시무결성.한선" — 81트릿 해시, 머클트리, HMAC
| 함수 | 매개변수 | 반환 | 설명 |
삼진해시 | 입력 | 81트릿 TOA | SHA-256 → 3진 해시 |
이중해시 | 입력 | 81트릿 TOA | hash(hash(x)) |
파일무결성검사 | 파일경로 | 81트릿 TOA | 파일 해시 |
머클트리생성 | 리프배열 | 머클트리맵 | 3-ary 머클트리 |
머클트리검증 | 트리, 리프, 증명 | 참/거짓 | 포함 증명 |
체인해시 | 이전해시, 데이터 | 81트릿 TOA | 블록체인용 연결 |
HMAC생성 | 메시지, 키 | 81트릿 TOA | 키 기반 해시 |
HMAC검증 | 메시지, 키, hmac | 참/거짓 | HMAC 검증 |
토큰인증
가져오기 "토큰인증.한선" — CWT, 세션관리, API키, 제로트러스트
| 함수 | 매개변수 | 반환 | 설명 |
CWT생성 | 사용자, 역할, 서버키 | CWT 문자열 | Crowny Web Token |
CWT검증 | 토큰, 서버키 | 참/거짓 | 기본 검증 |
CWT강화검증 | 토큰, 서버키, IP, 디바이스 | 참/거짓 | 4단계 강화검증 |
세션블랙리스트추가 | 토큰 | — | 즉시 무효화 |
API키생성 | 서비스명 | crn_ 접두사 키 | API 키 발급 |
API키검증 | 키 | 참/거짓 | API 키 검증 |
속도제한확인 | 클라이언트ID | 참/거짓 | 분당 요청 제한 |
PKI전자서명
가져오기 "PKI전자서명.한선" — 인증기관, 인증서, CRL/OCSP, 타임스탬프
| 함수 | 매개변수 | 반환 | 설명 |
CA초기화 | CA명, 유효기간 | CA맵 | 인증기관 생성 |
인증서발급 | CA, 주체, 공개키, 용도 | CRN-CERT-v1 | 인증서 발급 |
인증서검증 | 인증서, CA | 참/거짓 | 3단계 검증 |
CRL등록 | CA, 인증서, 사유 | — | 인증서 폐기 |
OCSP조회 | 인증서, CA | 상태문자열 | 실시간 상태 |
문서서명 | 문서, 개인키 | 81트릿 서명 | 문서 전자서명 |
TSA타임스탬프 | 데이터 | 타임스탬프맵 | 시점 확인 |
인증서체인검증 | 인증서, CA목록 | 참/거짓 | 체인 신뢰 |
블록체인보안
가져오기 "블록체인보안.한선" — UTXO, 스마트컨트랙트감사, PBFT
| 함수 | 매개변수 | 반환 | 설명 |
블록생성 | 트랜잭션목록, 이전해시 | 블록맵 | 새 블록 |
체인검증 | 블록체인 | 참/거짓 | 전체 무결성 |
UTXO검증 | 트랜잭션, UTXO셋 | 참/거짓 | 이중지불 방지 |
스마트컨트랙트감사 | 코드 | 감사결과맵 | 5규칙 감사 |
포크탐지 | 체인A, 체인B | 포크정보맵 | 포크 감지 |
수수료계산 | 트랜잭션 | 숫자 | 수수료 산출 |
셀코어보안DB
가져오기 "셀코어보안DB.한선" — 암호화 DB, 검색, TTL, 스냅샷
| 함수 | 매개변수 | 반환 | 설명 |
보안DB생성 | 이름, 마스터키 | DB맵 | 암호화 DB |
암호화저장 | DB, 키, 값 | DB | 암호화 저장 |
암호화검색 | DB, 검색어 | 결과배열 | 검색가능 암호화 |
TTL설정 | DB, 키, 초 | DB | 데이터 만료 |
스냅샷생성 | DB | 스냅샷맵 | 시점 백업 |
스냅샷복원 | DB, 스냅샷 | DB | 백업 복원 |
보존정책설정 | DB, 일수 | DB | 보존 기간 |
침입탐지방화벽
가져오기 "침입탐지방화벽.한선" — 방화벽, IDS, IPS, 시그니처
| 함수 | 매개변수 | 반환 | 설명 |
방화벽규칙추가 | 출발IP, 도착IP, 포트, 동작 | 규칙맵 | 규칙 등록 |
IP차단 | IP | — | 블랙리스트 |
IP허용 | IP | — | 화이트리스트 |
IDS분석 | 트래픽데이터 | 위협점수 | 이상행위 탐지 |
IPS자동대응 | 위협정보 | 대응결과맵 | 자동 차단 |
시그니처매칭 | 페이로드 | 매칭결과배열 | 12개 DB 매칭 |
셀코어규칙탐지 | 이벤트 | 탐지결과맵 | 셀코어 규칙 |
보안관제SIEM
가져오기 "보안관제SIEM.한선" — 이벤트수집, 위협분류, 상관분석
| 함수 | 매개변수 | 반환 | 설명 |
이벤트수집 | 소스, 데이터 | 이벤트맵 | 7개 소스 수집 |
위협분류 | 이벤트 | 등급(1-5) | 5등급 분류 |
상관분석 | 이벤트목록 | 상관결과맵 | 3개 규칙 분석 |
IOC조회 | 지표 | IOC정보맵 | 위협 인텔리전스 |
알림전송 | 대상, 메시지, 채널 | — | 다채널 알림 |
셀코어위협셀생성 | 위협정보 | 위협셀맵 | 위협 모델링 |
일일보고서생성 | 날짜 | 보고서맵 | 일일 보고서 |
C API crowny_security.h
#include "crowny_security.h"
// 대칭 암호
int crn_encrypt(const char *plain, const char *key, char *out, size_t len);
int crn_decrypt(const char *cipher, const char *key, char *out, size_t len);
// DH 키교환
int crn_dh_keygen(crn_keypair_t *kp);
int crn_dh_shared(const char *peer, const char *priv, crn_trit_t *key);
// 서명
int crn_sign(const char *msg, const char *priv, crn_signature_t *sig);
int crn_verify(const char *msg, const crn_signature_t *sig, const char *pub);
// MAC / 해시 / KDF
int crn_tmac(const char *msg, const char *key, crn_trit_t mac[81]);
int crn_hash(const char *input, crn_dual_hash_t *out);
int crn_kdf(const char *pw, const char *salt, int iter, int len, crn_trit_t *out);
상수 및 설정값
| 상수 | 값 | 설명 |
CRN_CUBE_SIZE | 27 | 큐브 크기 (트릿) |
CRN_MASTER_KEY_TRITS | 243 | 마스터키 크기 (9큐브 ≈ 385bit) |
CRN_MASTER_CUBES | 9 | 마스터키 큐브 수 |
CRN_ROUNDS | 27 | 암호화 라운드 (3사이클 x 9큐브) |
CRN_HASH_LEN | 81 | 해시 길이 (3큐브) |
CRN_SIG_LEN | 243 | 서명 길이 (9큐브) |
CRN_MAC_LEN | 81 | MAC 길이 (3큐브) |
CRN_DH_PRIME | 3^27 | DH 그룹 소수 |