1 |
1
프로그램에 워터마크를 삽입하는 장치에 있어서,주 워터마크를 중국인의 나머지 정리를 이용하여 둘 이상으로 분할하여 서브 워터마크를 생성하는 워터마크 생성부; 및프로그램 코드에 상기 분할된 서브 워터마크를 삽입하는 워터마크 삽입부;를 포함하는 워터마킹 장치
|
2 |
2
제1항에 있어서,p1 내지 pr이 서로소인 r개의 자연수이고, 상기 주 워터마크는 값보다 작다고 가정했을 때, 상기 워터마크 생성부는 상기 법 P1 내지 Pr에 대하여 상기 주 워터마크와 합동인 n(n-1)/2개의 서브 워터마크를 생성하는 워터마킹 장치
|
3 |
3
제2항에 있어서,상기 워터마크 생성부는 하기의 식 1에 의하여 주 워터마크(W)에 대하여 다수의 분할된 서브 워터마크(xK)를 생성하는 워터마킹 장치
|
4 |
4
제1항에 있어서,상기 워터마크 생성부는 분할된 각 서브 워터마크(xk)를 하기 식 2에 의하여 변형시키는 워터마킹 장치
|
5 |
5
제1항에 있어서,상기 워터마크 삽입부는 일련의 다수의 함수를 각 서브 워터마크의 비트 스트링 형태의 비트수에 대응시키고, 각 함수의 함수 호출 규약을 상기 각 서브 워터마크의 비트 상태에 대응하도록 특정 함수 호출 규약으로 변경함으로써 워터마킹하는 워터마킹 장치
|
6 |
6
제5항에 있어서,상기 워터마크 삽입부는 비트 상태가 1에 대응하는 함수를 _fastcall 함수호출 규약 형식으로 변경시키는 워터마킹 장치
|
7 |
7
제5항에 있어서,상기 하나의 서브 워터마크에 대응하는 일련의 함수들은 상기 프로그램 중 연속적으로 호출관계에 있는 다수의 함수인 워터마킹 장치
|
8 |
8
워터마크가 삽입된 프로그램으로부터 워터마크를 추출하는 장치에 있어서,상기 프로그램을 디버깅하는 디버깅부;프로그램 상의 함수 호출 시 특정 함수호출 규약의 사용여부에 따라 서브 워터마크의 비트 스트링을 디코딩하는 서브 워터마크 조합부; 및상기 서브 워터마크로부터 연립합동식에 의하여 주 워터마크를 산출하는 주 워터마크 산출부:을 포함하는 워터마크 추출장치
|
9 |
9
제8항에 있어서,상기 서브 워터마크 조합부는 상기 디버깅부가 동적으로 프로그램을 수행하는 중에 call 명령어가 수행될 때마다 상기 특정한 함수호출 규약이 이용되었는지의 여부를 판단하는 워터마크 추출장치
|
10 |
10
제9항에 있어서,상기 특정 함수호출 규약은 _fastcall 함수호출 규약인 워터마크 추출장치
|
11 |
11
제10항에 있어서,상기 서브 워터마크 조합부는 call 명령어가 수행될 때마다 함수의 파라미터가 레지스터를 이용하여 전달되는지 여부를 판단하여 _fastcall 함수호출 규약의 이용여부를 판단하는 워터마크 추출장치
|
12 |
12
제8항에 있어서,삽입된 주 워터마크값과 상기 주 워터마크 산출부에 의하여 산출된 주 워터마크값을 비교하여 삽입된 주 워터마크값에 대응하는 프로그램과 워터마크가 추출된 프로그램과의 동일성을 판단하는 비교부를 더 포함하는 워터마크 추출장치
|
13 |
13
제12항에 있어서,상기 서브 워터마크가 셋 이상인 경우 상기 주 워터마크 산출부는 상기 각 서브 워터마크들을 둘씩 조합하여 연립합동식에 의하여 다수의 주 워터마크를 산출하고, 산출된 각 주 워터마크를 상기 삽입된 주 워터마크값과 비교하여 프로그램의 동일성을 판단하는 워터마크 추출장치
|
14 |
14
제8항에 있어서,상기 주 워터마크 산출부는 주 워터마크를 산출하기 전에 상기 서브 워터마크(wk)를 하기 식 3에 의하여 역변환하는 워터마크 추출장치
|