Tôi muốn thử nghiệm thuật toán mã hóa để tăng cường độ mạnh. Nó không phải là mạnh mẽ, nó chỉ có để chống lại tình cờ nứt và nói, một hacker xác định với 10 giờ để lãng phí. (Tôi đã viết the crypto algorithm. Có, tôi biết rằng đây thường là một ý tưởng tồi nhưng tôi nghĩ rằng tôi có lý do chính đáng.)Làm cách nào để kiểm tra chất lượng của thuật toán mã hóa?
Tôi nên làm những loại xét nghiệm nào? Cho đến nay tôi đã thử điều này:
- Tạo A. ngẫu nhiên
- Lật một chút ngẫu nhiên của A để làm cho B.
- Kiểm tra rằng số lượng 1s trong mã hóa (a) mã hóa XOR (b) phù hợp với phân phối Poisson (ngoại trừ XOR không bao giờ xuất ra 0).
Bất kỳ thử nghiệm được đề xuất nào khác?
Giới thiệu về mã hóa
Đó là một tiêu chuẩn Fiestel Cipher thiết kế để chạy trong 3ns và chịu hoàn toàn tổ hợp, không có đăng ký. (Đây là đơn đặt hàng của cường độ nhanh hơn DES/AES/etc) Tôi làm nhiều vòng như tôi có thể trong 3ns, mà chỉ là khoảng 6.
Đầu tiên tôi permute thứ tự của các bit đầu vào.
Sau đó, đối với mỗi bit ở nửa bên trái của đầu vào I XOR với đầu ra của hàm F. F có đầu vào 3 bit và đầu ra 1 bit. 3 bit đầu vào cho F được chọn từ nửa bên phải của đầu vào. Đầu ra của F là một hoán vị của {00001111} vì vậy F được cân bằng. 3 bit đầu vào cho F được chọn từ các bit ở nửa bên phải sao cho mỗi bit trên nửa bên phải được sử dụng cùng một số lần (hoặc càng gần càng tốt). Mỗi "F" được tạo ngẫu nhiên và độc lập một lần.
Tiếp theo, tôi hoán đổi nửa trái và phải của kết quả và thực hiện lại. Một lần nữa, "F" mới cho mỗi bit với đầu vào mới.
Tất cả chỉ là một vòng. Tôi làm điều đó 6 lần, mỗi vòng với các hàm F ngẫu nhiên, được tạo độc lập. 6 viên đạn mất khoảng 3ns. Tôi đã thử thay đổi số vòng và số lượng đầu vào cho F, quá.
Bạn có thể xuất bản nó như là thuật toán đằng sau một sản phẩm tiêu dùng mới mang tính cách mạng, nhằm loại bỏ hành vi trộm cắp danh tính. Điều đó sẽ khiến một số người cố gắng phá vỡ nó cho bạn;) –
Bạn có thể đăng toàn bộ thuật toán không? Tôi rất muốn có một cái nhìn vào nó. –
Từ câu hỏi khác của bạn, có vẻ như bạn không thực sự sau một mật mã, mỗi lần. Nếu đúng như vậy, hãy kiểm tra nó theo cách thống kê, giống như hàm băm. –