배낭암호를 이용한 워터마킹 구현
- 최초 등록일
- 2009.08.28
- 최종 저작일
- 2009.06
- 6페이지/ 압축파일
- 가격 5,000원
소개글
배낭암호를 이용하여 그림에 대한 워터마킹을 구현한 프로젝트입니다.
모든 소스코드와 실행파일을 제공합니다.
목차
없음
본문내용
unsigned char x = n, y = m, q, a[20] = { 1, 0 , x}, b[20] = { 0 , 1 , y} , temp;
unsigned short i,j;
// 공개키를 구함
for(i = 0; i < 8; i++) {
public_key[i] = (private_key[i] * m) % n;
}
// 확장 유클리드 알고리즘 이용 m값의 승산 역원 m_을 구함
i= 0;
while(1) {
if(y!=0) q = x / y;
a[i+2] = a[i] - q * a[i+1];
b[i+2] = b[i] - q * b[i+1];
if(x==1 || x==0) {
if(x==1) {
m_ = b[i];
break;
}
}
i++;
temp = y;
if(y!=0) y = x % y;
x = temp;
}
// 배낭 암호로 그림 파일 각 픽셀 암호화
for(i = 0; i < 256; i++) {
for(j = 0 ; j < 256; j++) {
temp = pDoc->m_OpenImg[i][j];
m_EncryptionImg[i][j] = 0;
for(int k = 7; k >= 0; k--) {
if((temp % 2) == 1) {
m_EncryptionBit[i][j] = (public_key[k] + m_EncryptionBit[i][j]) % 255;
bit_key[i][j][k] = 1;
}
temp = temp >> 1;
}
}
}
참고 자료
없음
압축파일 내 파일목록
배낭암호.hwp
knapsack_ciphers.pdf
워터마킹/auto.raw
워터마킹/circle.raw
워터마킹/lena.raw
워터마킹/MainFrm.cpp
워터마킹/MainFrm.h
워터마킹/ReadMe.txt
워터마킹/resource.h
워터마킹/sarang.raw
워터마킹/StdAfx.cpp
워터마킹/StdAfx.h
워터마킹/sukyang.raw
워터마킹/컨텐츠보안.aps
워터마킹/컨텐츠보안.clw
워터마킹/컨텐츠보안.cpp
워터마킹/컨텐츠보안.dsp
워터마킹/컨텐츠보안.dsw
워터마킹/컨텐츠보안.h
워터마킹/컨텐츠보안.ncb
워터마킹/컨텐츠보안.opt
워터마킹/컨텐츠보안.plg
워터마킹/컨텐츠보안.rc
워터마킹/컨텐츠보안.reg
워터마킹/컨텐츠보안.sln
워터마킹/컨텐츠보안.suo
워터마킹/컨텐츠보안.vcproj
워터마킹/컨텐츠보안.vcproj.gazch-PC.gazch.user
워터마킹/컨텐츠보안Doc.cpp
워터마킹/컨텐츠보안Doc.h
워터마킹/컨텐츠보안View.cpp
워터마킹/컨텐츠보안View.h
워터마킹/Debug/BuildLog.htm
워터마킹/Debug/MainFrm.obj
워터마킹/Debug/mt.dep
워터마킹/Debug/StdAfx.obj
워터마킹/Debug/vc80.idb
워터마킹/Debug/vc80.pdb
워터마킹/Debug/컨텐츠보안.exe.embed.manifest
워터마킹/Debug/컨텐츠보안.exe.embed.manifest.res
워터마킹/Debug/컨텐츠보안.exe.intermediate.manifest
워터마킹/Debug/컨텐츠보안.obj
워터마킹/Debug/컨텐츠보안.pch
워터마킹/Debug/컨텐츠보안.pdb
워터마킹/Debug/컨텐츠보안.res
워터마킹/Debug/컨텐츠보안Doc.obj
워터마킹/Debug/컨텐츠보안View.obj
워터마킹/res/Toolbar.bmp
워터마킹/res/컨텐츠보안.ico
워터마킹/res/컨텐츠보안.rc2
워터마킹/res/컨텐츠보안Doc.ico