30/09/2018, 17:37
Làm sao để encrypt và decrypt khi gửi file?
Mình đang làm phần share file giữ các users với nhau(kiểu như share file trong slack chẳng hạn).
Nhưng muốn bảo mật dữ liệu, bằng cách mã hoá file trước khi gửi và giải mã file khi nhận.
Khi mã hoá sẽ có tạo ra 1 key, và những người nhận file phải có key này mới có thể giải mã.
Kiến thức về mã hoá thì mình gần như không biết nên ai rành hoặc chuyên phần này trợ giúp mình với.
Bài liên quan
PHP
Còn decrypt thì chưa support
em tìm hiểu về khái niệm public key.
sau đó thì tìm tool hoặc tự viết cho mình cái tools đó
tự nhiên có task, giờ phải ngồi học mấy cái này. yêu cầu làm share file kiểu Mega.nz
hehe, đúng cái này rồi, đang tìm hiểu public key
Lý thuyết thì anh đọc bài này xem có giúp được gì không
hồi xưa anh có học nên chỉ nhớ chút ít thôi.
nghiên cứu thêm một trong 2 loại thuật toán:
anh nghĩ em nên nghiên cứu hash function: MD5 và SHA. Vì 2 cái này hình như chưa bị hack.
p/s: nghiên cứu cách áp dụng nhé. Chứa đụng vô thuật toán thì nhức đầu lắm.
cái RSA là đúng yêu cầu rồi đó anh. Đang đọc tài liệu về cái này.
Cái thuật toán MD5, SHA chỉ hash 1 chiều không giữ bí mật theo kiểu Peer to peer được.
thanks a
Nếu anh cần yêu cầu về thời gian tạo khóa thì nghiên cứu ECC nhé, dùng khóa ngắn hơn RSA nhưng vẫn bảo mật tương đương. trên blog của anh dnthai cũng có giới thiệu một chút.
Cám ơn @Rok_Hoang nhé để mai đọc thử.
RSA hay quá
vi.m.wikipedia.org
RSA (mã hóa)
Trong mật mã học, RSA là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng khóa công cộng. RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn. Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (...
Đây là thuật tóan để sản sinh số nguyên tố lớn
en.wikipedia.org
Generating primes | Large primes
For the large primes used in cryptography, it is usual to use a modified form of sieving: a randomly chosen range of odd numbers of the desired size is sieved against a number of relatively small primes (typically all primes less than 65,000). The remaining candidate primes are tested in random order with a standard probabilistic primality test such as the Baillie-PSW primality test or the Miller-Rabin primality test for probable primes. Alternatively, a number of techniques exist for efficient...
task anh đang làm deadline sát ko nhỉ?
mình có 2 ngày search và 2 ngày làm demo. nên chọn cái nào an toàn và lành tính trước.
Còn 1 thắc mắc là nếu mình tạo ra 1 khoá để mã hoá file thì khoá đó sẽ lưu ở đâu.
em lưu vào một file text nào đó để chương trình đọc hoặc là cho 1 ô textbox để nhập
Sếp chọn cách mã hoá AES 256.
vi.wikipedia.org
Advanced Encryption Standard
Trong mật mã học, Advanced Encryption Standard (tiếng Anh, viết tắt: AES, nghĩa là Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống như tiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thế giới và đã được nghiên cứu rất kỹ lưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm (Xem thêm: quá trình thiết kế AES). T...
hơi khác so với RSA 1 chút.
Mã hóa bạn nên tự bịa ra 1 cách mã hóa ^^
en.wikipedia.org
trong bảo mật gọi là cyptor ( mã học) và Steganography (Dấu thư, mở rộng hơn với ảnh , file nhạc ,v.v.v)
đơn giản với .bmp
BMP file format | Pixel storage
The bits representing the bitmap pixels are packed in rows. The size of each row is rounded up to a multiple of 4 bytes (a 32-bit DWORD) by padding. For images with height above 1, multiple padded rows are stored consecutively, forming a Pixel Array. The total number of bytes necessary to store one row of pixels can be calculated as:
Mình thật sự không giỏi toán hay giỏi về mã hoá. Nên đang dùng cái có sẵn. Mình đang dùng kiểu AES để mã hoá file.
Cám ơn bạn về lời khuyên