posted by 권오성의 Biomedical Engineering 2014. 7. 5. 18:18

● ECB 모드 : Electric CodeBook mode (전자 부호표 모드) 

● CBC 모드 : Cipher Block Chaining mode (암호 블록 연쇄 모드)

● CFB 모드 : Cipher-FeedBack mode (암호 피드백 모드)

● OFB 모드 : Output-FeedBack mode (출력 피드백 모드)

● CTR 모드 : CounTeR mode(카운터 모드)


 

이름 

장점 

단점 

비고 

ECB모드

 전자부호표모드(Electric Codebook mode)

* 간단

 고속

 병렬처리가능

(암호화.복호화 양쪽)

* 평문속의 반복이 암호문에 반영된다.
* 암호문 블록의 삭제나 교체에 의한 평문의 조작이 가능
* 비트단위의 에러가 있는 암호문을 복호화하면 대응하는 블록이 에러가 된다.

* 재전송공격이 가능

사용해서는 안된다.

CBC모드

 암호블록 연쇄모드(Cipher Block Chaining mode)

* 평문의 반복은 암호문에 반영되지 않는다.

* 병렬처리가능(복호화만)

* 임의의 암호문 블록을 복호화할 수 있다.

* 비트 단위의 에러가 있는 암호문을 복호화하면 1블록 전체와 다음 블록의 대응하는 비트가 에러가 된다.

* 암호화에서는 병렬 처리를 할 수 없다.

 권장

CFB모드

 암호피드백모드(Cipher Feedback mode)

* 패딩이 필요 없다.

* 병렬처리가능(복호화만)

* 임의의 암호문 블록을 복호화할 수 있다.

* 암호화에서는 병렬 처리를 할 수 없다.

* 비트 단위의 에러가 있는 암호문을 복호화하면 1블록 전체와 다음 블록의 대응하는 비트가 에러가 된다.

* 재전송 공격이 가능

현재는 사용 안함.

CTR모드를 사용하는 편이 나음.

 OFB모드

 출력피드백모드(Output Feedback mode)

* 패딩이 필요 없다.

* 암호화/복호화의 사전 준비를 할 수 있다.

* 암호화와 복호화가 같은 구조를 하고 있다.

* 비트 단위의 에러가 있는 암호문을 복호화하면 평문의 대응하는 비트만 에러가 된다.

* 병렬 처리를 할 수 없다.

* 적극적 공격자가 암호문 블록을 비트 반전시키면 대응하는 평문 블록이 비트 반전된다.

CTR모드를 사용하는 편이 나음.

CTR모드 

 카운터모드(Counter mode)

* 패딩이 필요 없다.

* 암호화/복호화의 사전 준비를 할 수 있다.

* 암호화와 복호화가 같은 구조를 하고 있다.

* 비트 단위의 에러가 있는 암호문을 복호화하면 평문의 대응하는 비트만 에러가 된다.

* 병렬처리가능(암호화/복호화 양쪽)

* 적극적 공격자가 암호문 블록을 비트 반전시키면 대응하는 평문 블록이 비트 반전된다.

권장


※ 출처 : 알기쉬운 정보보호개론


posted by 권오성의 Biomedical Engineering 2011. 2. 16. 09:45
골든이나 토드로 돌리고 프로그램에 옮길 땐 ; 를 빼주어야 한다.

실수를 반복하지 않도록 주의하자!!
posted by 권오성의 Biomedical Engineering 2010. 12. 29. 19:16

서버관리자를 열고 보안정보에 보면 "IE ESC 구성" 이 있습니다. 여기서 관리자 또는 사용자에 대해서 "보안강화구성" 을 해제 할 수 있습니다. 이렇게만 해도 일반적으로 인터넷 사용을 하는데에는 문제가 없습니다만, 더 낮추려하거나 내맘대로 설정하기를 원한다면 레지스트리 수정이 필요합니다.

레지스트리 수정은 아래와 같습니다.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
으로 가셔서 "MinLevel" 의 16진수 값을 조정하시면 됩니다.

예: "MinLevel" 을 11000 으로 고치면 위의 이미지의 선택할 수 있는 보안 수준은 "보통" 까지만 나옴.

최소 10000
낮음 10500
보통 11000
약간높음 11500
높음 12000

나머지도 레지스트리에서 조절이 가능하지만 "MinLevel" 값만 regedit 를 이용해서 고치시고 나머지 조절은 익스플로러의 도구>옵션 에서 조정하시기 바랍니다.

이 팁은 서버 윈도우 사용시 잘못 설치되거나 하는 등의 이유로 "높음" 하나만 나오거나 아예 조절이 불가능하는 등의 설정에 곤란을 겪을 때 해결할 수 있습니다.

posted by 권오성의 Biomedical Engineering 2010. 5. 6. 14:17
※ Oracle SID 확인
SQL> select instance from v$thread;
 
