Điểm:1

Có thể tạo ra một hàm băm mật mã mới không?

lá cờ gb

Sẽ có lợi nếu tạo hàm băm mật mã để bảo mật hơn. Hàm băm mật mã gần như là một thuật toán tạo chuỗi giả ngẫu nhiên và nó có thể dễ dàng bị phá vỡ bằng cách tăng số lượng hàm băm có thể được tạo.

Tại sao phải tạo một hàm băm mật mã khác

Tôi muốn băm mật khẩu trong cơ sở dữ liệu để kẻ tấn công không thể tìm thấy giá trị ban đầu của chúng. Tôi có thể sử dụng hạt tiêu và/hoặc muối trong khi tạo băm nhưng tôi muốn làm cho nó an toàn hơn. Khi nào tôi sẽ làm một độc quyền hàm băm không có sẵn cho công chúng, làm thế nào kẻ tấn công thậm chí có thể tạo bảng cầu vồng cho mật khẩu.

kelalaka avatar
lá cờ in
Chào mừng bạn đến với Cryptography.SE. Trước tiên, hãy đảm bảo rằng bạn hiểu rằng không có bảo mật nào bằng sự tối nghĩa. Không ai sẽ sử dụng hàm băm của bạn. Thứ hai, khi họ bắt đầu sử dụng, họ sẽ đánh cắp thiết kế. Thứ ba, làm thế nào bạn có thể tuyên bố rằng bạn có thể làm tốt hơn Argon2, v.v.?
kelalaka avatar
lá cờ in
Chúng ta có thể gọi đây là bản lừa đảo của [Sự khác biệt giữa mật mã công nghiệp và quân sự](https://crypto.stackexchange.com/q/62511/18298)
kelalaka avatar
lá cờ in
Và một cái khác; [Tại sao việc viết mã hóa của riêng bạn không được khuyến khích?](https://crypto.stackexchange.com/q/43272/18298)
Hargunbeer Singh avatar
lá cờ gb
Cảm ơn @kelalaka về tài nguyên
Điểm:2
lá cờ us

Mặc dù bạn có thể tạo hàm băm, mật mã đối xứng, lược đồ mã hóa khóa công khai, v.v. của riêng mình để không ai biết thiết kế của nó, nhưng có lẽ là một ý tưởng tồi khi dựa vào sự tối nghĩa (như @kelalaka đã nhận xét) để có được bảo mật.

Vào thế kỷ 19, Auguste Kerckhoffs đã phát biểu một nguyên tắc mà chúng ta gọi là "Nguyên lý Kerckhoffs":

một hệ thống mật mã phải được bảo mật ngay cả khi mọi thứ về hệ thống, ngoại trừ khóa, là kiến ​​thức công khai.

Ngoài ra, Châm ngôn của Shannon cũng được xây dựng trong thế kỷ 20 và nó nói rằng:

người ta phải thiết kế các hệ thống theo giả định rằng kẻ thù sẽ ngay lập tức hoàn toàn quen thuộc với chúng

Hay nói cách khác - khi bạn thiết kế một hệ thống để bảo mật, bạn phải cho rằng kẻ tấn công biết hệ thống hoạt động như thế nào.

Trong ví dụ của bạn về hàm băm độc quyền, kẻ tấn công bằng cách nào đó có thể truy cập vào phần mềm hoặc phần cứng tính toán hàm băm đó và sử dụng phân tích mật mã hoặc kỹ thuật ngược, kẻ tấn công sẽ quản lý để tìm ra các lỗ hổng như tấn công va chạm hoặc khôi phục trước hình ảnh kỹ xảo.

Một lý do khác để không dựa vào các kỹ thuật độc quyền hoặc bí mật là niềm tin của người tiêu dùng: Tại sao người tiêu dùng tin tưởng rằng bạn giữ an toàn cho mật khẩu (đã băm) của họ nếu bạn thừa nhận rằng bảo mật đến từ việc không biết cách triển khai?

Đây là lý do tại sao trong ngành công nghiệp, các nguyên hàm mật mã (hàm băm, mật mã, sơ đồ chữ ký, v.v.) thường chỉ được chấp nhận sau khi đã được cộng đồng khoa học xem xét kỹ lưỡng. Sau đó, các tiêu chuẩn và RFC đang được soạn thảo để các đại lý và nhà cung cấp dịch vụ có thể định lượng mức độ bảo mật của họ bằng cách cho biết họ tuân thủ tiêu chuẩn nào.

kelalaka avatar
lá cờ in
Kerckhoffs là người đầu tiên trong [các nguyên tắc của họ](https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle)
yacovm avatar
lá cờ us
Cảm ơn tôi đã thêm nó

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.