Thứ Hai, 1 tháng 9, 2014

[Java Security] Phần 1 : Lịch sử về cách viết mật mã

Phần 1 : Lịch sử về cách viết mật mã
Thuật ngữ cryptography (kỹ thuật mã hóa) được bắt nguồn từ 2 từ của Hy Lạp : kr`yptus (ẩn) và gráphein (cách viết). Cryptography được sử dụng để bảo vệ các tài liệu bí mật nào đó. Cryptography ra đời ở Ai Cập khoảng 1900 trước công nguyên.
Một trong những người nổi tiếng về cryptography là Julius Caesar. Ông đã phát triển một kỹ thuật mã hóa được gọi là Caesar cipher (*1) – kỹ thuật này dựa trên phép quay cố định các kí tự trong bảng chữ cái. Ví dụ : phép quay cố định là 1 thì trong văn bản mã hóa : kí tự A thành B, B thành C, C thành D,..., Z thành A. Nếu phép quay cố định là 2 thì trong văn bản mã hóa : kí tự A thành C, B thành D,.., Z thành B.
*1 - cipher : là thuật ngữ dùng để nói về thuật toán cách viết mã hóa (từ văn bản bình thường thành văn bản mã hóa)
Caesar cipher được xem thuật toán đầu tiên đánh dấu sự ra đời của một nền công nghệ mã hóa. Cryptography tiếp tục được phát triển sang Châu Âu, Trung Đông, Nam Phi,....với nhiều kỹ thuật mã hóa hoàn thiện hơn. Trong giai đoạn này, người ta không dùng phép quay cố định cho toàn bộ các kí tự nữa mà chia thành nhóm, trong mỗi nhóm sử dụng kỹ thuật mã hóa riêng. Ví dụ :
Từ hình miêu tả trên chúng ta thấy bảng chữ cái được chia làm 5 nhóm :
- Nhóm 1 : các kí tự ABCDEFGH , kí tự A->F, B->G,C->D,D->E,F->B,G->A.
- Nhóm 2 : các kí tự HIJKLMN, kí tự H->I,I->J,J->M,K->L,L->K,M->N,N->H
- Nhóm 3 : các kí tự OPQRS, kí tự O->S,P->R,Q->O,R->P,S->Q.
- Nhóm 4 : các kí tự TUV, kí tự T->V, U->T,V->U.
- Nhóm 5: các kí tự WXYZ, kí tự W->Y,X->X, Y->Z,Z->W
Do đó, cụm từ “JAVA SECURITY” sẽ được mã hóa thành MFUF QCDTPJVZ
Kỹ thuật mã hóa theo nhóm này được phát triển vào thế kỹ 15 bởi Leon Battista Alberti, tồn tại phổ biến cho đến năm 1800 thì kỹ thuật này được bẻ gãy.
Kỹ thuật mã hóa được dùng rất nhiều trong quân sự, chiến tranh, bảo mật thư mật qua lại giữa các đồng minh. Cũng như cuộc chiến tranh thế giới I, chiến tranh thế giới II, các nước đều có 1 đội ngũ chuyên gia để mã hóa và giải mã thư mật, cũng như bẻ khóa các thư mật của phe đối lập.
Năm 1952, đánh dấu sự ra đời của National Security Agency (NSA – cơ quan an ninh quốc gia Mỹ), mã hóa và phân tích thuật toán mã hóa. NSA đạt rất nhiều thành công trong Chiến Tranh Lạnh với Liên Xô cũ.
Sau hơn 25 năm, nhiều sự kiện quan trọng đã xảy ra trong việc phát triển kỹ thuật mã hóa:
- Năm 1977 : Data Encryption Stand (DES – tiêu chuẩn mã hóa dữ liệu) đã ra đời. Kỹ thuật mã hóa Public key đã được đưa ra bởi Whitfield DiffieMartin Hellman. (Public key được dùng trong kỹ thuật mã hóa bất đối xứng - Asymmetric cryptography – trong phần hướng dẫn lập trinh, chúng ta sẽ tìm hiểu về Asymmetric cryptography )
- Năm 1977 : Ronald Rivest, Adi Shamir, và Len Adleman phát minh ra RSA Pulic key System (hệ thống mã hóa công khai RSA)
- Năm 1984 : thuật toán ELGamal public key được phát triển bởi Taher ElGamal.
- Năm 1990 : thuật toán International Data Encryption (IDEA) ra đời bởi Xuejia LaiJames Massey.
- Năm 1991 : Chương trình vô cùng phổ biến Pretty Good Privacy (PGP) được đưa ra sử dụng cộng đồng.
- Năm 1993 : Secure Hash Algorithm (SHA) ra đời bởi the National Institute of Standards and Technology (NIST) .
- Năm 1993: X.509 recommendation (digital certificates) được cung cấp bởi the International Telecommunication Union (ITU).
- Năm 1994: The Digital Signature Standard (DSS) được ra đời bởi the National Institute of Standards and Technology (NIST).
- Năm 1995: The Secure Sockets Layer (SSL) được phát triển bởi Netscape.
- Hiện nay : sự phát triển của web, thương mại điện tử, kỹ thuật mã hóa SSL và các thuật toán mã hóa kết hợp với nó được nhiều người đón nhận. Thương mại trực tuyến dựa trên SSL ,X.509 certificates, kỹ thuật pulic và secret key cũng được sử dụng trong các giao dịch tài chính hay các dịch vụ trực tuyến, thông tin khách hàng.

Không có nhận xét nào:

Đăng nhận xét