1. 암호시스템의 관련 용어 - 평문 송신자와 수신자 사이 주고받고자 하는 내용을 적은 일반적인 문장으로 모든 사람들이 이해할 수 있는 일반 형태의 문장을 말한다. 평문은 암호화의 대상이 되는 문장으로 한글이나 영어 등의 일반 언어로 작성된 문장이다. - 암호문 송신자와 수신자 사이에 주고받고자 하는 내용을 제 3자가 이해할 수 없는 형태로 변형된 문장을 암호문이라 한다. - 암호화 평문을 제 3자가 알 수 없도록 암호문으로 변형하는 과정을 말하며 일반적으로 암호화 과정은 송신자가 수행한다. - 복호화 암호문을 다시 일반인들이 이해할 수 있는 평문으로 변환하는 과정을 말하며, 일반적으로 복호화 과정은 암호문을 수신한 수신자가 수행한다. - 키 평문의 암호화 과정이나 암호문의 복호화 과정에 필요로 하는 파..
일반적으로 jar 니까 WEB-INF/lib 에 둔다면 처음엔 잘 되다가 다른 객체가 컴파일되고 디플로이되면 다음과 같은 오류가 발생합니다. Caused by: java.lang.UnsatisfiedLinkError: Native Library libXC_v3_jni.so already loaded in another classloader라이브러리는 하나의 클래스로더에서 로드되고 나면, 다른 클래스로더에서는 불러 올 수 없다는 의미이고, 해당 jar 라이브러리를 WEB-INF/classes 나 WEB-INF/lib 같은 Reloadable Classpath 에 위치하게 되면 발생합니다. jar나 class 는 반드시 System Classpath 에 위치시켜야 합니다. OS 의 환경변수와 기동 스크립트의..
Too many open files 에러 발생시 해결 방법 OS에서 파일 갯수를 제한하고 있는데 이걸 늘려줌으로써 해결할 수 있습니다. centos 상에서 ulimit 값은 아래와 같이 디폴트로 설정되어있어요(ulimit -a 입력하면 나옵니다.) /etc/security/limits.conf로 들어가서 제일마지막에 root hard nofile 65535 root soft nofile 65535 root hard nproc 65535 root soft nproc 65535 이걸 추가해주고 centos를 재시작 합니다. 그럼 ulimit -a명령어를 쳤을 경우 아래처럼 값이 변경됩니다. 위의 방법은 user lever open file 갯수 조정하는 방법이고 전체 조정 방법은 아래와 같이 진행합니다. 최..
Lucene의 Score 공식 --> score(q,d) = Sigma(t in q)(tf(t in d) * idf(t)^2 * getBoost(t in q) * getBoost(t.field in d) * lengthNorm(t.field in d)) * coord(q, d) * queryNorm(q) --> lengthNorm(t.field in d) = 1/sqrt(numTerms) * f.getBoost * d.getBoost --> queryNorm(q) = queryNorm(sumOfSquaredWeights) --> sumOfSquaredWeights = Sigma(t in q)(idf(t) * getBoost(t in q))^2 각 항목을 살펴보면 TF : 문서에서 해당 Term이 나온 횟..
객체를 주고받기 위해 직렬화 시키고 직렬화를 위해서 Serializable을 implements 하는 것 public class ObjectStreamSampleData implements Serializable { public String str; public int id; public ObjectStreamSampleData(String str, int id) { this.str = str; this.id = id; } public String getObjectStreamSampleData(){ return id + "=" + str; } } public class ObjectStreamHandle { public static void main(String\[\] args) throws Excepti..
1. DES (Data Encryption Standard)의 탄생 1960년대 말, 기업들이 파일을 보내는 안전한 방법들을 필요로 하기 시작했을 때, 암호계에 새로운 시대가 시작되었다. 컴퓨터 암호화 프로그램이 있다고 주장하는 많은 보안회사들이 있을지라도 세계 표준으로 승인된 암호화 방법(즉, 산업표준)이 없었다. 금융 기관들은 특히 신뢰할 수 있고 안전한 데이터 교환에 사용할 수 있는 표준 암호화 방법이 필요했다. 금융 기관들은 그들이 믿을 수 있는 어떤 사람들이 테스트한 암호화 방법이 필요했다. US (National Security: 미국 국가 보안)는 안전한 암호에 의존하기 때문에, 미국정부 기관들은 암호를 항상 수반했다. 가령, 미국 국가 안전 기획부 (NSA: National Security..
암호화(encryption) 정보를 보낼 때나 받을 때, 그 정보의 비밀성을 보장하기 위하여 해독할 수 없도록 다른 형태의 정보로 변환하는 것으로, 키에 의해서 암호화가 되거나 복호화가 되며, 사용된 키 외에는 해독 할 수 없도록 하여, 정보의 안전성을 확보하는 과정 보안 알고리즘(암호 알고리즘, cryptographic algorithm) 정보 시스템 내부에 보관되거나 통신망을 통하여 전송되는 정보의 훼손, 변조, 유출 등을 방지하기 위해 정보를 암호화와 복호화하는 과정에서 사용되는 함수 용어정리 - 평문(plain text, clear text) : 암호화되지 않은 정보 - 암호문(cipher text) : 암호화 된 정보 - 암호화(encryption) : 평문을 암호문으로 바꾸는 과정 - 복호화(..
Cygwin(시그윈)이란? 리눅스 프로그램/유틸리티를, MS윈도에서 사용할 수 있도록 하는 프로그램이 Cygwin(시그윈)입니다. 그러나 리눅스/유닉스용 바이너리 파일을 직접 실행시킬 수는 없고, 소스를 Cygwin용으로 포팅해야 합니다. 무료이고 오픈소스입니다. 지금은 레드햇(Red Hat)에 인수되었나 보더군요. 시그윈을 윈도에 설치하면 grep 이나 diff 등, 리눅스/유닉스의 유명한 명령어들을 거의 모두 사용할 수 있습니다. 리눅스를 설치하지 않고도 윈도우에서 리눅스를 쓸 수 있는 것입니다. 물론 진짜 리눅스와 완전히 같지는 않고 한계가 있습니다. Cygwin의 한계 1. cygwin은 윈도우 프로그램 Cygwin 은 리눅스처럼 보일 뿐이지, 어디까지나 윈도용 프로그램입니다. 따라서 리눅스용 프..
Cygwin을 사용하기에 앞서.. FALINUX의 제품을 사용하면서 개발하기 쉬운 통합 개발 환경을 만드는 과정에서 이클립스(Eclipse)와 시그윈(Cygwin)을 필요로 합니다. 시그윈(Cygwin)은 윈도우에서 리눅스 환경을 구성해주는 역할을 합니다. Forum에서 소개중인 coLinux 및 가상 PC를 통한 환경이 리눅스 개발 환경에 가깝지만, 이클립스(Eclipse)에서 CDT 컴파일 환경이 지원된다는 점에서 통합 개발 환경이 목표인 FAIDE 개발에 좀더 용이 합니다. 시그윈(Cygwin)이 FALINUX 제품의 Ezboot와 Kernel, 어플리케이션을 컴파일 하기 위한 환경으로 현재까진 부족함이 없다고 판단하여, 다운로드 받아서 압축을 풀어서 쉽게 사용할 수 있도록 배포하고자 합니다. 먼저..