Híc. E đọc mà chẳng hiểuthuật toán này lấy đầu vào là cái nào
nhờ các cao thủ chỉ giúp. Đây là toàn bộ các bước của thuật toán:
Giả sử bản tin gốc có b bit.
B1:
Bản tin giốc đc mở rộng thêm các bit sao cho độ dài sau khi mở rộng + 64 bit nữa sẽ là bội số của 512. Quy tắc thêm là một bit "1" sẽ dc thêm vào trước và sau đó là các bit "0". Ở B1 ta có bản tin 1.
B2:
Một khối 64 bit đặc trưng trong b bit của bản tin 1 sẽ đc gắn vào sau bản tin 1 ta sẽ có bản tin 2 có chiều dài = bội số của 512 cũng là bội số của các từ 16 bit. Ta kí hiệu M[0,1,......,N-1] biểu thị các từ của bản tin 2 đc chia ra. N là một bội số của 16.
B3:
Một bộ đệm gồm 4 từ A,B,C,dc sử dụng để tính toán trích yếu bản tin, mỗi từ là một thanh ghi 32 bit, khởi tạo của các thanh ghi này là( Hexa):
A=01 23 45 67
B=89 ab cd ef
C=fe dc ba 98
D=76 54 32 10
B4:
Có 4 hàm phụ trợ đc sử dụng để tính toán trích yếu bản tin đc định nghĩa như sau (các hàm đều có đầu vào là 3 từ 32bit và ra là 1 từ 32 bit):
F(x,y,z)=(x and y) or (not(x) and z)
G(x,y,z)=(x and z) or (y and not(z))
I(x,y,z)=y xor (x or not(z))
H(x,y,z)=x xor y xor z
Kết quả thu đc là 1 trích yếu bản tin từ bản tin gốc, trích yếu dài 128 bit gồm 4 từ 32 bit A,B,C,D và đc bắt đầu = byte thấp nhất của A, kết thúc = byte cao nhất của D.
Trên đây là nguyên văn thuật toán mà mình tỉm hiểu trong 1 cuốn luận văn thạc sĩ. Híc, đọc mãi mà chẳng thấy bước nào liên quan tới bước nào cả.
Đùng 1 cái kết luận thu đc 4 từ chảng biết đầu vào là thằng nào.......
mong các bác tham gia góp ý bổ xung cho thuậy toán này hoàn thiện và chính xác.
nhờ các cao thủ chỉ giúp. Đây là toàn bộ các bước của thuật toán:
Giả sử bản tin gốc có b bit.
B1:
Bản tin giốc đc mở rộng thêm các bit sao cho độ dài sau khi mở rộng + 64 bit nữa sẽ là bội số của 512. Quy tắc thêm là một bit "1" sẽ dc thêm vào trước và sau đó là các bit "0". Ở B1 ta có bản tin 1.
B2:
Một khối 64 bit đặc trưng trong b bit của bản tin 1 sẽ đc gắn vào sau bản tin 1 ta sẽ có bản tin 2 có chiều dài = bội số của 512 cũng là bội số của các từ 16 bit. Ta kí hiệu M[0,1,......,N-1] biểu thị các từ của bản tin 2 đc chia ra. N là một bội số của 16.
B3:
Một bộ đệm gồm 4 từ A,B,C,dc sử dụng để tính toán trích yếu bản tin, mỗi từ là một thanh ghi 32 bit, khởi tạo của các thanh ghi này là( Hexa):
A=01 23 45 67
B=89 ab cd ef
C=fe dc ba 98
D=76 54 32 10
B4:
Có 4 hàm phụ trợ đc sử dụng để tính toán trích yếu bản tin đc định nghĩa như sau (các hàm đều có đầu vào là 3 từ 32bit và ra là 1 từ 32 bit):
F(x,y,z)=(x and y) or (not(x) and z)
G(x,y,z)=(x and z) or (y and not(z))
I(x,y,z)=y xor (x or not(z))
H(x,y,z)=x xor y xor z
Kết quả thu đc là 1 trích yếu bản tin từ bản tin gốc, trích yếu dài 128 bit gồm 4 từ 32 bit A,B,C,D và đc bắt đầu = byte thấp nhất của A, kết thúc = byte cao nhất của D.
Trên đây là nguyên văn thuật toán mà mình tỉm hiểu trong 1 cuốn luận văn thạc sĩ. Híc, đọc mãi mà chẳng thấy bước nào liên quan tới bước nào cả.
Đùng 1 cái kết luận thu đc 4 từ chảng biết đầu vào là thằng nào.......
mong các bác tham gia góp ý bổ xung cho thuậy toán này hoàn thiện và chính xác.
Comment