Giao diện

Một phần của tài liệu Một số vấn đề về bảo mật thư điện tử (Trang 67)

a) Giao diện gửi thư

 Tạo khóa: tạo ra cặp khóa bí mật P, Q để mã hóa thư và khóa công khai N dùng để giải mã.

 Mã hóa thư: Chọn thư cầ

 Giấu tin trong ảnh: giấu t

68

ần gửi và mã hóa

b) Giao diện nhận thư

 Xác thực xem ảnh nhậ

 Khôi phục thư nếu như GIẤU TỆP

69

ận được có bị thay đổi không.

u như ảnh không bị thay đổi

c) Chương trình namespace THA_DataHiding { structBitmapHeader { publicstring typeFile; publicuint FileSize;

// public uint Reserved

publicuint AddressofImageData;

dữ liệu

publicvoid GetInfo(byte

}

structBitmapInfo

{

publicuint Numberofbytes;

Image Info, giá trị thông thường

publicuint WidthofImage; pixel publicuint HeightofImage; pixel 70 THA_DataHiding

typeFile; // 2 byte, chứa 2 ký tự nhận dạng

FileSize; // 4 byte, kích thước của file; public uint Reserved; // 4 byte dự trữ

AddressofImageData; // 4 byte lưu trữ địa chỉ của vùng

byte[] buffer);

Numberofbytes; // 4 bytes, lưu trữ kích thước của vùng giá trị thông thường 40

WidthofImage; // 4 bytes, độ rộng của ảnh tính theo

HeightofImage;// 4 bytes, chiều cao của ảnh tính theo ký tự nhận dạng "BM"

yte lưu trữ địa chỉ của vùng

lưu trữ kích thước của vùng

ộ rộng của ảnh tính theo

71

publicushort NumberofColorPlans; // 2 byte, số lượng bảng mầu, giá trị mặc định là 1

publicushort NumberofBitforaPixel; // 2 byte, số bits biểu diễn một điểm ảnh

publicuint TypeofCompress; // 4 byte, kiểu nén

publicuint ImageSize; //4 byte, kích thước của ảnh tính theo byte

publicuint ResolutionX; // 4 byte, Độ phân giải của ảnh theo chiều ngang

publicuint ResolutionY; // 4 byte, Độ phân giải của ảnh theo chiều dọc

publicuint NumberofColors; // 4 byte, số lượng màu trong bảng màu

publicuint NumberofImportColors; // 4 byte, số lượng màu quan trọng của ảnh

publicvoid GetInfo(byte[] buffer); }

abstractclassBase

{

protectedstring PlaintextFile; // Lưu trữ file bản rõ

protectedstring CiphertextFile; // Lưu trữ file bản mã protected BigInteger N;

protected BigInteger P;

protected BigInteger Q;

protectedint blockSize; // Kích thước khối sẽ là số byte của N

//Để đảm bảo y = x ^2 mod N thì x<N do đó số byte của x < blockSize

public Base(BigInteger P, BigInteger Q, string ciphertextFile)

public Base(BigInteger N, string plaintextFile, string

ciphertextFile) }

staticclassBaseCryptography

{

publicstatic BigInteger GiaiPhuongTrinhDongDu(BigInteger a,

72

publicstaticvoid Euclid_Extention(BigInteger a, BigInteger b, out

BigInteger k1, out BigInteger k2)

publicstatic BigInteger GiaiHePhuongTrinhDongDu(BigInteger N,

BigInteger p, BigInteger k1, BigInteger a, BigInteger b)

publicstaticint Jacobi(BigInteger a, BigInteger n

publicstaticint Legendre(BigInteger a, BigInteger p)

publicstatic BigInteger SoNghichDao(BigInteger N, int d) }

classMaHoa_THA : Base

{

public MaHoa_THA(BigInteger N, string plaintextFile, string

ciphertextFile)

: base(N, plaintextFile, ciphertextFile)

privatebyte[] BlockEncryption(byte[] sourceBlock, int size)

publicvoid FileEncryption() }

classGiaiMa_THA : Base

{

private BigInteger mup;

private BigInteger muq;

private BigInteger k1;

private BigInteger k2;

public GiaiMa_THA(BigInteger P, BigInteger Q, string

ciphertextFile, string plaintextFile) : base(P, Q, ciphertextFile)

privatebyte[] BlockDecryption(byte[] sourceBlock, int size)

publicvoid FileDecryption() }

73

staticclassInfo

{

publicstaticbyte[,] ReadWMatrix(string filename)

publicstaticint XSUM(byte[,] F, byte[,] W) } classNhungTin { string Anh_Goc; string Anh_ChuaTin; string DataFile;

public NhungTin(string goc, string chuatin, string datafile)

publicvoid Nhung() } classTachTin { string Anh_ChuaTin; string DataFile;

public TachTin(string anh, string data)

publicvoid Tach() }

74 KẾT LUẬN 1. Kết luận

Luận văn đã nghiên cứu được: một số phương pháp mã hóa cải tiến trên Rabin như Shimada, Chen-Tsu, THA – phương pháp mới được công bố năm 2012 của nhóm tác giả người Việt Nam; một số kỹ thuật giấu tin trên ảnh nhị phân như CPT, CTL, THA – kỹ thuật mới được công bố năm 2012 và đang được đánh giá tương đối tốt; thủy vân dễ vỡ: phân tích, đánh giá, so sánh các phương pháp mã hóa, các kỹ thuật giấu tin, giúp cho người dùng có cáinhìn tổng quát và đầy đủ khi nghiên cứu và triển khai các hệ thống mã hóa, giấu tin mới. Đồng thời đưa ra đề xuất phương án áp dụng giấu tin THA trên ảnh màu.

Luận vănđề xuất một mô hình kết hợp cả ba công cụ mã hóa, giấu tin và thủy vân dễ vỡ để giải quyết bài toán thư điện tử nhằm tăng độ an toàn cho các tệp dữ liệu đính kèm trên đường truyền trong quá trình giao dịch thư điện tử.

2.Hướng phát triển

Tích hợp và xây dựng chương trình soạn thảo, duyệt và nhận thư ở phía Client như Outlook Express.

75

TÀI LIỆU THAM KHẢO Tiếng việt

[1] Phan Đình Diệu (2006), Lý thuyết mật mã và An toàn thông tin, NXB

ĐHQG HN.

[2] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán: Cơ sở lý

thuyết và tính toán thực hành, NXB ĐHQG HN.

[3] Hà Huy Khoái, Phạm Huy Điển (2004), Mã hoã thông tin: Cơ sở toán

học và ứng dụng, NXB ĐHQG HN.

[4] Đỗ Văn Tuấn, Trần Đăng Hiên, Phạm Văn Ất, Một sơ đồ cải tiến hệ mật

mã khóa công khai Rabin, Kỷ yếu hội thảo quốc gia lần thứ XIV, Một số

vấn đề chọn lọc Công nghệ thông tin và Truyền thông, Cần Thơ - 2011, tr 280-289.

[5] Phạm Văn Ất, Nguyễn Hữu Cường, Đỗ Văn Tuấn, Giấu tin trong ảnh nhị

phân và ứng dụng, Tạp chí Khoa học Giao thông vận tải, số 19 tháng 9 năm

2007

[6] Vũ Bá Đình, Nguyễn Xuân Huy, Đào Thanh Tĩnh (2002), Đánh giá khả

năng giấu dữ liệu trong bản đồ số, tạp chí Tin học và Điều khiển học, số 4,

347-353

[7] Nguyễn Xuân Huy, Bùi Thị Thuý Hằng (2001), Một số cải tiến của kĩ thuật

giấu dữ liệu trong ảnh

Tiếng Anh

[8] William Stallings - Cryptography and Network Security Principles

andPractices, Fourth Edition

[9] Chin-Chen Chang and Sun-Min Tsu (2000) - An improvement on

Shimada’s public-key cryptosystem, Journal of Science and Engineering,

vol. 3, no. 2, pp. 75-79.

[10] Harn, and Kiesler (1989) - Improved Rabin’s scheme with high

efficiency, Electron. Lett., 25, (1 l), pp. 726-728

[11] Rabin, M. O (1980) - Probabilistic algorithm for testing primality, J.

Number theory, 12(1): 128 – 183.

76 Emirates University College of IT.

[13] Shimada, M (1992) - Another Practical Public-Key Cryptosystem,

Một phần của tài liệu Một số vấn đề về bảo mật thư điện tử (Trang 67)

Tải bản đầy đủ (PDF)

(76 trang)