※ Oracle DB_NAME 확인
SQL> select name from v$database;
 
※ Oracle User 확인
SQL> select * from all_users;
 
※ 등록된 User 목록 보기
SQL> select username, user_id from dba_users order by username;
 
※ User가 소유한 모든 테이블 보기
SQL> select table_name from user_tables;
 
※ 사용자 정보 확인
SQL> select username, default_tablespace,temporary_tablespace from dba_users;
 
※ 오브젝트 조회
SQL> select * from all_objects where object_name like '명';
 
※ 테이블 조회
SQL> select * from all_tables where table_name like '명';
 
※ 시퀀스 정보 보기
SQL> select * from user_sequences;
 
※ 시노님 조회
SQL> select * from all_synonyms where synonym_name='명';
 
※ 테이블 인덱스 정보 조회
SQL> select * from all_ind_columns where table_name='테이블명';
 
※ 테이블의 컬럼 정보 조회
SQL> select * from all_tab_columns where table_name='테이블명';
 
※ table comment 쿼리
SQL> select * from all_tab_comments where table_name='테이블명';
 
※ column comment 쿼리
SQL> select * from all_col_comments where table_name='테이블명';
posted by 권오성의 Biomedical Engineering 2009. 11. 27. 16:59
ORA-01722 : 수치가 부적합합니다.
이 오류는 넘버형에 강제로 스트링 타입을 넣을 때 발생하는 오류이다.


posted by 권오성의 Biomedical Engineering 2009. 11. 5. 15:26

익스플로어를 새로 설치하고

http://go.microsoft.com/fwlink/?LinkId=74005 

싸이트로 고정 되면서 "찾을수 없습니다" 라고 들때

윗 파일을 다움 받아 실행 시키시면

remove  <-- 를 클릭 하면 됩니다..

그리고 다시 시작페이지를 설정 하시면 됩니다..^^

posted by 권오성의 Biomedical Engineering 2009. 10. 5. 11:38

프로시져 또는 트리거 실행 시 SELECT INTO에서 조회된 쿼리의 ROW가 존재하지 않을때

ORA-01403 에러발생 조치

1. Select  절에서 Row가 없는 경우 Exception으로 뺀다.

예)

  select rtptno
    into v_rtptno
    from mosstbat
   where pt_no = :new.q_patientno;

결과가 no_data_found로 나온 경우

아래와 같이 exception을 추가해 준다.

 begin

  select rtptno
    into v_rtptno
    from mosstbat
   where pt_no = :new.Q_PATIENTNO;

  exception
   when no_data_found then null;
   when others then
    null;

 end;

posted by 권오성의 Biomedical Engineering 2009. 5. 23. 15:05
오라클 힌트와 인덱스를 이용한 최대값 MAX 구하기 index_desc 

우선 구하고자 하는 컬럼에 index를 걸어 놓는다
예) CREATE INDEX [index_name] ON [column_name];

SELECT /*+ index_desc(A [index_name]) */ [column_name]
FROM [table_name] A
WHERE [column_name] > 0 AND rownum=1;

설명
/*+ 부터 */ 까지는 힌트를 적용시키는 부분이다.

내용을 보면

index_desc는 인덱스를 DESC로 읽으라는 뜻

A는 테이블 앨리아스

WHERE절의  [column_name]>0 조건을 주는 이유는 해당 컬럼의 인덱스를 사용하기 위해서다
오라클에서는 저 부분이 없어도 인덱스를 사용한다고 하였지만
저 부분을 안 쓰고 실행계획으로 확인하면 인덱스를 사용하지 않을 때가 있다.
안전빵으로 써 놓는 게 좋다.

rownum=1 인덱스를 DESC로 하였기때문에 첫번째 줄이 자연스럽게 MAX값이 된다.
첫번째 줄만 읽고 스캔을 멈추라는 의미다.

posted by 권오성의 Biomedical Engineering 2009. 3. 2. 09:17
1. Autorun.inf
[autorun]
open=autorun.bat

2. Autorun.bat
@start 실행파일명(ex.sadanjoo.WMV)
@exit

두개의 파일을 차례대로 만들고, CD를 구울 때 같이 집어 넣습니다.

CD를 삽입하면 자동으로 Autorun.inf -> Autorun.bat를 실행합니다.

posted by 권오성의 Biomedical Engineering 2009. 1. 13. 16:55

오라클 필드 (Alter table) 추가/수정/삭제

alter table 테이블명 modify(컬럼명 변수형);

alter table 테이블명 drop(컬럼명);

alter table 테이블명 add(컬럼명 변수형);

EX) alter table test_tb add(user VARCHAR2(30));

하루더하기
Select sysdate + 1 from dual

시간더히기
Select sysdate + 1/24 from dual

분더히기
Select sysdate + 1/(24*60) from dual

초더히기
Select sysdate + 1/(24*60*60) from dual