GVHD 1 1 3 4 5 6 7 8 [.]
Trang 1 1
3
4
5
6
7
8
10
1.1 10
1.2 13
1.2.1 15
1.2.2 17
1.2.3 23
1.2.4 25
31
2.1 31
2.1.1 32
2.1.2 35
2.2 37
2.2.1 37
2.2.2 39
2.2.3 41
2.3 43
2.3.1 44
2.3.2 46
2.3.3 47
2.3.4 49
2.3.5 50
2.4 51
2.4.1 52
Trang 22.4.2 53
2.4.3 55
2.5 59
2.5.1 59
2.5.2 62
2.5.3 65
69
3.1 69
3.2 70
3.2.1 70
3.2.2 74
3.2.2.1 74
3.2.2.2 74
3.2.2.3 76
3.2.2.4 Báo cáo 77
3.2.3 77
3.3 84
3.4 94
96
A 96
B 96
C 97
98
Trang 3T t
công tác l
Trang 5SKC Symmtric Key Crytosystem
PKI Public Key Infrastructure
PKC Public Key Cryptosystem xem PKI
GCD Greatest Common Divisor
Trang 6 45
và RSA 63
69
70
78
78
79
79
80
80
80
81
81
82
82
83
83
85
86
88
89
91
92
93
Trang 7 11
14
22
27
28
33
33
36
38
40
-1 42
45
61
64
64
65
94
h 19 94
95
95
Trang 9 các
- BIDV
Trang 10 :
Trong chương 1 tác giả sẽ giới thiệu tổng quan về chữ ký số và các ứng dụng
thực của chữ ký số để từ đó nêu ra mục đích của luận văn và đưa ra hướng giải pháp, ứng dụng
Trang 12 hàng
Trang 131.2
Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng
và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật Khóa
sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký [13]
Trang 16
Trang 18Hệ quả 1: Sinh số nguyên tố thì dễ Việc tìm ra một số nguyên tố ngẫu nhiên với kích cỡ cho trước là dễ dàng
Trang 19Ước lượng 3: Phân tích thừa số là khó : Với một số nguyên n là kết quả của phép nhân số nguyên tố lớn, việc tìm lại các số nguyên tố thừa số p, q là rất khó
Trang 20 dàng:
Trang 23+
(h(x1) = h(x2))
mãn tính
(vi)
Trang 24 theo
OASIS (Organization for the Advancement of Structured Information Standards) , 13,2% dùng trong th
Trang 25 mìn
khóa công khai
cá nhân, công ty )
[4]
1.2.4.1
Trang 26 khóa công khai
Trang 33 6
:
7
Trang 35k là khoá công khai, và dk
j thông báo công khai) dùng hàm mã hoá Ej
C = EKj(P)
DKj:
Trang 412.2.3
mã
an toàn (Secure Hash Algorithm -1, 224, 256,
SHA-384, SHA-512 do NIST2và NSA3
Trang 43
c
c ch th i hóa cho ng s p v i h th ng thi cung cch v v
Trang 44Ø(n) = (p 1)*(q - 1)
-1 mod Ø(n) hay
là Xed = X mod n [1]
Trang 47+ -1 mod m +
+ (d, p, q)
- Sinh mã
(zA, ZA
Trang 492.3.4 RSA
“Sự an toàn của thành phần khóa mật (private key)
phụ thuộc vào tính khó của việc phân tích thừa số (PTTSNT) nguyên tố các số lớn”[11]
Trang 52khóa Diffie Hellman
2.4.1
không
+ Tính khóa công khai y = ax mod p
Trang 53y * a x * * a k * mod p g (x * + * k ) mod p a X mod p
Do (X x * = ) * k -1 mod (p -1) nên (x * k * + ) X mod (p-1)
Trang 552 1 2
x
) (mod
Trang 56d p d
'''
Trang 622.5.2
trong l
Trang 64 thấy DSA và khi kích thước
Trang 66+ Tính 12 Z sao cho 1 = C12 = C20 = C0 + Tính 0 1 2xy SOLVE-CONIC2, tính S (x, y) Z2
+ gx mod q (x, y) S
Trang 68+ | | <X, | | < và Y XY2 < q/63/2, + | | <X, | | < và Y XY2 < q/63/2, + | | <X, | | < và XY < qY 1/2/63/4
Trang 69
Bây giờ với việc tìm hiểu các phương pháp thực hiện CKS, điều tiếp theo cần
xem xét là việc áp dụng cụ thể các kiến thức đó vào bài toán cụ thể, ở đây là
chương trình quản lý chứng từ chứa CKS tại BIDV
6
Trang 71- c 1: Khách hàng g i ch ng t giao d i d t i BIDV thông qua h ng Email ho th a BIDV Các lo i bi u
Trang 73v i t ng nghi p v c th BDS, SIBS, RM Filer,
i v i chuy n ti n quôc t ) theo quy
nh hi ng d i v i t ng nghi p v c th và chuy n KSV phê duyt
+ KSV th c hi n phê duy ng theo các quy trình n hành chi giao d ch
do GDV th c hi n và ch ng t c xác th c ch ký s trình DSAP
+ i chi u cu theo dõi, king
t k nh hi n
- c 7 Báo cáo, h u ki m :
Trang 78a SYS_PARAM:
5
b LOG_USER:
Trang 79c LOG_SERVICE: khác
7
d EXCEPTION_TIME: store procedure
8 Exception_time
Trang 82j BRANCH_CUSTOMER :
14
k CUSTOMER_SERIAL: H
Trang 84{
// TODO Auto -generated method stub
response.setContentType(Constants.TEXT_CONTENT_TYPE);
; String output = null
String docNo = StringUtils.trimToEmpty(request.getParameter( "doc_no" )); ( equals(action) && checkPermission(docNo)) {
output = dao.processDoc(docNo, currentUser.get_UserName());
writeLog(request, "Nhận xử lý " + docNo + " "
+ output);
( equals(action)) { } else if "finish"
output = dao.finishDoc(docNo, currentUser.get_UserName());
writeLog(request, "Kết thúc xử lý " + docNo + " "
+ output);
( equals(action)) { } else if "markErrorContent"
output = dao.markErrorContentDoc(docNo, currentUser.get_UserName());
writeLog(request, "Đánh đấu lỗi nội dung " + docNo + " "
Trang 85bytes, dto.getExtendtionType(), user);
(dsapSignatureInfo != ) {
dao.updateVerifyDocumentFile(Integer.toString(dto.getId()),
d5hexStore(), dto.getM
dao.updateVerifyDocumentFile(Integer.toString(dto.getId()),
dto.getMd5hexStore(), null, null, Constants.SignatureCode.NO_SIGN, null, docNo);
} }
contentValid = 0;
int
String contentInfo = "Thành công!";
Trang 86contentInfo = "File lương không hợp lệ!";
{ } else
contentInfo = sal.getValidateContent(); // xac thuc noi dung
} { } else
contentInfo = "Thành công! Tổng số tiền "
+ Utils.formatMoney(sal.getTotalAmount()) + "/Tổng số bản ghi: "
+ sal.getSalaryDTOs().size();
} }
}
ontentInfo ==
contentInfo = c null ? ""
: (contentInfo.length() > 999 ? contentInfo.substring(0,999)
: contentInfo);
dao.updateVerifyDSAP(docNo, contentValid, contentInfo);
(IOException e) { } catch
Trang 87
(DSAPSignatureInf
// TODO: handle exception
X509Certificate getX509Certificate() {
public
;
return x509Certificate }
Trang 88getIsValidate() {
public boolean
;
return isValidate }
getState() {
public int
;
return state }
chúng ta cùng
Trang 89public static DSAPSignatureInfo verify(byte[] bytes, String extention,
String user) throws RemoteException { DSAPSignatureInfo dsapSignatureInfo = null;
(Constants .equals(extention)) {
dsapSignatureInfo = PDFSignature.getDSAPSignatureInfo(bytes);
{ } else
dsapSignatureInfo.setIsValidate(false);
} }
:
public class PDFSignature {
DSAPSignatureInfo getDSAPSignatureInfo( [] docPdf) {
Trang 90dsap.setX509Certificate(cert);
(Exception e) { } catch
.println(
System.err "PDF Digital signature exception: " + e.toString());
} dsap;
return
} (Exception e) { } catch
.println(
System.err "PDF Digital signature exception: " + e.toString());